8481d4
# We have to override the new %%install behavior because, well... the kernel is special.
8481d4
%global __spec_install_pre %{___build_pre}
8481d4
8481d4
Summary: The Linux kernel
8481d4
8481d4
# % define buildid .local
8481d4
8481d4
# For a stable, released kernel, released_kernel should be 1. For rawhide
8481d4
# and/or a kernel built from an rc or git snapshot, released_kernel should
8481d4
# be 0.
8481d4
%global released_kernel 1
8481d4
8481d4
%define rpmversion 3.10.0
a4d734
%define pkgrelease 123.el7
8481d4
8481d4
%define pkg_release %{pkgrelease}%{?buildid}
8481d4
8481d4
# The kernel tarball/base version
8481d4
%define rheltarball %{rpmversion}-%{pkgrelease}
8481d4
8481d4
# What parts do we want to build?  We must build at least one kernel.
8481d4
# These are the kernels that are built IF the architecture allows it.
8481d4
# All should default to 1 (enabled) and be flipped to 0 (disabled)
8481d4
# by later arch-specific checks.
8481d4
8481d4
# The following build options are enabled by default.
8481d4
# Use either --without <opt> in your rpmbuild command or force values
8481d4
# to 0 in here to disable them.
8481d4
#
8481d4
# kernel
8481d4
%define with_default   %{?_without_default:   0} %{?!_without_default:   1}
8481d4
# kernel-debug
8481d4
%define with_debug     %{?_without_debug:     0} %{?!_without_debug:     1}
8481d4
# kernel-doc
8481d4
%define with_doc       %{?_without_doc:       0} %{?!_without_doc:       1}
8481d4
# kernel-headers
8481d4
%define with_headers   %{?_without_headers:   0} %{?!_without_headers:   1}
8481d4
# perf
8481d4
%define with_perf      %{?_without_perf:      0} %{?!_without_perf:      1}
8481d4
# tools
8481d4
%define with_tools     %{?_without_tools:     0} %{?!_without_tools:     1}
8481d4
# kernel-debuginfo
8481d4
%define with_debuginfo %{?_without_debuginfo: 0} %{?!_without_debuginfo: 1}
8481d4
# kernel-kdump (only for s390x)
8481d4
%define with_kdump     %{?_without_kdump:     0} %{?!_without_kdump:     0}
8481d4
# kernel-bootwrapper (for creating zImages from kernel + initrd)
8481d4
%define with_bootwrapper %{?_without_bootwrapper: 0} %{?!_without_bootwrapper: 0}
8481d4
# kernel-abi-whitelists
8481d4
%define with_kernel_abi_whitelists %{?_with_kernel_abi_whitelists: 0} %{?!_with_kernel_abi_whitelists: 1}
8481d4
8481d4
# Build the kernel-doc package, but don't fail the build if it botches.
8481d4
# Here "true" means "continue" and "false" means "fail the build".
8481d4
%if 0%{?released_kernel}
8481d4
%define doc_build_fail false
8481d4
%else
8481d4
%define doc_build_fail true
8481d4
%endif
8481d4
8481d4
%define rawhide_skip_docs 0
8481d4
%if 0%{?rawhide_skip_docs}
8481d4
%define with_doc 0
8481d4
%define doc_build_fail true
8481d4
%endif
8481d4
8481d4
# Additional options for user-friendly one-off kernel building:
8481d4
#
8481d4
# Only build the base kernel (--with baseonly):
8481d4
%define with_baseonly  %{?_with_baseonly:     1} %{?!_with_baseonly:     0}
8481d4
# Only build the debug kernel (--with dbgonly):
8481d4
%define with_dbgonly   %{?_with_dbgonly:      1} %{?!_with_dbgonly:      0}
8481d4
8481d4
# Control whether we perform a compat. check against published ABI.
8481d4
%define with_kabichk   %{?_without_kabichk:   0} %{?!_without_kabichk:   1}
8481d4
8481d4
# should we do C=1 builds with sparse
8481d4
%define with_sparse    %{?_with_sparse:       1} %{?!_with_sparse:       0}
8481d4
8481d4
# Cross compile requested?
8481d4
%define with_cross    %{?_with_cross:         1} %{?!_with_cross:        0}
8481d4
8481d4
# Set debugbuildsenabled to 1 for production (build separate debug kernels)
8481d4
#  and 0 for rawhide (all kernels are debug kernels).
8481d4
# See also 'make debug' and 'make release'.
8481d4
%define debugbuildsenabled 1
8481d4
8481d4
%define make_target bzImage
8481d4
2c514a
# Kernel Version Release + Arch -> KVRA
2c514a
%define KVRA %{version}-%{release}.%{_target_cpu}
2c514a
%define hdrarch %{_target_cpu}
2c514a
%define asmarch %{_target_cpu}
2c514a
%define cross_target %{_target_cpu}
8481d4
8481d4
%if !%{debugbuildsenabled}
8481d4
%define with_debug 0
8481d4
%endif
8481d4
8481d4
%if !%{with_debuginfo}
8481d4
%define _enable_debug_packages 0
8481d4
%endif
8481d4
%define debuginfodir /usr/lib/debug
8481d4
8481d4
# if requested, only build base kernel
8481d4
%if %{with_baseonly}
8481d4
%define with_debug 0
8481d4
%define with_kdump 0
8481d4
%endif
8481d4
8481d4
# if requested, only build debug kernel
8481d4
%if %{with_dbgonly}
8481d4
%define with_default 0
8481d4
%define with_kdump 0
8481d4
%define with_tools 0
8481d4
%define with_perf 0
8481d4
%endif
8481d4
8481d4
# These arches install vdso/ directories.
8481d4
%define vdso_arches %{all_x86} x86_64 ppc ppc64 s390 s390x
8481d4
8481d4
# Overrides for generic default options
8481d4
8481d4
# only build kernel-debug on x86_64, s390x, ppc64
8481d4
%ifnarch x86_64 s390x ppc64
8481d4
%define with_debug 0
8481d4
%endif
8481d4
8481d4
# only package docs noarch
8481d4
%ifnarch noarch
8481d4
%define with_doc 0
8481d4
%define with_kernel_abi_whitelists 0
8481d4
%endif
8481d4
8481d4
# don't build noarch kernels or headers (duh)
8481d4
%ifarch noarch
8481d4
%define with_default 0
8481d4
%define with_headers 0
8481d4
%define with_tools 0
8481d4
%define with_perf 0
8481d4
%define all_arch_configs kernel-%{version}-*.config
8481d4
%endif
8481d4
8481d4
# sparse blows up on ppc64
8481d4
%ifarch ppc64 ppc
8481d4
%define with_sparse 0
8481d4
%endif
8481d4
8481d4
# Per-arch tweaks
8481d4
8481d4
%ifarch i686
8481d4
%define asmarch x86
8481d4
%define hdrarch i386
8481d4
%endif
8481d4
8481d4
%ifarch x86_64
8481d4
%define asmarch x86
8481d4
%define all_arch_configs kernel-%{version}-x86_64*.config
8481d4
%define image_install_path boot
8481d4
%define kernel_image arch/x86/boot/bzImage
8481d4
%endif
8481d4
8481d4
%ifarch ppc
8481d4
%define asmarch powerpc
8481d4
%define hdrarch powerpc
8481d4
%endif
8481d4
8481d4
%ifarch ppc64
8481d4
%define asmarch powerpc
8481d4
%define hdrarch powerpc
8481d4
%define all_arch_configs kernel-%{version}-ppc64*.config
8481d4
%define image_install_path boot
8481d4
%define make_target vmlinux
8481d4
%define kernel_image vmlinux
8481d4
%define kernel_image_elf 1
8481d4
%define with_bootwrapper 1
2c514a
%define cross_target powerpc64
2c514a
%define kcflags -O3
8481d4
%endif
8481d4
8481d4
%ifarch s390x
8481d4
%define asmarch s390
8481d4
%define hdrarch s390
8481d4
%define all_arch_configs kernel-%{version}-s390x*.config
8481d4
%define image_install_path boot
2c514a
%define kernel_image arch/s390/boot/bzImage
8481d4
%define with_tools 0
8481d4
%define with_kdump 1
8481d4
%endif
8481d4
2c514a
#cross compile make
2c514a
%if %{with_cross}
2c514a
%define cross_opts CROSS_COMPILE=%{cross_target}-linux-gnu-
2c514a
%define with_perf 0
2c514a
%define with_tools 0
2c514a
%endif
2c514a
8481d4
# Should make listnewconfig fail if there's config options
8481d4
# printed out?
8481d4
%define listnewconfig_fail 1
8481d4
8481d4
# To temporarily exclude an architecture from being built, add it to
8481d4
# %%nobuildarches. Do _NOT_ use the ExclusiveArch: line, because if we
8481d4
# don't build kernel-headers then the new build system will no longer let
8481d4
# us use the previous build of that package -- it'll just be completely AWOL.
8481d4
# Which is a BadThing(tm).
8481d4
8481d4
# We only build kernel-headers on the following...
8481d4
%define nobuildarches i686 s390 ppc
8481d4
8481d4
%ifarch %nobuildarches
8481d4
%define with_default 0
8481d4
%define with_debuginfo 0
8481d4
%define with_kdump 0
8481d4
%define with_tools 0
8481d4
%define with_perf 0
8481d4
%define _enable_debug_packages 0
8481d4
%endif
8481d4
8481d4
# Architectures we build tools/cpupower on
8481d4
%define cpupowerarchs x86_64 ppc64
8481d4
8481d4
#
8481d4
# Three sets of minimum package version requirements in the form of Conflicts:
8481d4
# to versions below the minimum
8481d4
#
8481d4
8481d4
#
8481d4
# First the general kernel 2.6 required versions as per
8481d4
# Documentation/Changes
8481d4
#
8481d4
%define kernel_dot_org_conflicts  ppp < 2.4.3-3, isdn4k-utils < 3.2-32, nfs-utils < 1.0.7-12, e2fsprogs < 1.37-4, util-linux < 2.12, jfsutils < 1.1.7-2, reiserfs-utils < 3.6.19-2, xfsprogs < 2.6.13-4, procps < 3.2.5-6.3, oprofile < 0.9.1-2, device-mapper-libs < 1.02.63-2, mdadm < 3.2.1-5
8481d4
8481d4
#
8481d4
# Then a series of requirements that are distribution specific, either
8481d4
# because we add patches for something, or the older versions have
8481d4
# problems with the newer kernel or lack certain things that make
8481d4
# integration in the distro harder than needed.
8481d4
#
8481d4
%define package_conflicts initscripts < 7.23, udev < 063-6, iptables < 1.3.2-1, ipw2200-firmware < 2.4, iwl4965-firmware < 228.57.2, selinux-policy-targeted < 1.25.3-14, squashfs-tools < 4.0, wireless-tools < 29-3
8481d4
8481d4
# We moved the drm include files into kernel-headers, make sure there's
8481d4
# a recent enough libdrm-devel on the system that doesn't have those.
8481d4
%define kernel_headers_conflicts libdrm-devel < 2.4.0-0.15
8481d4
8481d4
#
8481d4
# Packages that need to be installed before the kernel is, because the %%post
8481d4
# scripts use them.
8481d4
#
8481d4
%define kernel_prereq  fileutils, module-init-tools >= 3.16-2, initscripts >= 8.11.1-1, grubby >= 8.28-2
8481d4
%define initrd_prereq  dracut >= 001-7
8481d4
8481d4
#
8481d4
# This macro does requires, provides, conflicts, obsoletes for a kernel package.
8481d4
#	%%kernel_reqprovconf <subpackage>
8481d4
# It uses any kernel_<subpackage>_conflicts and kernel_<subpackage>_obsoletes
8481d4
# macros defined above.
8481d4
#
8481d4
%define kernel_reqprovconf \
8481d4
Provides: kernel = %{rpmversion}-%{pkg_release}\
8481d4
Provides: kernel-%{_target_cpu} = %{rpmversion}-%{pkg_release}%{?1:.%{1}}\
8481d4
Provides: kernel-drm = 4.3.0\
8481d4
Provides: kernel-drm-nouveau = 16\
8481d4
Provides: kernel-modeset = 1\
2c514a
Provides: kernel-uname-r = %{KVRA}%{?1:.%{1}}\
8481d4
Requires(pre): %{kernel_prereq}\
8481d4
Requires(pre): %{initrd_prereq}\
8481d4
Requires(pre): linux-firmware >= 20100806-2\
8481d4
Requires(post): %{_sbindir}/new-kernel-pkg\
8481d4
Requires(preun): %{_sbindir}/new-kernel-pkg\
8481d4
Conflicts: %{kernel_dot_org_conflicts}\
8481d4
Conflicts: %{package_conflicts}\
8481d4
%{expand:%%{?kernel%{?1:_%{1}}_conflicts:Conflicts: %%{kernel%{?1:_%{1}}_conflicts}}}\
8481d4
%{expand:%%{?kernel%{?1:_%{1}}_obsoletes:Obsoletes: %%{kernel%{?1:_%{1}}_obsoletes}}}\
8481d4
%{expand:%%{?kernel%{?1:_%{1}}_provides:Provides: %%{kernel%{?1:_%{1}}_provides}}}\
8481d4
# We can't let RPM do the dependencies automatic because it'll then pick up\
8481d4
# a correct but undesirable perl dependency from the module headers which\
8481d4
# isn't required for the kernel proper to function\
8481d4
AutoReq: no\
8481d4
AutoProv: yes\
8481d4
%{nil}
8481d4
8481d4
Name: kernel%{?variant}
8481d4
Group: System Environment/Kernel
8481d4
License: GPLv2
8481d4
URL: http://www.kernel.org/
8481d4
Version: %{rpmversion}
8481d4
Release: %{pkg_release}
8481d4
# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
8481d4
# SET %%nobuildarches (ABOVE) INSTEAD
8481d4
ExclusiveArch: noarch i686 x86_64 ppc ppc64 s390 s390x
8481d4
ExclusiveOS: Linux
8481d4
8481d4
%kernel_reqprovconf
8481d4
8481d4
#
8481d4
# List the packages used during the kernel build
8481d4
#
8481d4
BuildRequires: module-init-tools, patch >= 2.5.4, bash >= 2.03, sh-utils, tar
8481d4
BuildRequires: xz, findutils, gzip, m4, perl, make >= 3.78, diffutils, gawk
8481d4
BuildRequires: gcc >= 3.4.2, binutils >= 2.12, redhat-rpm-config >= 9.1.0-55
8481d4
BuildRequires: hostname, net-tools, bc
8481d4
BuildRequires: xmlto, asciidoc
8481d4
BuildRequires: openssl
8481d4
BuildRequires: hmaccalc
8481d4
%ifarch x86_64
8481d4
BuildRequires: pesign >= 0.109-4
8481d4
%endif
8481d4
%if %{with_sparse}
8481d4
BuildRequires: sparse >= 0.4.1
8481d4
%endif
8481d4
%if %{with_perf}
8481d4
BuildRequires: elfutils-devel zlib-devel binutils-devel newt-devel python-devel perl(ExtUtils::Embed) bison
8481d4
BuildRequires: audit-libs-devel
2c514a
%ifnarch s390 s390x
2c514a
BuildRequires: numactl-devel
2c514a
%endif
8481d4
%endif
8481d4
%if %{with_tools}
8481d4
BuildRequires: pciutils-devel gettext
8481d4
%endif
8481d4
%if %{with_debuginfo}
8481d4
# Fancy new debuginfo generation introduced in Fedora 8/RHEL 6.
8481d4
# The -r flag to find-debuginfo.sh invokes eu-strip --reloc-debug-sections
8481d4
# which reduces the number of relocations in kernel module .ko.debug files and
8481d4
# was introduced with rpm 4.9 and elfutils 0.153.
2c514a
BuildRequires: rpm-build >= 4.9.0-1, elfutils >= 0.153-1
8481d4
%define debuginfo_args --strict-build-id -r
8481d4
%endif
8481d4
%ifarch s390x
8481d4
# required for zfcpdump
8481d4
BuildRequires: glibc-static
8481d4
%endif
8481d4
8481d4
Source0: linux-%{rpmversion}-%{pkgrelease}.tar.xz
8481d4
8481d4
Source1: Makefile.common
8481d4
8481d4
Source10: sign-modules
8481d4
%define modsign_cmd %{SOURCE10}
8481d4
Source11: x509.genkey
8481d4
Source12: extra_certificates
Karanbir Singh df32f9
Source13: centos.cer
2c514a
Source15: rheldup3.x509
2c514a
Source16: rhelkpatch1.x509
8481d4
8481d4
Source18: check-kabi
8481d4
8481d4
Source20: Module.kabi_x86_64
8481d4
Source21: Module.kabi_ppc64
8481d4
Source22: Module.kabi_s390x
8481d4
8481d4
Source23: kabi_whitelist_ppc64
8481d4
Source24: kabi_whitelist_s390x
8481d4
Source25: kabi_whitelist_x86_64
8481d4
8481d4
Source50: kernel-%{version}-x86_64.config
8481d4
Source51: kernel-%{version}-x86_64-debug.config
8481d4
8481d4
Source60: kernel-%{version}-ppc64.config
8481d4
Source61: kernel-%{version}-ppc64-debug.config
8481d4
8481d4
Source70: kernel-%{version}-s390x.config
8481d4
Source71: kernel-%{version}-s390x-debug.config
8481d4
Source72: kernel-%{version}-s390x-kdump.config
8481d4
8481d4
# Sources for kernel-tools
8481d4
Source2000: cpupower.service
8481d4
Source2001: cpupower.config
8481d4
d96cc7
# branding patches
d96cc7
Patch1001: debrand-single-cpu.patch
d96cc7
Patch1002: debrand-rh_taint.patch
d96cc7
8481d4
# empty final patch to facilitate testing of kernel patches
8481d4
Patch999999: linux-kernel-test.patch
8481d4
2c514a
BuildRoot: %{_tmppath}/kernel-%{KVRA}-root
8481d4
8481d4
%description
8481d4
The kernel package contains the Linux kernel (vmlinuz), the core of any
8481d4
Linux operating system.  The kernel handles the basic functions
8481d4
of the operating system: memory allocation, process allocation, device
8481d4
input and output, etc.
8481d4
8481d4
8481d4
%package doc
8481d4
Summary: Various documentation bits found in the kernel source
8481d4
Group: Documentation
8481d4
%description doc
8481d4
This package contains documentation files from the kernel
8481d4
source. Various bits of information about the Linux kernel and the
8481d4
device drivers shipped with it are documented in these files.
8481d4
8481d4
You'll want to install this package if you need a reference to the
8481d4
options that can be passed to Linux kernel modules at load time.
8481d4
8481d4
8481d4
%package headers
8481d4
Summary: Header files for the Linux kernel for use by glibc
8481d4
Group: Development/System
8481d4
Obsoletes: glibc-kernheaders < 3.0-46
8481d4
Provides: glibc-kernheaders = 3.0-46
8481d4
%description headers
8481d4
Kernel-headers includes the C header files that specify the interface
8481d4
between the Linux kernel and userspace libraries and programs.  The
8481d4
header files define structures and constants that are needed for
8481d4
building most standard programs and are also needed for rebuilding the
8481d4
glibc package.
8481d4
8481d4
%package bootwrapper
8481d4
Summary: Boot wrapper files for generating combined kernel + initrd images
8481d4
Group: Development/System
8481d4
Requires: gzip binutils
8481d4
%description bootwrapper
8481d4
Kernel-bootwrapper contains the wrapper code which makes bootable "zImage"
8481d4
files combining both kernel and initial ramdisk.
8481d4
8481d4
%package debuginfo-common-%{_target_cpu}
8481d4
Summary: Kernel source files used by %{name}-debuginfo packages
8481d4
Group: Development/Debug
8481d4
%description debuginfo-common-%{_target_cpu}
8481d4
This package is required by %{name}-debuginfo subpackages.
8481d4
It provides the kernel source files common to all builds.
8481d4
8481d4
%if %{with_perf}
8481d4
%package -n perf
8481d4
Summary: Performance monitoring for the Linux kernel
8481d4
Group: Development/System
8481d4
License: GPLv2
8481d4
%description -n perf
8481d4
This package contains the perf tool, which enables performance monitoring
8481d4
of the Linux kernel.
8481d4
8481d4
%package -n perf-debuginfo
8481d4
Summary: Debug information for package perf
8481d4
Group: Development/Debug
8481d4
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
8481d4
AutoReqProv: no
8481d4
%description -n perf-debuginfo
8481d4
This package provides debug information for the perf package.
8481d4
8481d4
# Note that this pattern only works right to match the .build-id
8481d4
# symlinks because of the trailing nonmatching alternation and
8481d4
# the leading .*, because of find-debuginfo.sh's buggy handling
8481d4
# of matching the pattern against the symlinks file.
8481d4
%{expand:%%global debuginfo_args %{?debuginfo_args} -p '.*%%{_bindir}/perf(\.debug)?|.*%%{_libexecdir}/perf-core/.*|XXX' -o perf-debuginfo.list}
8481d4
8481d4
%package -n python-perf
8481d4
Summary: Python bindings for apps which will manipulate perf events
8481d4
Group: Development/Libraries
8481d4
%description -n python-perf
8481d4
The python-perf package contains a module that permits applications
8481d4
written in the Python programming language to use the interface
8481d4
to manipulate perf events.
8481d4
8481d4
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
8481d4
8481d4
%package -n python-perf-debuginfo
8481d4
Summary: Debug information for package perf python bindings
8481d4
Group: Development/Debug
8481d4
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
8481d4
AutoReqProv: no
8481d4
%description -n python-perf-debuginfo
8481d4
This package provides debug information for the perf python bindings.
8481d4
8481d4
# the python_sitearch macro should already be defined from above
8481d4
%{expand:%%global debuginfo_args %{?debuginfo_args} -p '.*%%{python_sitearch}/perf.so(\.debug)?|XXX' -o python-perf-debuginfo.list}
8481d4
8481d4
8481d4
%endif # with_perf
8481d4
8481d4
%if %{with_tools}
8481d4
8481d4
%package -n kernel-tools
8481d4
Summary: Assortment of tools for the Linux kernel
8481d4
Group: Development/System
8481d4
License: GPLv2
8481d4
Provides:  cpupowerutils = 1:009-0.6.p1
8481d4
Obsoletes: cpupowerutils < 1:009-0.6.p1
8481d4
Provides:  cpufreq-utils = 1:009-0.6.p1
8481d4
Provides:  cpufrequtils = 1:009-0.6.p1
8481d4
Obsoletes: cpufreq-utils < 1:009-0.6.p1
8481d4
Obsoletes: cpufrequtils < 1:009-0.6.p1
2c514a
Obsoletes: cpuspeed < 1:2.0
8481d4
Requires: kernel-tools-libs = %{version}-%{release}
8481d4
%description -n kernel-tools
8481d4
This package contains the tools/ directory from the kernel source
8481d4
and the supporting documentation.
8481d4
8481d4
%package -n kernel-tools-libs
8481d4
Summary: Libraries for the kernels-tools
8481d4
Group: Development/System
8481d4
License: GPLv2
8481d4
%description -n kernel-tools-libs
8481d4
This package contains the libraries built from the tools/ directory
8481d4
from the kernel source.
8481d4
8481d4
%package -n kernel-tools-libs-devel
8481d4
Summary: Assortment of tools for the Linux kernel
8481d4
Group: Development/System
8481d4
License: GPLv2
8481d4
Requires: kernel-tools = %{version}-%{release}
8481d4
Provides:  cpupowerutils-devel = 1:009-0.6.p1
8481d4
Obsoletes: cpupowerutils-devel < 1:009-0.6.p1
8481d4
Requires: kernel-tools-libs = %{version}-%{release}
8481d4
Provides: kernel-tools-devel
8481d4
%description -n kernel-tools-libs-devel
8481d4
This package contains the development files for the tools/ directory from
8481d4
the kernel source.
8481d4
8481d4
%package -n kernel-tools-debuginfo
8481d4
Summary: Debug information for package kernel-tools
8481d4
Group: Development/Debug
8481d4
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
8481d4
AutoReqProv: no
8481d4
%description -n kernel-tools-debuginfo
8481d4
This package provides debug information for package kernel-tools.
8481d4
8481d4
# Note that this pattern only works right to match the .build-id
8481d4
# symlinks because of the trailing nonmatching alternation and
8481d4
# the leading .*, because of find-debuginfo.sh's buggy handling
8481d4
# of matching the pattern against the symlinks file.
8481d4
%{expand:%%global debuginfo_args %{?debuginfo_args} -p '.*%%{_bindir}/centrino-decode(\.debug)?|.*%%{_bindir}/powernow-k8-decode(\.debug)?|.*%%{_bindir}/cpupower(\.debug)?|.*%%{_libdir}/libcpupower.*|.*%%{_libdir}/libcpupower.*|.*%%{_bindir}/turbostat(\.debug)?|.*%%{_bindir}/x86_energy_perf_policy(\.debug)?|XXX' -o kernel-tools-debuginfo.list}
8481d4
8481d4
%endif # with_tools
8481d4
8481d4
%package -n kernel-abi-whitelists
8481d4
Summary: The Red Hat Enterprise Linux kernel ABI symbol whitelists
8481d4
Group: System Environment/Kernel
8481d4
AutoReqProv: no
8481d4
%description -n kernel-abi-whitelists
8481d4
The kABI package contains information pertaining to the Red Hat Enterprise
8481d4
Linux kernel ABI, including lists of kernel symbols that are needed by
8481d4
external Linux kernel modules, and a yum plugin to aid enforcement.
8481d4
8481d4
#
8481d4
# This macro creates a kernel-<subpackage>-debuginfo package.
8481d4
#	%%kernel_debuginfo_package <subpackage>
8481d4
#
8481d4
%define kernel_debuginfo_package() \
8481d4
%package %{?1:%{1}-}debuginfo\
8481d4
Summary: Debug information for package %{name}%{?1:-%{1}}\
8481d4
Group: Development/Debug\
8481d4
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}\
8481d4
Provides: %{name}%{?1:-%{1}}-debuginfo-%{_target_cpu} = %{version}-%{release}\
8481d4
AutoReqProv: no\
8481d4
%description -n %{name}%{?1:-%{1}}-debuginfo\
8481d4
This package provides debug information for package %{name}%{?1:-%{1}}.\
2c514a
This is required to use SystemTap with %{name}%{?1:-%{1}}-%{KVRA}.\
2c514a
%{expand:%%global debuginfo_args %{?debuginfo_args} -p '/.*/%%{KVRA}%{?1:\.%{1}}/.*|/.*%%{KVRA}%{?1:\.%{1}}(\.debug)?' -o debuginfo%{?1}.list}\
8481d4
%{nil}
8481d4
8481d4
#
8481d4
# This macro creates a kernel-<subpackage>-devel package.
8481d4
#	%%kernel_devel_package <subpackage> <pretty-name>
8481d4
#
8481d4
%define kernel_devel_package() \
8481d4
%package %{?1:%{1}-}devel\
8481d4
Summary: Development package for building kernel modules to match the %{?2:%{2} }kernel\
8481d4
Group: System Environment/Kernel\
8481d4
Provides: kernel%{?1:-%{1}}-devel-%{_target_cpu} = %{version}-%{release}\
8481d4
Provides: kernel-devel-%{_target_cpu} = %{version}-%{release}%{?1:.%{1}}\
8481d4
Provides: kernel-devel = %{version}-%{release}%{?1:.%{1}}\
2c514a
Provides: kernel-devel-uname-r = %{KVRA}%{?1:.%{1}}\
8481d4
AutoReqProv: no\
8481d4
Requires(pre): /usr/bin/find\
8481d4
Requires: perl\
8481d4
%description -n kernel%{?variant}%{?1:-%{1}}-devel\
8481d4
This package provides kernel headers and makefiles sufficient to build modules\
8481d4
against the %{?2:%{2} }kernel package.\
8481d4
%{nil}
8481d4
8481d4
#
8481d4
# This macro creates a kernel-<subpackage> and its -devel and -debuginfo too.
8481d4
#	%%define variant_summary The Linux kernel compiled for <configuration>
8481d4
#	%%kernel_variant_package [-n <pretty-name>] <subpackage>
8481d4
#
8481d4
%define kernel_variant_package(n:) \
8481d4
%package %1\
8481d4
Summary: %{variant_summary}\
8481d4
Group: System Environment/Kernel\
8481d4
%kernel_reqprovconf\
8481d4
%{expand:%%kernel_devel_package %1 %{!?-n:%1}%{?-n:%{-n*}}}\
8481d4
%{expand:%%kernel_debuginfo_package %1}\
8481d4
%{nil}
8481d4
8481d4
8481d4
# First the auxiliary packages of the main kernel package.
8481d4
%kernel_devel_package
8481d4
%kernel_debuginfo_package
8481d4
8481d4
8481d4
# Now, each variant package.
8481d4
8481d4
%define variant_summary The Linux kernel compiled with extra debugging enabled
8481d4
%kernel_variant_package debug
8481d4
%description debug
8481d4
The kernel package contains the Linux kernel (vmlinuz), the core of any
8481d4
Linux operating system.  The kernel handles the basic functions
8481d4
of the operating system:  memory allocation, process allocation, device
8481d4
input and output, etc.
8481d4
8481d4
This variant of the kernel has numerous debugging options enabled.
8481d4
It should only be installed when trying to gather additional information
8481d4
on kernel bugs, as some of these options impact performance noticably.
8481d4
8481d4
%define variant_summary A minimal Linux kernel compiled for crash dumps
8481d4
%kernel_variant_package kdump
8481d4
%description kdump
8481d4
This package includes a kdump version of the Linux kernel. It is
8481d4
required only on machines which will use the kexec-based kernel crash dump
8481d4
mechanism.
8481d4
8481d4
%prep
8481d4
# do a few sanity-checks for --with *only builds
8481d4
%if %{with_baseonly}
8481d4
%if !%{with_default}
8481d4
echo "Cannot build --with baseonly, default kernel build is disabled"
8481d4
exit 1
8481d4
%endif
8481d4
%endif
8481d4
8481d4
# more sanity checking; do it quietly
8481d4
if [ "%{patches}" != "%%{patches}" ] ; then
8481d4
  for patch in %{patches} ; do
8481d4
    if [ ! -f $patch ] ; then
8481d4
      echo "ERROR: Patch  ${patch##/*/}  listed in specfile but is missing"
8481d4
      exit 1
8481d4
    fi
8481d4
  done
8481d4
fi 2>/dev/null
8481d4
8481d4
patch_command='patch -p1 -F1 -s'
8481d4
ApplyPatch()
8481d4
{
8481d4
  local patch=$1
8481d4
  shift
8481d4
  if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
8481d4
    exit 1
8481d4
  fi
8481d4
  if ! grep -E "^Patch[0-9]+: $patch\$" %{_specdir}/${RPM_PACKAGE_NAME%%%%%{?variant}}.spec ; then
8481d4
    if [ "${patch:0:8}" != "patch-3." ] ; then
8481d4
      echo "ERROR: Patch  $patch  not listed as a source patch in specfile"
8481d4
      exit 1
8481d4
    fi
8481d4
  fi 2>/dev/null
8481d4
  case "$patch" in
8481d4
  *.bz2) bunzip2 < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
8481d4
  *.gz) gunzip < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
8481d4
  *) $patch_command ${1+"$@"} < "$RPM_SOURCE_DIR/$patch" ;;
8481d4
  esac
8481d4
}
8481d4
8481d4
# don't apply patch if it's empty
8481d4
ApplyOptionalPatch()
8481d4
{
8481d4
  local patch=$1
8481d4
  shift
8481d4
  if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
8481d4
    exit 1
8481d4
  fi
8481d4
  local C=$(wc -l $RPM_SOURCE_DIR/$patch | awk '{print $1}')
8481d4
  if [ "$C" -gt 9 ]; then
8481d4
    ApplyPatch $patch ${1+"$@"}
8481d4
  fi
8481d4
}
8481d4
8481d4
%setup -q -n kernel-%{rheltarball} -c
2c514a
mv linux-%{rheltarball} linux-%{KVRA}
2c514a
cd linux-%{KVRA}
8481d4
8481d4
# Drop some necessary files from the source dir into the buildroot
2c514a
cp $RPM_SOURCE_DIR/kernel-%{version}-*.config .
8481d4
d96cc7
# CentOS Branding Modification
d96cc7
ApplyOptionalPatch debrand-rh_taint.patch
d96cc7
ApplyOptionalPatch debrand-single-cpu.patch
d96cc7
# End of CentOS Modification
d96cc7
8481d4
ApplyOptionalPatch linux-kernel-test.patch
8481d4
8481d4
# Any further pre-build tree manipulations happen here.
8481d4
8481d4
chmod +x scripts/checkpatch.pl
8481d4
8481d4
# This Prevents scripts/setlocalversion from mucking with our version numbers.
8481d4
touch .scmversion
8481d4
8481d4
# only deal with configs if we are going to build for the arch
8481d4
%ifnarch %nobuildarches
8481d4
8481d4
if [ -L configs ]; then
8481d4
	rm -f configs
8481d4
	mkdir configs
8481d4
fi
8481d4
8481d4
# Remove configs not for the buildarch
8481d4
for cfg in kernel-%{version}-*.config; do
8481d4
  if [ `echo %{all_arch_configs} | grep -c $cfg` -eq 0 ]; then
8481d4
    rm -f $cfg
8481d4
  fi
8481d4
done
8481d4
8481d4
%if !%{debugbuildsenabled}
8481d4
rm -f kernel-%{version}-*debug.config
8481d4
%endif
8481d4
8481d4
# now run oldconfig over all the config files
8481d4
for i in *.config
8481d4
do
8481d4
  mv $i .config
8481d4
  Arch=`head -1 .config | cut -b 3-`
8481d4
  make %{?cross_opts} ARCH=$Arch listnewconfig | grep -E '^CONFIG_' >.newoptions || true
8481d4
%if %{listnewconfig_fail}
8481d4
  if [ -s .newoptions ]; then
8481d4
    cat .newoptions
8481d4
    exit 1
8481d4
  fi
8481d4
%endif
8481d4
  rm -f .newoptions
8481d4
  make %{?cross_opts} ARCH=$Arch oldnoconfig
8481d4
  echo "# $Arch" > configs/$i
8481d4
  cat .config >> configs/$i
8481d4
done
8481d4
# end of kernel config
8481d4
%endif
8481d4
8481d4
# get rid of unwanted files resulting from patch fuzz
8481d4
find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
8481d4
8481d4
# remove unnecessary SCM files
8481d4
find . -name .gitignore -exec rm -f {} \; >/dev/null
8481d4
8481d4
cd ..
8481d4
8481d4
###
8481d4
### build
8481d4
###
8481d4
%build
8481d4
8481d4
%if %{with_sparse}
8481d4
%define sparse_mflags	C=1
8481d4
%endif
8481d4
8481d4
%if %{with_debuginfo}
8481d4
# This override tweaks the kernel makefiles so that we run debugedit on an
8481d4
# object before embedding it.  When we later run find-debuginfo.sh, it will
8481d4
# run debugedit again.  The edits it does change the build ID bits embedded
8481d4
# in the stripped object, but repeating debugedit is a no-op.  We do it
8481d4
# beforehand to get the proper final build ID bits into the embedded image.
8481d4
# This affects the vDSO images in vmlinux, and the vmlinux image in bzImage.
2c514a
export AFTER_LINK='sh -xc "/usr/lib/rpm/debugedit -b $$RPM_BUILD_DIR -d /usr/src/debug -i $@ > $@.id"'
8481d4
%endif
8481d4
8481d4
cp_vmlinux()
8481d4
{
8481d4
  eu-strip --remove-comment -o "$2" "$1"
8481d4
}
8481d4
8481d4
BuildKernel() {
8481d4
    MakeTarget=$1
8481d4
    KernelImage=$2
8481d4
    Flavour=$3
8481d4
    InstallName=${4:-vmlinuz}
8481d4
8481d4
    # Pick the right config file for the kernel we're building
8481d4
    Config=kernel-%{version}-%{_target_cpu}${Flavour:+-${Flavour}}.config
2c514a
    DevelDir=/usr/src/kernels/%{KVRA}${Flavour:+.${Flavour}}
8481d4
8481d4
    # When the bootable image is just the ELF kernel, strip it.
8481d4
    # We already copy the unstripped file into the debuginfo package.
8481d4
    if [ "$KernelImage" = vmlinux ]; then
8481d4
      CopyKernel=cp_vmlinux
8481d4
    else
8481d4
      CopyKernel=cp
8481d4
    fi
8481d4
2c514a
    KernelVer=%{KVRA}${Flavour:+.${Flavour}}
8481d4
    echo BUILDING A KERNEL FOR ${Flavour} %{_target_cpu}...
8481d4
8481d4
    # make sure EXTRAVERSION says what we want it to say
8481d4
    perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.%{_target_cpu}${Flavour:+.${Flavour}}/" Makefile
8481d4
8481d4
    # and now to start the build process
8481d4
8481d4
    make %{?cross_opts} -s mrproper
8481d4
8481d4
    cp %{SOURCE11} .	# x509.genkey
8481d4
    cp %{SOURCE12} .	# extra_certificates
2c514a
    cp %{SOURCE15} .	# rheldup3.x509
2c514a
    cp %{SOURCE16} .	# rhelkpatch1.x509
8481d4
8481d4
    cp configs/$Config .config
8481d4
8481d4
    Arch=`head -1 .config | cut -b 3-`
8481d4
    echo USING ARCH=$Arch
8481d4
8481d4
%ifarch s390x
8481d4
    if [ "$Flavour" == "kdump" ]; then
8481d4
        pushd arch/s390/boot
8481d4
        gcc -static -o zfcpdump zfcpdump.c
8481d4
        popd
8481d4
    fi
8481d4
%endif
8481d4
8481d4
    make -s %{?cross_opts} ARCH=$Arch oldnoconfig >/dev/null
2c514a
    make -s %{?cross_opts} ARCH=$Arch V=1 %{?_smp_mflags} KCFLAGS="%{?kcflags}" $MakeTarget %{?sparse_mflags}
8481d4
8481d4
    if [ "$Flavour" != "kdump" ]; then
2c514a
        make -s %{?cross_opts} ARCH=$Arch V=1 %{?_smp_mflags} KCFLAGS="%{?kcflags}" modules %{?sparse_mflags} || exit 1
8481d4
    fi
8481d4
8481d4
    # Start installing the results
8481d4
%if %{with_debuginfo}
8481d4
    mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/boot
8481d4
    mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/%{image_install_path}
8481d4
%endif
8481d4
    mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
8481d4
    install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer
8481d4
    install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer
8481d4
8481d4
    # We estimate the size of the initramfs because rpm needs to take this size
8481d4
    # into consideration when performing disk space calculations. (See bz #530778)
8481d4
    dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-$KernelVer.img bs=1M count=20
8481d4
8481d4
    if [ -f arch/$Arch/boot/zImage.stub ]; then
8481d4
      cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
8481d4
    fi
8481d4
# EFI SecureBoot signing, x86_64-only
8481d4
%ifarch x86_64
Karanbir Singh df32f9
    %pesign -s -i $KernelImage -o $KernelImage.signed -a %{SOURCE13} -c %{SOURCE13}-n redhatsecureboot301
8481d4
    mv $KernelImage.signed $KernelImage
8481d4
%endif
2c514a
    $CopyKernel $KernelImage $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
8481d4
    chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
8481d4
8481d4
    # hmac sign the kernel for FIPS
8481d4
    echo "Creating hmac file: $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac"
8481d4
    ls -l $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
8481d4
    sha512hmac $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer | sed -e "s,$RPM_BUILD_ROOT,," > $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac;
8481d4
8481d4
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
8481d4
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/kernel
8481d4
    if [ "$Flavour" != "kdump" ]; then
8481d4
        # Override $(mod-fw) because we don't want it to install any firmware
8481d4
        # we'll get it from the linux-firmware package and we don't want conflicts
8481d4
        make -s %{?cross_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
8481d4
    fi
8481d4
%ifarch %{vdso_arches}
8481d4
    make -s %{?cross_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
8481d4
    if [ ! -s ldconfig-kernel.conf ]; then
8481d4
      echo > ldconfig-kernel.conf "\
8481d4
# Placeholder file, no vDSO hwcap entries used in this kernel."
8481d4
    fi
2c514a
    %{__install} -D -m 444 ldconfig-kernel.conf $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-$KernelVer.conf
8481d4
%endif
8481d4
8481d4
    # And save the headers/makefiles etc for building modules against
8481d4
    #
8481d4
    # This all looks scary, but the end result is supposed to be:
8481d4
    # * all arch relevant include/ files
8481d4
    # * all Makefile/Kconfig files
8481d4
    # * all script/ files
8481d4
8481d4
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
8481d4
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source
8481d4
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
8481d4
    (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source)
8481d4
    # dirs for additional modules per module-init-tools, kbuild/modules.txt
8481d4
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra
8481d4
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates
8481d4
    # first copy everything
8481d4
    cp --parents `find  -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
8481d4
    cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
8481d4
    cp System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
8481d4
    if [ -s Module.markers ]; then
8481d4
      cp Module.markers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
8481d4
    fi
8481d4
8481d4
    # create the kABI metadata for use in packaging
8481d4
    # NOTENOTE: the name symvers is used by the rpm backend
8481d4
    # NOTENOTE: to discover and run the /usr/lib/rpm/fileattrs/kabi.attr
8481d4
    # NOTENOTE: script which dynamically adds exported kernel symbol
8481d4
    # NOTENOTE: checksums to the rpm metadata provides list.
8481d4
    # NOTENOTE: if you change the symvers name, update the backend too
8481d4
    echo "**** GENERATING kernel ABI metadata ****"
8481d4
    gzip -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-$KernelVer.gz
8481d4
2c514a
%if %{with_kabichk}
8481d4
    echo "**** kABI checking is enabled in kernel SPEC file. ****"
8481d4
    chmod 0755 $RPM_SOURCE_DIR/check-kabi
8481d4
    if [ -e $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Flavour ]; then
8481d4
        cp $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Flavour $RPM_BUILD_ROOT/Module.kabi
8481d4
        $RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1
8481d4
        rm $RPM_BUILD_ROOT/Module.kabi # for now, don't keep it around.
8481d4
    else
8481d4
        echo "**** NOTE: Cannot find reference Module.kabi file. ****"
8481d4
    fi
2c514a
%endif
8481d4
8481d4
    # then drop all but the needed Makefiles/Kconfig files
8481d4
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation
8481d4
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
8481d4
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
8481d4
    cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
8481d4
    cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
8481d4
    if [ -d arch/$Arch/scripts ]; then
8481d4
      cp -a arch/$Arch/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || :
8481d4
    fi
8481d4
    if [ -f arch/$Arch/*lds ]; then
8481d4
      cp -a arch/$Arch/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || :
8481d4
    fi
8481d4
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o
8481d4
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o
8481d4
%ifarch ppc64
8481d4
    cp -a --parents arch/powerpc/lib/crtsavres.[So] $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
8481d4
%endif
8481d4
    if [ -d arch/%{asmarch}/include ]; then
8481d4
      cp -a --parents arch/%{asmarch}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
8481d4
    fi
8481d4
    cp -a include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
8481d4
8481d4
    # Make sure the Makefile and version.h have a matching timestamp so that
8481d4
    # external modules can be built
8481d4
    touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/generated/uapi/linux/version.h
8481d4
    touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/generated/autoconf.h
8481d4
    # Copy .config to include/config/auto.conf so "make prepare" is unnecessary.
8481d4
    cp $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf
8481d4
8481d4
%if %{with_debuginfo}
8481d4
    if test -s vmlinux.id; then
8481d4
      cp vmlinux.id $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/vmlinux.id
8481d4
    else
8481d4
      echo >&2 "*** ERROR *** no vmlinux build ID! ***"
8481d4
      exit 1
8481d4
    fi
8481d4
8481d4
    #
8481d4
    # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
8481d4
    #
8481d4
    mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
8481d4
    cp vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
8481d4
%endif
8481d4
8481d4
    find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames
8481d4
8481d4
    # mark modules executable so that strip-to-file can strip them
8481d4
    xargs --no-run-if-empty chmod u+x < modnames
8481d4
8481d4
    # Generate a list of modules for block and networking.
8481d4
8481d4
    grep -F /drivers/ modnames | xargs --no-run-if-empty nm -upA |
8481d4
    sed -n 's,^.*/\([^/]*\.ko\):  *U \(.*\)$,\1 \2,p' > drivers.undef
8481d4
8481d4
    collect_modules_list()
8481d4
    {
8481d4
      sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef |
8481d4
      LC_ALL=C sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
8481d4
      if [ ! -z "$3" ]; then
8481d4
        sed -r -e "/^($3)\$/d" -i $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
8481d4
      fi
8481d4
    }
8481d4
2c514a
    collect_modules_list networking 'register_netdev|ieee80211_register_hw|usbnet_probe|phy_driver_register|rt2x00(pci|usb)_probe|register_netdevice'
2c514a
    collect_modules_list block 'ata_scsi_ioctl|scsi_add_host|scsi_add_host_with_dma|blk_alloc_queue|blk_init_queue|register_mtd_blktrans|scsi_esp_register|scsi_register_device_handler|blk_queue_physical_block_size' 'pktcdvd.ko|dm-mod.ko'
2c514a
    collect_modules_list drm 'drm_open|drm_init'
2c514a
    collect_modules_list modesetting 'drm_crtc_init'
8481d4
8481d4
    # detect missing or incorrect license tags
8481d4
    rm -f modinfo
8481d4
    while read i
8481d4
    do
8481d4
      echo -n "${i#$RPM_BUILD_ROOT/lib/modules/$KernelVer/} " >> modinfo
8481d4
      /sbin/modinfo -l $i >> modinfo
8481d4
    done < modnames
8481d4
2c514a
    grep -E -v 'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' modinfo && exit 1
8481d4
8481d4
    rm -f modinfo modnames
8481d4
8481d4
    # Save off the .tmp_versions/ directory.  We'll use it in the
8481d4
    # __debug_install_post macro below to sign the right things
8481d4
    # Also save the signing keys so we actually sign the modules with the
8481d4
    # right key.
8481d4
    cp -r .tmp_versions .tmp_versions.sign${Flavour:+.${Flavour}}
8481d4
    cp signing_key.priv signing_key.priv.sign${Flavour:+.${Flavour}}
8481d4
    cp signing_key.x509 signing_key.x509.sign${Flavour:+.${Flavour}}
8481d4
8481d4
    # remove files that will be auto generated by depmod at rpm -i time
8481d4
    for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap
8481d4
    do
8481d4
      rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$i
8481d4
    done
8481d4
8481d4
    # Move the devel headers out of the root file system
8481d4
    mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
8481d4
    mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
8481d4
    ln -sf $DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
8481d4
8481d4
    # prune junk from kernel-devel
8481d4
    find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -exec rm -f {} \;
8481d4
}
8481d4
8481d4
###
8481d4
# DO it...
8481d4
###
8481d4
8481d4
# prepare directories
8481d4
rm -rf $RPM_BUILD_ROOT
8481d4
mkdir -p $RPM_BUILD_ROOT/boot
8481d4
mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
8481d4
2c514a
cd linux-%{KVRA}
8481d4
8481d4
%if %{with_default}
8481d4
BuildKernel %make_target %kernel_image
8481d4
%endif
8481d4
8481d4
%if %{with_debug}
8481d4
BuildKernel %make_target %kernel_image debug
8481d4
%endif
8481d4
8481d4
%if %{with_kdump}
8481d4
BuildKernel %make_target %kernel_image kdump
8481d4
%endif
8481d4
2c514a
%global perf_make make %{?_smp_mflags} -C tools/perf -s V=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 prefix=%{_prefix}
8481d4
%if %{with_perf}
8481d4
# perf
8481d4
%{perf_make} all
8481d4
%{perf_make} man || %{doc_build_fail}
8481d4
%endif
8481d4
8481d4
%if %{with_tools}
8481d4
%ifarch %{cpupowerarchs}
8481d4
# cpupower
8481d4
# make sure version-gen.sh is executable.
8481d4
chmod +x tools/power/cpupower/utils/version-gen.sh
8481d4
make %{?cross_opts} %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false
8481d4
%ifarch x86_64
8481d4
    pushd tools/power/cpupower/debug/x86_64
8481d4
    make %{?_smp_mflags} centrino-decode powernow-k8-decode
8481d4
    popd
8481d4
%endif
8481d4
%ifarch x86_64
8481d4
   pushd tools/power/x86/x86_energy_perf_policy/
8481d4
   make
8481d4
   popd
8481d4
   pushd tools/power/x86/turbostat
8481d4
   make
8481d4
   popd
8481d4
%endif #turbostat/x86_energy_perf_policy
8481d4
%endif
8481d4
%endif
8481d4
8481d4
%if %{with_doc}
8481d4
# Make the HTML and man pages.
8481d4
make htmldocs mandocs || %{doc_build_fail}
8481d4
8481d4
# sometimes non-world-readable files sneak into the kernel source tree
8481d4
chmod -R a=rX Documentation
8481d4
find Documentation -type d | xargs chmod u+w
8481d4
%endif
8481d4
8481d4
# In the modsign case, we do 3 things.  1) We check the "flavour" and hard
8481d4
# code the value in the following invocations.  This is somewhat sub-optimal
8481d4
# but we're doing this inside of an RPM macro and it isn't as easy as it
8481d4
# could be because of that.  2) We restore the .tmp_versions/ directory from
8481d4
# the one we saved off in BuildKernel above.  This is to make sure we're
8481d4
# signing the modules we actually built/installed in that flavour.  3) We
8481d4
# grab the arch and invoke 'make modules_sign' and the mod-extra-sign.sh
8481d4
# commands to actually sign the modules.
8481d4
#
8481d4
# We have to do all of those things _after_ find-debuginfo runs, otherwise
8481d4
# that will strip the signature off of the modules.
8481d4
#
8481d4
# Finally, pick a module at random and check that it's signed and fail the build
8481d4
# if it isn't.
8481d4
8481d4
%define __modsign_install_post \
8481d4
  if [ "%{with_debug}" -ne "0" ]; then \
8481d4
    Arch=`head -1 configs/kernel-%{version}-%{_target_cpu}-debug.config | cut -b 3-` \
8481d4
    rm -rf .tmp_versions \
8481d4
    mv .tmp_versions.sign.debug .tmp_versions \
8481d4
    mv signing_key.priv.sign.debug signing_key.priv \
8481d4
    mv signing_key.x509.sign.debug signing_key.x509 \
2c514a
    %{modsign_cmd} $RPM_BUILD_ROOT/lib/modules/%{KVRA}.debug || exit 1 \
8481d4
  fi \
8481d4
    if [ "%{with_default}" -ne "0" ]; then \
8481d4
    Arch=`head -1 configs/kernel-%{version}-%{_target_cpu}.config | cut -b 3-` \
8481d4
    rm -rf .tmp_versions \
8481d4
    mv .tmp_versions.sign .tmp_versions \
8481d4
    mv signing_key.priv.sign signing_key.priv \
8481d4
    mv signing_key.x509.sign signing_key.x509 \
2c514a
    %{modsign_cmd} $RPM_BUILD_ROOT/lib/modules/%{KVRA} || exit 1 \
8481d4
  fi \
8481d4
%{nil}
8481d4
8481d4
###
8481d4
### Special hacks for debuginfo subpackages.
8481d4
###
8481d4
8481d4
# This macro is used by %%install, so we must redefine it before that.
8481d4
%define debug_package %{nil}
8481d4
8481d4
%if %{with_debuginfo}
8481d4
8481d4
%define __debug_install_post \
8481d4
  /usr/lib/rpm/find-debuginfo.sh %{debuginfo_args} %{_builddir}/%{?buildsubdir}\
8481d4
%{nil}
8481d4
8481d4
%ifnarch noarch
8481d4
%global __debug_package 1
8481d4
%files -f debugfiles.list debuginfo-common-%{_target_cpu}
8481d4
%defattr(-,root,root)
8481d4
%endif
8481d4
8481d4
%endif
8481d4
8481d4
#
8481d4
# Disgusting hack alert! We need to ensure we sign modules *after* all
8481d4
# invocations of strip occur, which is in __debug_install_post if
8481d4
# find-debuginfo.sh runs, and __os_install_post if not.
8481d4
#
8481d4
%define __spec_install_post \
8481d4
  %{?__debug_package:%{__debug_install_post}}\
8481d4
  %{__arch_install_post}\
8481d4
  %{__os_install_post}\
8481d4
  %{__modsign_install_post}
8481d4
8481d4
###
8481d4
### install
8481d4
###
8481d4
8481d4
%install
8481d4
2c514a
cd linux-%{KVRA}
8481d4
8481d4
%if %{with_doc}
8481d4
docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{rpmversion}
8481d4
man9dir=$RPM_BUILD_ROOT%{_datadir}/man/man9
8481d4
8481d4
# copy the source over
8481d4
mkdir -p $docdir
8481d4
tar -f - --exclude=man --exclude='.*' -c Documentation | tar xf - -C $docdir
8481d4
8481d4
# Install man pages for the kernel API.
8481d4
mkdir -p $man9dir
8481d4
find Documentation/DocBook/man -name '*.9.gz' -print0 |
8481d4
xargs -0 --no-run-if-empty %{__install} -m 444 -t $man9dir $m
8481d4
ls $man9dir | grep -q '' || > $man9dir/BROKEN
8481d4
%endif # with_doc
8481d4
8481d4
# We have to do the headers install before the tools install because the
8481d4
# kernel headers_install will remove any header files in /usr/include that
8481d4
# it doesn't install itself.
8481d4
8481d4
%if %{with_headers}
8481d4
# Install kernel headers
8481d4
make %{?cross_opts} ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install
8481d4
8481d4
# Do headers_check but don't die if it fails.
2c514a
make %{?cross_opts} ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_check > hdrwarnings.txt || :
8481d4
if grep -q exist hdrwarnings.txt; then
8481d4
   sed s:^$RPM_BUILD_ROOT/usr/include/:: hdrwarnings.txt
8481d4
   # Temporarily cause a build failure if header inconsistencies.
8481d4
   # exit 1
8481d4
fi
8481d4
2c514a
find $RPM_BUILD_ROOT/usr/include \( -name .install -o -name .check -o -name ..install.cmd -o -name ..check.cmd \) | xargs rm -f
8481d4
8481d4
%endif
8481d4
8481d4
%if %{with_kernel_abi_whitelists}
8481d4
# kabi directory
8481d4
INSTALL_KABI_PATH=$RPM_BUILD_ROOT/lib/modules/kabi-rhel70
8481d4
mkdir -p $INSTALL_KABI_PATH
8481d4
8481d4
# install kabi whitelists
8481d4
cp %{SOURCE23} %{SOURCE24} %{SOURCE25} $INSTALL_KABI_PATH
8481d4
%endif  # with_kernel_abi_whitelists
8481d4
8481d4
%if %{with_perf}
8481d4
# perf tool binary and supporting scripts/binaries
8481d4
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install
8481d4
8481d4
# perf-python extension
8481d4
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-python_ext
8481d4
8481d4
# perf man pages (note: implicit rpm magic compresses them later)
8481d4
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-man || %{doc_build_fail}
8481d4
%endif
8481d4
8481d4
%if %{with_tools}
8481d4
%ifarch %{cpupowerarchs}
8481d4
make -C tools/power/cpupower DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install
8481d4
rm -f %{buildroot}%{_libdir}/*.{a,la}
8481d4
%find_lang cpupower
8481d4
mv cpupower.lang ../
8481d4
%ifarch x86_64
8481d4
    pushd tools/power/cpupower/debug/x86_64
8481d4
    install -m755 centrino-decode %{buildroot}%{_bindir}/centrino-decode
8481d4
    install -m755 powernow-k8-decode %{buildroot}%{_bindir}/powernow-k8-decode
8481d4
    popd
8481d4
%endif
8481d4
chmod 0755 %{buildroot}%{_libdir}/libcpupower.so*
8481d4
mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig
8481d4
install -m644 %{SOURCE2000} %{buildroot}%{_unitdir}/cpupower.service
8481d4
install -m644 %{SOURCE2001} %{buildroot}%{_sysconfdir}/sysconfig/cpupower
8481d4
%ifarch %{ix86} x86_64
8481d4
   mkdir -p %{buildroot}%{_mandir}/man8
8481d4
   pushd tools/power/x86/x86_energy_perf_policy
8481d4
   make DESTDIR=%{buildroot} install
8481d4
   popd
8481d4
   pushd tools/power/x86/turbostat
8481d4
   make DESTDIR=%{buildroot} install
8481d4
   popd
8481d4
%endif #turbostat/x86_energy_perf_policy
8481d4
%endif
8481d4
8481d4
%endif
8481d4
8481d4
%if %{with_bootwrapper}
8481d4
make %{?cross_opts} DESTDIR=$RPM_BUILD_ROOT bootwrapper_install WRAPPER_OBJDIR=%{_libdir}/kernel-wrapper WRAPPER_DTSDIR=%{_libdir}/kernel-wrapper/dts
8481d4
%endif
8481d4
8481d4
8481d4
###
8481d4
### clean
8481d4
###
8481d4
8481d4
%clean
8481d4
rm -rf $RPM_BUILD_ROOT
8481d4
8481d4
###
8481d4
### scripts
8481d4
###
8481d4
8481d4
%if %{with_tools}
8481d4
%post -n kernel-tools
8481d4
/sbin/ldconfig
8481d4
8481d4
%postun -n kernel-tools
8481d4
/sbin/ldconfig
8481d4
%endif
8481d4
8481d4
#
8481d4
# This macro defines a %%post script for a kernel*-devel package.
8481d4
#	%%kernel_devel_post [<subpackage>]
8481d4
#
8481d4
%define kernel_devel_post() \
8481d4
%{expand:%%post %{?1:%{1}-}devel}\
8481d4
if [ -f /etc/sysconfig/kernel ]\
8481d4
then\
8481d4
    . /etc/sysconfig/kernel || exit $?\
8481d4
fi\
8481d4
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]\
8481d4
then\
2c514a
    (cd /usr/src/kernels/%{KVRA}%{?1:.%{1}} &&\
8481d4
     /usr/bin/find . -type f | while read f; do\
8481d4
       hardlink -c /usr/src/kernels/*.fc*.*/$f $f\
8481d4
     done)\
8481d4
fi\
8481d4
%{nil}
8481d4
8481d4
8481d4
# This macro defines a %%posttrans script for a kernel package.
8481d4
#	%%kernel_variant_posttrans [<subpackage>]
8481d4
# More text can follow to go at the end of this variant's %%post.
8481d4
#
8481d4
%define kernel_variant_posttrans() \
8481d4
%{expand:%%posttrans %{?1}}\
2c514a
%{_sbindir}/new-kernel-pkg --package kernel%{?-v:-%{-v*}} --mkinitrd --dracut --depmod --update %{KVRA}%{?-v:.%{-v*}} || exit $?\
2c514a
%{_sbindir}/new-kernel-pkg --package kernel%{?1:-%{1}} --rpmposttrans %{KVRA}%{?1:.%{1}} || exit $?\
8481d4
%{nil}
8481d4
8481d4
#
8481d4
# This macro defines a %%post script for a kernel package and its devel package.
8481d4
#	%%kernel_variant_post [-v <subpackage>] [-r <replace>]
8481d4
# More text can follow to go at the end of this variant's %%post.
8481d4
#
8481d4
%define kernel_variant_post(v:r:) \
8481d4
%{expand:%%kernel_devel_post %{?-v*}}\
8481d4
%{expand:%%kernel_variant_posttrans %{?-v*}}\
8481d4
%{expand:%%post %{?-v*}}\
8481d4
%{-r:\
8481d4
if [ `uname -i` == "x86_64" ] &&\
8481d4
   [ -f /etc/sysconfig/kernel ]; then\
8481d4
  /bin/sed -r -i -e 's/^DEFAULTKERNEL=%{-r*}$/DEFAULTKERNEL=kernel%{?-v:-%{-v*}}/' /etc/sysconfig/kernel || exit $?\
8481d4
fi}\
8481d4
%{expand:\
2c514a
%{_sbindir}/new-kernel-pkg --package kernel%{?-v:-%{-v*}} --install %{KVRA}%{?-v:.%{-v*}} || exit $?\
8481d4
}\
8481d4
%{nil}
8481d4
8481d4
#
8481d4
# This macro defines a %%preun script for a kernel package.
8481d4
#	%%kernel_variant_preun <subpackage>
8481d4
#
8481d4
%define kernel_variant_preun() \
8481d4
%{expand:%%preun %{?1}}\
2c514a
%{_sbindir}/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVRA}%{?1:.%{1}} || exit $?\
8481d4
%{nil}
8481d4
8481d4
%kernel_variant_preun
8481d4
%kernel_variant_post 
8481d4
8481d4
%kernel_variant_preun debug
8481d4
%kernel_variant_post -v debug
8481d4
8481d4
%ifarch s390x
8481d4
%postun kdump
8481d4
    # Create softlink to latest remaining kdump kernel.
8481d4
    # If no more kdump kernel is available, remove softlink.
2c514a
    if [ "$(readlink /boot/zfcpdump)" == "/boot/vmlinuz-%{KVRA}.kdump" ]
8481d4
    then
8481d4
        vmlinuz_next=$(ls /boot/vmlinuz-*.kdump 2> /dev/null | sort | tail -n1)
8481d4
        if [ $vmlinuz_next ]
8481d4
        then
8481d4
            ln -sf $vmlinuz_next /boot/zfcpdump
8481d4
        else
8481d4
            rm -f /boot/zfcpdump
8481d4
        fi
8481d4
    fi
8481d4
8481d4
%post kdump
2c514a
    ln -sf /boot/vmlinuz-%{KVRA}.kdump /boot/zfcpdump
8481d4
%endif # s390x
8481d4
8481d4
if [ -x /sbin/ldconfig ]
8481d4
then
8481d4
    /sbin/ldconfig -X || exit $?
8481d4
fi
8481d4
8481d4
###
8481d4
### file lists
8481d4
###
8481d4
8481d4
%if %{with_headers}
8481d4
%files headers
8481d4
%defattr(-,root,root)
8481d4
/usr/include/*
8481d4
%endif
8481d4
8481d4
%if %{with_bootwrapper}
8481d4
%files bootwrapper
8481d4
%defattr(-,root,root)
8481d4
/usr/sbin/*
8481d4
%{_libdir}/kernel-wrapper
8481d4
%endif
8481d4
8481d4
# only some architecture builds need kernel-doc
8481d4
%if %{with_doc}
8481d4
%files doc
8481d4
%defattr(-,root,root)
8481d4
%{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation/*
8481d4
%dir %{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation
8481d4
%dir %{_datadir}/doc/kernel-doc-%{rpmversion}
8481d4
%{_datadir}/man/man9/*
8481d4
%endif
8481d4
8481d4
%if %{with_kernel_abi_whitelists}
8481d4
%files -n kernel-abi-whitelists
8481d4
%defattr(-,root,root,-)
8481d4
/lib/modules/kabi-*
8481d4
%endif
8481d4
8481d4
%if %{with_perf}
8481d4
%files -n perf
8481d4
%defattr(-,root,root)
8481d4
%{_bindir}/perf
8481d4
%dir %{_libexecdir}/perf-core
8481d4
%{_libexecdir}/perf-core/*
8481d4
%{_mandir}/man[1-8]/perf*
8481d4
%{_sysconfdir}/bash_completion.d/perf
8481d4
8481d4
%files -n python-perf
8481d4
%defattr(-,root,root)
8481d4
%{python_sitearch}
8481d4
8481d4
%if %{with_debuginfo}
8481d4
%files -f perf-debuginfo.list -n perf-debuginfo
8481d4
%defattr(-,root,root)
8481d4
8481d4
%files -f python-perf-debuginfo.list -n python-perf-debuginfo
8481d4
%defattr(-,root,root)
8481d4
%endif
8481d4
%endif # with_perf
8481d4
8481d4
%if %{with_tools}
8481d4
%files -n kernel-tools -f cpupower.lang
8481d4
%defattr(-,root,root)
8481d4
%ifarch %{cpupowerarchs}
8481d4
%{_bindir}/cpupower
8481d4
%ifarch x86_64
8481d4
%{_bindir}/centrino-decode
8481d4
%{_bindir}/powernow-k8-decode
8481d4
%endif
8481d4
%{_unitdir}/cpupower.service
8481d4
%{_mandir}/man[1-8]/cpupower*
8481d4
%config(noreplace) %{_sysconfdir}/sysconfig/cpupower
8481d4
%ifarch %{ix86} x86_64
8481d4
%{_bindir}/x86_energy_perf_policy
8481d4
%{_mandir}/man8/x86_energy_perf_policy*
8481d4
%{_bindir}/turbostat
8481d4
%{_mandir}/man8/turbostat*
8481d4
%endif
8481d4
%endif
8481d4
8481d4
%if %{with_debuginfo}
8481d4
%files -f kernel-tools-debuginfo.list -n kernel-tools-debuginfo
8481d4
%defattr(-,root,root)
8481d4
%endif
8481d4
8481d4
%ifarch %{cpupowerarchs}
8481d4
%files -n kernel-tools-libs
8481d4
%defattr(-,root,root)
8481d4
%{_libdir}/libcpupower.so.0
8481d4
%{_libdir}/libcpupower.so.0.0.0
8481d4
8481d4
%files -n kernel-tools-libs-devel
8481d4
%defattr(-,root,root)
8481d4
%{_libdir}/libcpupower.so
8481d4
%{_includedir}/cpufreq.h
8481d4
%endif
8481d4
8481d4
%endif # with_tools
8481d4
8481d4
# This is %%{image_install_path} on an arch where that includes ELF files,
8481d4
# or empty otherwise.
8481d4
%define elf_image_install_path %{?kernel_image_elf:%{image_install_path}}
8481d4
8481d4
#
8481d4
# This macro defines the %%files sections for a kernel package
8481d4
# and its devel and debuginfo packages.
8481d4
#	%%kernel_variant_files [-k vmlinux] <condition> <subpackage>
8481d4
#
8481d4
%define kernel_variant_files(k:) \
8481d4
%if %{1}\
8481d4
%{expand:%%files %{?2}}\
8481d4
%defattr(-,root,root)\
2c514a
/%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVRA}%{?2:.%{2}}\
2c514a
/%{image_install_path}/.vmlinuz-%{KVRA}%{?2:.%{2}}.hmac \
2c514a
%attr(600,root,root) /boot/System.map-%{KVRA}%{?2:.%{2}}\
2c514a
/boot/symvers-%{KVRA}%{?2:.%{2}}.gz\
2c514a
/boot/config-%{KVRA}%{?2:.%{2}}\
2c514a
%dir /lib/modules/%{KVRA}%{?2:.%{2}}\
2c514a
/lib/modules/%{KVRA}%{?2:.%{2}}/kernel\
2c514a
/lib/modules/%{KVRA}%{?2:.%{2}}/build\
2c514a
/lib/modules/%{KVRA}%{?2:.%{2}}/source\
2c514a
/lib/modules/%{KVRA}%{?2:.%{2}}/extra\
2c514a
/lib/modules/%{KVRA}%{?2:.%{2}}/updates\
8481d4
%ifarch %{vdso_arches}\
2c514a
/lib/modules/%{KVRA}%{?2:.%{2}}/vdso\
2c514a
/etc/ld.so.conf.d/kernel-%{KVRA}%{?2:.%{2}}.conf\
8481d4
%endif\
2c514a
/lib/modules/%{KVRA}%{?2:.%{2}}/modules.*\
2c514a
%ghost /boot/initramfs-%{KVRA}%{?2:.%{2}}.img\
8481d4
%{expand:%%files %{?2:%{2}-}devel}\
8481d4
%defattr(-,root,root)\
2c514a
/usr/src/kernels/%{KVRA}%{?2:.%{2}}\
8481d4
%if %{with_debuginfo}\
8481d4
%ifnarch noarch\
8481d4
%{expand:%%files -f debuginfo%{?2}.list %{?2:%{2}-}debuginfo}\
8481d4
%defattr(-,root,root)\
8481d4
%endif\
8481d4
%endif\
8481d4
%endif\
8481d4
%{nil}
8481d4
8481d4
%kernel_variant_files %{with_default}
8481d4
%kernel_variant_files %{with_debug} debug
8481d4
%kernel_variant_files %{with_kdump} kdump
8481d4
8481d4
%changelog
Karanbir Singh df32f9
* Tue Jun 24 2014 Karanbir Singh <kbsingh@centos.org> [3.10.0-123.el7.centos]
Karanbir Singh df32f9
- Patch in CentOS SecureBoot certs
Karanbir Singh df32f9
a4d734
* Mon May 05 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-123.el7]
a4d734
- [mm] rmap: try_to_unmap_cluster() should lock_page() before mlocking (Larry Woodman) [1078349] {CVE-2014-3122}
a4d734
- [mm] huge_memory: Fix cpuset cgroups so all pages for a task remain on correct node (Larry Woodman) [1076613]
a4d734
- [mm] mprotect: fix oops in change_pmd_range called from task_numa_work (Rik van Riel) [1085050]
a4d734
a4d734
* Thu May 01 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-122.el7]
a4d734
- [security] device_cgroup: check if exception removal is allowed (Aristeu Rozanski) [1086057]
a4d734
- [security] device_cgroup: rework device access check and rule checking (Aristeu Rozanski) [1086057]
a4d734
- [fs] autofs: fix lockref lookup (Ian Kent) [1083815]
a4d734
- [mei] me: do not load the driver if the FW doesn't support MEI interface (Prarit Bhargava) [1082789]
a4d734
2c514a
* Tue Apr 08 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-121.el7]
2c514a
- [virt] vhost/net: fix total length when packets are too short ("Michael S. Tsirkin") [1064446] {CVE-2014-0077}
2c514a
- [virt] vhost/net: validate vhost_get_vq_desc return value ("Michael S. Tsirkin") [1070940] {CVE-2014-0055}
2c514a
2c514a
* Mon Apr 07 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-120.el7]
2c514a
- [net] netfilter: fix panic when oom during rule replacement (Florian Westphal) [985657]
2c514a
- [net] netfilter: x_tables: fix ordering of jumpstack allocation and table update (Florian Westphal) [985657]
2c514a
- [virt] kvm/ioapic: try to recover if pending_eoi goes out of range (Paolo Bonzini) [1036478]
2c514a
- [virt] kvm/ioapic: fix assignment of ioapic->rtc_status.pending_eoi (Paolo Bonzini) [1036478 1081590] {CVE-2014-0155}
2c514a
- [virt] kvm/ioapic: reinject pending interrupts on KVM_SET_IRQCHIP (Paolo Bonzini) [1036478]
2c514a
- [virt] kvm/ioapic: extract body of kvm_ioapic_set_irq (Paolo Bonzini) [1036478]
2c514a
- [virt] kvm/ioapic: clear IRR for edge-triggered interrupts at delivery (Paolo Bonzini) [1036478]
2c514a
- [virt] kvm/ioapic: merge ioapic_deliver into ioapic_service (Paolo Bonzini) [1036478]
2c514a
- [virt] kvm: ignore ioapic polarity (Paolo Bonzini) [1036478]
2c514a
- [core] device: Create 'device_driver_rh' KABI shadowing structure (Myron Stowe) [1083692]
2c514a
- [core] device: Create 'device_rh' KABI shadowing structure (Myron Stowe) [1083692]
2c514a
- [scsi] Reserve space in structures for future XCOPY support (Ewan Milne) [1080430]
2c514a
- [fs] xfs: fix bad hash ordering (Brian Foster) [1083206]
2c514a
- [fs] xfs: always do log forces via the workqueue (Brian Foster) [1052004]
2c514a
2c514a
* Thu Apr 03 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-119.el7]
2c514a
- [net] bonding: remove bond_resend_igmp_join_requests read_unlock leftover (Veaceslav Falico) [1080924]
2c514a
- [ethernet] mlx4: Support shutdown() interface (Amir Vadai) [1046216]
2c514a
- [zram] fix invalid memory access (Jerome Marchand) [1081936]
2c514a
- [zram] protect zram_reset_device() call (Jerome Marchand) [1081936]
2c514a
- [zram] remove zram_sysfs file (Jerome Marchand) [1081936]
2c514a
- [zram] use atomic64_xxx() to replace zram_stat64_xxx() (Jerome Marchand) [1081936]
2c514a
- [zram] optimize memory operations with clear_page()/copy_page() (Jerome Marchand) [1081936]
2c514a
- [zram] kill unused zram_get_num_devices() (Jerome Marchand) [1081936]
2c514a
- [zram] simplify and optimize dev_to_zram() (Jerome Marchand) [1081936]
2c514a
- [kernel] futex: revert back to the explicit waiter counting code (Larry Woodman) [1081100]
2c514a
- [kernel] audit: Allow login in non-init namespaces (Richard Guy Briggs) [1082597]
2c514a
2c514a
* Tue Apr 01 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-118.el7]
2c514a
- [wireless] ath9k: Fix LNA gpio for AR9485 (John Green) [1082017]
2c514a
- [infiniband] core: Don't resolve passive side RoCE L2 address in cma req handler (Amir Vadai) [1075852]
2c514a
- [fs] xfs: fix buffer use after free on IO error (Eric Sandeen) [924301]
2c514a
- [scsi] be2iscsi: Bump the driver version (Rob Evers) [1052416]
2c514a
- [scsi] be2iscsi: Fix DMA Out of SW-IOMMU space error (Rob Evers) [1052416]
2c514a
- [scsi] be2iscsi: Fix scsi_cmnd leakage in driver (Rob Evers) [1052416]
2c514a
- [scsi] be2iscsi: Fix the session cleanup when reboot/shutdown happens (Rob Evers) [1052416]
2c514a
- [scsi] be2iscsi: Fix doorbell format for EQ/CQ/RQ s per SLI spec (Rob Evers) [1052416]
2c514a
- [scsi] be2iscsi: Fix port speed typo in driver (Rob Evers) [1052416]
2c514a
- [scsi] be2iscsi: Fix handling timed out MBX completion from FW (Rob Evers) [1052416]
2c514a
- [fs] nfs: Fix a use-after-free problem in open() (Steve Dickson) [1062809]
2c514a
2c514a
* Mon Mar 31 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-117.el7]
2c514a
- [md] dm-thin: fix dangling bio in process_deferred_bios error path (Mike Snitzer) [1081781]
2c514a
- [md] dm: take care to copy the space map roots before locking the superblock (Mike Snitzer) [1081781]
2c514a
- [md] dm-transaction-manager: fix corruption due to non-atomic transaction commit (Mike Snitzer) [1081781]
2c514a
- [md] dm-era: fixes for issues identified upstream (Mike Snitzer) [1081781]
2c514a
- [md] dm-cache: remove remainder of distinct discard block size (Mike Snitzer) [1062679]
2c514a
- [md] dm-cache: prevent corruption caused by discard_block_size > cache_block_size (Mike Snitzer) [1062679]
2c514a
- [ipc] change kern_ipc_perm.deleted type to bool (Phillip Lougher) [1043807] {CVE-2013-7026}
2c514a
- [ipc] introduce ipc_valid_object() helper to sort out IPC_RMID races (Phillip Lougher) [1043807] {CVE-2013-7026}
2c514a
- [ipc] shm: fix shm_file deletion races (Phillip Lougher) [1043807] {CVE-2013-7026}
2c514a
- [drm] udl: take reference to device struct for dma-bufs (Dave Airlie) [1077774]
2c514a
- [security] keys: Allow special keys (eg. DNS results) to be invalidated by CAP_SYS_ADMIN (David Howells) [1074240]
2c514a
2c514a
* Fri Mar 28 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-116.el7]
2c514a
- [s390] qeth: postpone freeing of qdio memory (Hendrik Brueckner) [1077650]
2c514a
- [kernel] rh_taint: Remove taint and update unsupported hardware message (Prarit Bhargava) [1076974]
2c514a
- [fs] proc/vmcore: continue vmcore initialization if PT_NOTE is found empty (Chao WANG) [1077535]
2c514a
- [net] ipv6: ip6_append_data_mtu do not handle the mtu of the second fragment properly (Jiri Pirko) [1079873]
2c514a
2c514a
* Tue Mar 25 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-115.el7]
2c514a
- [block] free q->flush_rq in blk_init_allocated_queue error paths (Mike Snitzer) [1078522]
2c514a
- [x86] fpu: Clear exceptions in AMD FXSAVE workaround (Phillip Lougher) [1053596] {CVE-2014-1438}
2c514a
- [mm] page_alloc: spill to remote nodes before waking kswapd (Johannes Weiner) [1076546]
2c514a
- [mm] vmscan: do not swap anon pages just because free+file is low (Johannes Weiner) [1076546]
2c514a
- [fs] sunrpc: Ensure call_connect_status() deals correctly with SOFTCONN tasks (Steve Dickson) [1071532]
2c514a
- [fs] nfs: Ensure we respect soft mount timeouts during trunking discovery (Steve Dickson) [1071532]
2c514a
- [fs] nfs: Schedule recovery if nfs40_walk_client_list() is interrupted (Steve Dickson) [1071532]
2c514a
- [fs] sunrpc: Ensure that call_bind times out correctly (Steve Dickson) [1071532]
2c514a
- [fs] sunrpc: Ensure that call_connect times out correctly (Steve Dickson) [1071532]
2c514a
2c514a
* Fri Mar 21 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-114.el7]
2c514a
- [net] netfilter: nf_conntrack_dccp: fix skb_header_pointer API usages (Jiri Pirko) [1077351] {CVE-2014-2523}
2c514a
- [net] ipv6: don't set DST_NOCOUNT for remotely added routes (Jiri Pirko) [1075060] {CVE-2014-2309}
2c514a
- [net] skbuff: skb_segment: orphan frags before copying ("Michael S. Tsirkin") [1056934] {CVE-2014-0131}
2c514a
- [net] skbuff: skb_segment: s/fskb/list_skb/ ("Michael S. Tsirkin") [1056934] {CVE-2014-0131}
2c514a
- [net] skbuff: skb_segment: s/skb/head_skb/ ("Michael S. Tsirkin") [1056934] {CVE-2014-0131}
2c514a
- [net] skbuff: skb_segment: s/skb_frag/frag/ ("Michael S. Tsirkin") [1056934] {CVE-2014-0131}
2c514a
- [net] skbuff: skb_segment: s/frag/nskb_frag/ ("Michael S. Tsirkin") [1056934] {CVE-2014-0131}
2c514a
- [net] use kfree_skb_list() helper ("Michael S. Tsirkin") [1056934] {CVE-2014-0131}
2c514a
- [net] veth: fix veth vlan features (Flavio Leitner) [1076077]
2c514a
- [net] sunrpc/xprtrdma: add separate Kconfig options for NFSoRDMA client and server support (Jeff Layton) [1077957]
2c514a
- [virt] kvm/x86: emulate MOVAPD (Igor Mammedov) [1052090]
2c514a
- [virt] kvm/x86: emulate MOVAPS (Igor Mammedov) [1052090]
2c514a
- [mm] x86: Wrong page freed on preallocate_pmds() failure exit (Larry Woodman) [1073641]
2c514a
- [mm] x86: do not leak page->ptl for pmd page tables (Larry Woodman) [1073641]
2c514a
- [virt] kvm/x86: fix emulator buffer overflow (Andrew Jones) [1071836] {CVE-2014-0049}
2c514a
- [virt] hyperv: Change the receive buffer size for legacy hosts (Jason Wang) [1075279]
2c514a
- [x86] quirks: Update DH8900CC Unsupported Device ID (Prarit Bhargava) [1076137]
2c514a
2c514a
* Tue Mar 18 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-113.el7]
2c514a
- [security] selinux: fix broken peer recv check (Paul Moore) [1043165]
2c514a
- [md] dm-raid: Fix possibility of skipping device recovery (Jonathan E Brassow) [1069927]
2c514a
- [fs] xfs: avoid AGI/AGF deadlock scenario for inode chunk allocation (Brian Foster) [1052789]
2c514a
- [md] dm-cache: fix access beyond end of origin device (Mike Snitzer) [1074606]
2c514a
- [md] dm-cache: fix truncation bug when copying a block to/from >2TB fast device (Mike Snitzer) [1075709]
2c514a
- [ethernet] bna: don't disable VLAN tag stripping in promisc mode (Ivan Vecera) [1057842]
2c514a
- [kernel] posix-timers: Spare workqueue if there is no full dynticks CPU to kick (Frederic Weisbecker) [1074168]
2c514a
2c514a
* Mon Mar 17 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-112.el7]
2c514a
- [net] bridge: multicast: enable snooping on general queries only (Florian Westphal) [1074491]
2c514a
- [net] bridge: multicast: add sanity check for general query destination (Florian Westphal) [1074491]
2c514a
- [net] bridge: multicast: add sanity check for query source addresses (Florian Westphal) [1074491]
2c514a
- [net] inet: frag: fix oops when unloading inetfrag modules (Florian Westphal) [1073962]
2c514a
- [virt] vhost/net: fix ref cnt checking deadlock ("Michael S. Tsirkin") [1065878]
2c514a
- [virt] vhost_net: correctly limit the max pending buffers ("Michael S. Tsirkin") [1065878]
2c514a
- [virt] vhost/net: fix a theoretical race in device cleanup ("Michael S. Tsirkin") [1065878]
2c514a
- [powerpc] pseries: Expose in kernel device tree update to drmgr (Steve Best) [1064745]
2c514a
- [powerpc] pseries: Update dynamic cache nodes for suspend/resume operation (Steve Best) [1064745]
2c514a
- [powerpc] pseries: Device tree should only be updated once after suspend/migrate (Steve Best) [1064745]
2c514a
- [powerpc] pseries: Child nodes are not detached by dlpar_detach_node (Steve Best) [1064745]
2c514a
- [powerpc] pseries: Add mising of_node_put in delete_dt_node (Steve Best) [1064745]
2c514a
- [powerpc] pseries: Make dlpar_configure_connector parent node aware (Steve Best) [1064745]
2c514a
- [powerpc] pseries: Do all node initialization in dlpar_parse_cc_node (Steve Best) [1064745]
2c514a
- [powerpc] pseries: Fix parsing of initial node path in update_dt_node (Steve Best) [1064745]
2c514a
- [powerpc] pseries: Pack update_props_workarea to map correctly to rtas buffer header (Steve Best) [1064745]
2c514a
- [powerpc] pseries: Fix over writing of rtas return code in update_dt_node (Steve Best) [1064745]
2c514a
- [powerpc] pseries: Fix creation of loop in device node property list (Steve Best) [1064745]
2c514a
- [infiniband] mlx4: Don't allocate range of steerable UD QPs for Ethernet-only device (Doug Ledford) [1061795]
2c514a
- [ethernet] e1000: fix lockdep warning in e1000_reset_task (John Green) [1056355]
2c514a
- [ethernet] mlx4: mlx4_init_slave() shouldn't access comm channel before PF is ready (Amir Vadai) [1058413]
2c514a
- [ethernet] mlx4: Fix memory access error in mlx4_QUERY_DEV_CAP_wrapper() (Amir Vadai) [1058413]
2c514a
- [mm] numa: recheck for transhuge pages under lock during protection changes (Rik van Riel) [1073674]
2c514a
2c514a
* Fri Mar 14 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-111.el7]
2c514a
- [net] inet: fix for a race condition in the inet frag code (Nikolay Aleksandrov) [1070711] {CVE-2014-0100}
2c514a
- [scsi] aacraid: Print warning message if unsupported card is being used (Rich Bono) [1019091]
2c514a
- [drm] ttm: don't oops if no invalidate_caches() (Rob Clark) [1073470 1075068]
2c514a
- [security] selinux: bigendian problems with filename trans rules (Paul Moore) [1029837]
2c514a
- [security] selinux: Fix memory leak upon loading policy (Paul Moore) [1051042]
2c514a
- [x86] apic: Plug racy xAPIC access of CPU hotplug code (Igor Mammedov) [1073568]
2c514a
- [kernel] sched: Remove redundant update_runtime notifier (Igor Mammedov) [1074476]
2c514a
- [virt] kvm/svm: fix cr8 intercept window (Radim Krcmar) [1056982]
2c514a
- [video] fb: reorder the lock sequence to fix potential dead lock (Jason Wang) [1040781]
2c514a
- [virt] hv/vmbus: Don't timeout during the initial connection with host (Jason Wang) [1037957]
2c514a
- [virt] hv/vmbus: Specify the target CPU that should receive notification (Jason Wang) [1037957]
2c514a
- [mm] percpu scalability fixes (Alexander Viro) [1072446]
2c514a
- [x86] fix compile error due to X86_TRAP_NMI use in asm files (Don Zickus) [1051428]
2c514a
- [x86] Ignore NMIs that come in during early boot (Don Zickus) [1051428]
2c514a
- [fs] cifs: Add support for follow_link on dfs shares under posix extensions (Sachin Prabhu) [1020715]
2c514a
- [fs] cifs: move unix extension call to cifs_query_symlink() (Sachin Prabhu) [1020715]
2c514a
- [kernel] audit: include subject in login records (Richard Guy Briggs) [1075155]
2c514a
- [kernel] audit: remove superfluous new- prefix in AUDIT_LOGIN messages (Richard Guy Briggs) [1075155]
2c514a
- [ethernet] tg3: Don't check undefined error bits in RXBD (Ivan Vecera) [1071483]
2c514a
- [fs] gfs2: Move recovery variables to journal structure in memory (Robert S Peterson) [1059439]
2c514a
- [security] keys: Make the keyring cycle detector ignore other keyrings of the same name (David Howells) [1071346] {CVE-2014-0102}
2c514a
- [x86] fix x86 fixup_irqs() error handling (Prarit Bhargava) [1074644]
2c514a
- [fs] gfs2: Re-add a call to log_flush_wait when flushing the journal (Robert S Peterson) [1074556]
2c514a
- [fs] gfs2: Ensure workqueue is scheduled after noexp request (Robert S Peterson) [1074556]
2c514a
2c514a
* Wed Mar 12 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-110.el7]
2c514a
- [mm] Revert: percpu scalability fixes (Jarod Wilson) [1072446]
2c514a
2c514a
* Tue Mar 11 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-109.el7]
2c514a
- [block] change flush sequence list addition back to front add (Mike Snitzer) [1072577]
2c514a
- [block] fix q->flush_rq NULL pointer crash on dm-mpath flush (Mike Snitzer) [1072577]
2c514a
- [md] dm-era: mark as tech preview for RHEL7.0 (Mike Snitzer) [995644]
2c514a
- [md] dm-bitset: only flush the current word if it has been dirtied (Mike Snitzer) [995644]
2c514a
- [md] dm-era: support non power-of-2 blocksize (Mike Snitzer) [995644]
2c514a
- [md] dm: add era target (Mike Snitzer) [995644]
2c514a
- [md] dm-cache-mq: fix memory allocation failure for large cache devices (Mike Snitzer) [995644]
2c514a
- [md] dm-cache: fix truncation bug when mapping I/O to >2TB fast device (Mike Snitzer) [995644]
2c514a
- [md] dm-space-map-metadata: fix refcount decrement below 0 which caused corruption (Mike Snitzer) [1065051]
2c514a
- [Documentation] dm-thin: fix Documentation for held metadata root feature (Mike Snitzer) [1065051]
2c514a
- [md] dm-thin: fix noflush suspend IO queueing (Mike Snitzer) [1065051]
2c514a
- [md] dm-thin: fix deadlock in __requeue_bio_list (Mike Snitzer) [1065051]
2c514a
- [md] dm-thin: fix out of data space handling (Mike Snitzer) [1065051]
2c514a
- [md] dm-thin: ensure user takes action to validate data and metadata consistency (Mike Snitzer) [1065051]
2c514a
- [md] dm-thin: synchronize the pool mode during suspend (Mike Snitzer) [1065051]
2c514a
- [md] dm: fix Kconfig indentation (Mike Snitzer) [1065051]
2c514a
- [md] dm-thin: allow metadata space larger than supported to go unused (Mike Snitzer) [1065051]
2c514a
- [md] dm-thin: fix the error path for the thin device constructor (Mike Snitzer) [1065051]
2c514a
- [md] dm-thin: avoid metadata commit if a pool's thin devices haven't changed (Mike Snitzer) [1065051]
2c514a
- [virt] hyperv: Add support for physically discontinuous receive buffer (Jason Wang) [988689]
2c514a
- [virt] virtio-scsi: Fix hotcpu_notifier use-after-free with virtscsi_freeze (Jason Wang) [1024220]
2c514a
- [fs] pnode: smarter propagate_mnt() (Alexander Viro) [1072457]
2c514a
- [kernel] perf: Allow mmap2 interface (Jiri Olsa) [1071945]
2c514a
- [crypto] ansi_cprng: Fix off by one error in non-block size request (Radomir Vrbovsky) [1009139]
2c514a
- [fs] xfs: don't leak EFSBADCRC to userspace (Brian Foster) [1071925]
2c514a
- [fs] xfs: modify verifiers to differentiate CRC from other errors (Brian Foster) [1071925]
2c514a
- [fs] xfs: print useful caller information in xfs_error_report (Brian Foster) [1071925]
2c514a
- [fs] xfs: add xfs_verifier_error() (Brian Foster) [1071925]
2c514a
- [fs] xfs: add helper for updating checksums on xfs_bufs (Brian Foster) [1071925]
2c514a
- [fs] xfs: add helper for verifying checksums on xfs_bufs (Brian Foster) [1071925]
2c514a
- [fs] xfs: Use defines for CRC offsets in all cases (Brian Foster) [1071925]
2c514a
- [fs] xfs: skip pointless CRC updates after verifier failures (Brian Foster) [1071925]
2c514a
- [fs] xfs: limit superblock corruption errors to actual corruption (Brian Foster) [1071925]
2c514a
- [fs] xfs: skip verification on initial "guess" superblock read (Brian Foster) [1071925]
2c514a
- [fs] xfs: xfs_sb_read_verify() doesn't flag bad crcs on primary sb (Brian Foster) [1071925]
2c514a
- [md] dm-snapshot: fix data corruption (Mikulas Patocka) [1070291]
2c514a
- [ethernet] e1000e: Fix SHRA register access for 82579 (John Green) [1040315]
2c514a
- [ethernet] be2net: do external loopback test only when it is requested (Ivan Vecera) [1065833]
2c514a
- [drm] i915: fix potential oops in early irqs (Rob Clark) [1073136]
2c514a
- [security] selinux: correctly label /proc inodes in use before the policy is loaded (Paul Moore) [1071858]
2c514a
- [fs] vfs: unexport the getname() symbol (Jeff Layton) [1060739]
2c514a
- [mm] percpu scalability fixes (Alexander Viro) [1072446]
2c514a
- [kernel] uprobes: Fix the memory out of bound overwrite in copy_insn() (Oleg Nesterov) [984056]
2c514a
- [kernel] uprobes: Fix the wrong usage of current->utask in uprobe_copy_process() (Oleg Nesterov) [984056]
2c514a
- [kernel] uprobes: Teach uprobe_copy_process() to handle CLONE_VFORK (Oleg Nesterov) [984056]
2c514a
- [kernel] uprobes: Change uprobe_copy_process() to dup xol_area (Oleg Nesterov) [984056]
2c514a
- [kernel] uprobes: Change uprobe_copy_process() to dup return_instances (Oleg Nesterov) [984056]
2c514a
- [kernel] uprobes: Teach __create_xol_area() to accept the predefined vaddr (Oleg Nesterov) [984056]
2c514a
- [kernel] uprobes: Introduce __create_xol_area() (Oleg Nesterov) [984056]
2c514a
- [kernel] uprobes: Change the callsite of uprobe_copy_process() (Oleg Nesterov) [984056]
2c514a
2c514a
* Mon Mar 10 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-108.el7]
2c514a
- [scsi] megaraid_sas: fix a small problem when reading state value from hw (Tomas Henzl) [1070563]
2c514a
- [scsi] megaraid_sas: driver bug fix (Tomas Henzl) [1064509]
2c514a
- [scsi] qla2xxx: Update driver version to 8.06.00.08.07.0-k2 (Chad Dupuis) [1066003]
2c514a
- [scsi] qla2xxx: Fixup looking for a space in the outstanding_cmds array in qla2x00_alloc_iocbs() (Chad Dupuis) [1066003]
2c514a
- [scsi] qla2xxx: Set host can_queue value based on available resources (Chad Dupuis) [1066003]
2c514a
- [scsi] qla2xxx: Fix request queue null dereference (Chad Dupuis) [1058624]
2c514a
- [mm] add overcommit_kbytes sysctl variable (Jerome Marchand) [1058788]
2c514a
- [mm] factor commit limit calculation (Jerome Marchand) [1058788]
2c514a
- [drm] radeon/uvd: add kernel parameter to make uvd optional on evergreen (Jerome Glisse) [1056702]
2c514a
- [drm] radeon: free uvd ring on unload (Jerome Glisse) [1056702]
2c514a
- [s390] pci: obtain function handle in hotplug notifier (Hendrik Brueckner) [1059247]
2c514a
- [s390] pci/dma: fix accounting of allocated_pages (Hendrik Brueckner) [1059247]
2c514a
- [s390] pci: set error state for unavailable functions (Hendrik Brueckner) [1059247]
2c514a
- [s390] pci: fix removal of nonexistent pci bus (Hendrik Brueckner) [1059247]
2c514a
- [s390] pci: prevent inadvertently triggered bus scans (Hendrik Brueckner) [1059247]
2c514a
- [pci] msi: Make pci_enable_msi/msix() 'nvec' argument type as int (Myron Stowe) [1070909]
2c514a
- [pci] msi: Export MSI mode using attributes, not kobjects (Myron Stowe) [1070909]
2c514a
- [drm] nouveau: attempt to disarm all interrupts before request_irq() (Ben Skeggs) [986654]
2c514a
- [drm] nouveau: disable runtime pm by default (Ben Skeggs) [1072481]
2c514a
- [s390] appldata_os: fix cpu array size calculation (Hendrik Brueckner) [1071354]
2c514a
- [s390] cio: Fix missing subchannels after CHPID configure on (Hendrik Brueckner) [1071248]
2c514a
- [s390] pci/dma: use correct segment boundary size (Hendrik Brueckner) [1071239]
2c514a
- [scsi] isci: fix reset timeout handling (David Milburn) [1040402]
2c514a
- [wireless] ath9k: Add custom parameters for CUS198 (John Green) [1044005]
2c514a
- [ethernet] bnx2x: utilize FW 7.8.19 (Michal Schmidt) [1058008]
2c514a
- [fs] fix the performance of reading /proc/mounts and friends (Alexander Viro) [1072461]
2c514a
- [fs] namespace: mount hash table is too small (Alexander Viro) [1072451]
2c514a
- [fs] xfs: inode log reservations are still too small (Brian Foster) [1071068]
2c514a
- [fs] aio, memory-hotplug: Fix confliction when migrating and accessing ring pages (Motohiro Kosaki) [1060974]
2c514a
- [x86] only add -Werror when using RHEL7 gcc (Stefan Assmann) [1073055]
2c514a
- [mm] filemap: fix truncation crash due to exceptional entries (Johannes Weiner) [1069295 1071162]
2c514a
- [mm] Add kernel and mm data structure padding before kABI freeze (Larry Woodman) [1071438]
2c514a
- [pci] add pci_hw_vendor_status() (Prarit Bhargava) [1073062]
2c514a
- [cpufreq] pcc: Enable autoload of pcc-cpufreq for all ACPI processors (Lenny Szubowicz) [928152]
2c514a
- [idle] intel_idle: Repair large-server 50-watt idle-power regression (Lenny Szubowicz) [1054325]
2c514a
- [fs] clean up page array when uncached write send fails (Sachin Prabhu) [1063780]
2c514a
- [fs] cifs: use a flexarray in cifs_writedata (Sachin Prabhu) [1063780]
2c514a
- [mm] oom_kill: add rcu_read_lock() into find_lock_task_mm() (Oleg Nesterov) [1000335]
2c514a
- [mm] oom_kill: has_intersects_mems_allowed() needs rcu_read_lock() (Oleg Nesterov) [1000335]
2c514a
- [mm] oom_kill: change oom_kill.c to use for_each_thread() (Oleg Nesterov) [1000335]
2c514a
- [kernel] fork: introduce for_each_thread() to replace the buggy while_each_thread() (Oleg Nesterov) [1000335]
2c514a
- [kernel] fork: copy_process(), consolidate the lockless CLONE_THREAD checks (Oleg Nesterov) [1000335]
2c514a
- [kernel] fork: copy_process(), don't add the uninitialized child to thread/task/pid lists (Oleg Nesterov) [1000335]
2c514a
- [kernel] fork: copy_process(), unify CLONE_THREAD-or-thread_group_leader code (Oleg Nesterov) [1000335]
2c514a
- [fs] exec: de_thread(), use change_pid() rather than detach_pid/attach_pid (Oleg Nesterov) [1000335]
2c514a
- [powerpc] xmon: Don't signal we've entered until we're finished printing (Steve Best) [1072790]
2c514a
- [powerpc] xmon: Fix timeout loop in get_output_lock() (Steve Best) [1072790]
2c514a
- [powerpc] xmon: Don't loop forever in get_output_lock() (Steve Best) [1072790]
2c514a
2c514a
* Fri Mar 07 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-107.el7]
2c514a
- [net] make neigh_priv_len in struct net_device 16bit instead of 8bit (Jiri Benc) [1062308]
2c514a
- [net] sctp: fix sctp_sf_do_5_1D_ce to verify if we/peer is AUTH capable (Daniel Borkmann) [1070716] {CVE-2014-0101}
2c514a
- [net] sctp: fix sctp_connectx abi for ia32 emulation/compat mode (Daniel Borkmann) [1058284]
2c514a
- [net] ip_tunnel: return more precise errno value when adding tunnel fails (Florian Westphal) [1070135]
2c514a
- [net] ip_tunnel: Add fallback tunnels to the hash lists (Florian Westphal) [1070135]
2c514a
- [net] openvswitch: Fix ovs_dp_cmd_msg_size() (Francesco Fusco) [1069577]
2c514a
- [net] team: Don't allow team devices to change network namespaces (Jiri Pirko) [1069527]
2c514a
- [net] team: add support for sending multicast rejoins (Jiri Pirko) [1069520]
2c514a
- [net] convert resend IGMP to notifier event (Jiri Pirko) [1069520]
2c514a
- [net] team: add peer notification (Jiri Pirko) [1069490]
2c514a
- [net] team: remove synchronize_rcu() called during port disable (Jiri Pirko) [1069498]
2c514a
- [net] team: use kfree_rcu instead of synchronize_rcu in team_port_dev (Jiri Pirko) [1069498]
2c514a
- [net] team: remove synchronize_rcu() called during queue override change (Jiri Pirko) [1069498]
2c514a
- [net] remove last caller of skb_tail_offset() and itself (Jiri Pirko) [1068666]
2c514a
- [net] netpoll: fix position of network header (Jiri Pirko) [1068666]
2c514a
- [net] neigh: fix setting of default gc_* values (Jiri Pirko) [1067274]
2c514a
2c514a
* Thu Mar 06 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-106.el7]
2c514a
- [drm] nouveau/devinit: lock/unlock crtc regs for all devices, not just pre-nv50 (Ben Skeggs) [928744]
2c514a
- [drm] nouveau: use correct register to determine DP display bpp (Ben Skeggs) [928744]
2c514a
- [pci] Enable quirks for PCIe ACS on Intel PCH root ports (Alex Williamson) [1037684]
2c514a
- [pci] Add pci_dev_flag for ACS enable quirks (Alex Williamson) [1037684]
2c514a
- [pci] Add device-specific PCI ACS enable (Alex Williamson) [1037684]
2c514a
- [virt] hyperv-fb: kick off efifb early (Gerd Hoffmann) [1038900]
2c514a
- [virt] hyperv-fb: add support for generation 2 virtual machines (Gerd Hoffmann) [1038900]
2c514a
- [virt] hv/vmbus: use resource for hyperv mmio region (Gerd Hoffmann) [1038900]
2c514a
- [virt] hv/vmbus: add missing breaks (Gerd Hoffmann) [1038900]
2c514a
- [virt] hv/vmbus: Extract the mmio information from DSDT (Gerd Hoffmann) [1038900]
2c514a
- [s390] cio/blacklist: Perform subchannel scan only when needed (Hendrik Brueckner) [1071244]
2c514a
- [s390] css: Prevent unnecessary allocation in subchannel loop (Hendrik Brueckner) [1071244]
2c514a
- [s390] cio: Delay scan for newly available I/O devices (Hendrik Brueckner) [1071244]
2c514a
- [s390] cio: Relax subchannel scan loop (Hendrik Brueckner) [1071244]
2c514a
- [s390] cio: More efficient handling of CHPID availability events (Hendrik Brueckner) [1071244]
2c514a
- [ethernet] cxgb4: Add API to correctly calculate tuple fields (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4: Account for stid entries properly in case of IPv6 (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4: Assign filter server TIDs properly (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4: Include TCP as protocol when creating server filters (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4: Reserve stid 0 for T4/T5 adapters (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4: Add new scheme to update T4/T5 firmware (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4: Much cleaner implementation of is_t4()/is_t5() (Jay Fenlason) [1060264]
2c514a
- [ethernet] cgxb4: remove duplicate include in cxgb4.h (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4: remove unnecessary pci_set_drvdata() (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4: remove workqueue when driver registration fails (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4: Add CLIP support to store compressed IPv6 address (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4: Add routines to create and remove listening IPv6 servers (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4: Do not set net_device::dev_id to VI index (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4: Force uninitialized state if FW_ON_ADAPTER is < FW_VERSION and we're the MASTER_PF (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Use cxgb4_select_ntuple to correctly calculate ntuple fields (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Server filters are supported only for IPv4 (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Calculate the filter server TID properly (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Make _c4iw_write_mem_dma() static (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Fix formatting of physical address (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Issue RI.FINI before closing when entering TERM (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Advertise ~0ULL as max MR size (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Always do GTS write if cidx_inc == CIDXINC_MASK (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Set arp error handler for PASS_ACCEPT_RPL messages (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Fix accounting for unsignaled SQ WRs to deal with wrap (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Fix QP flush logic (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Handle newer firmware changes (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Use correct bit shift macros for vlan filter tuples (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Add support for active and passive open connection with IPv6 address (Jay Fenlason) [1060264]
2c514a
- [infiniband] cxgb4: Fix stack info leak in c4iw_create_qp() (Jay Fenlason) [1060264]
2c514a
- [scsi] cxgb4i: add support for T5 adapter (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4vf: added much cleaner implementation of is_t4() (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4vf: use DEFINE_PCI_DEVICE_TABLE (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4vf: remove unnecessary pci_set_drvdata() (Jay Fenlason) [1060264]
2c514a
- [ethernet] cxgb4vf: Staticize local symbols (Jay Fenlason) [1060264]
2c514a
- [infiniband] mlx5: Remove dependency on X86 (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Add include of <linux/slab.h> because of kzalloc()/kfree() use (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Don't set "block multicast loopback" capability (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Fix binary compatibility with libmlx5 (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Fix RC transport send queue overhead computation (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Verify reserved fields are cleared (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Remove old field for create mkey mailbox (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Abort driver cleanup if teardown hca fails (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Allow creation of QPs with zero-length work queues (Doug Ledford) [1058614]
2c514a
- [ethernet] mlx5: Fix PowerPC support (Doug Ledford) [1058614]
2c514a
- [ethernet] mlx5: Improve debugfs readability (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Add support for resize CQ (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Implement modify CQ (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Make sure doorbell record is visible before doorbell (Doug Ledford) [1058614]
2c514a
- [ethernet] mlx5: Use mlx5 core style warning (Doug Ledford) [1058614]
2c514a
- [ethernet] mlx5: Clear out struct before create QP command (Doug Ledford) [1058614]
2c514a
- [ethernet] mlx5: Fix out arg size in access_register command (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Fix micro UAR allocator (Doug Ledford) [1058614]
2c514a
- [ethernet] mlx5: Remove dead code (Doug Ledford) [1058614]
2c514a
- [infiniband] mlx5: Remove unused code in mr.c (Doug Ledford) [1058614]
2c514a
- [virt] kvm/x86: introduce periodic global clock updates (Andrew Jones) [1036457]
2c514a
- [virt] kvm/x86: rate-limit global clock updates (Andrew Jones) [1036457]
2c514a
- [mm] slub: fix page->_count corruption (again) (Rik van Riel) [1070918]
2c514a
- [kernel] stop_machine: Fix^2 race between stop_two_cpus() and stop_cpus() (Rik van Riel) [1061778 1071454]
2c514a
- [fs] proc/vmcore: prevent PT_NOTE p_memsz overflow during header update (Nigel Croxon) [1061368]
2c514a
- [ioat] dma: check DMA mapping error in ioat_dma_self_test() (Kyle McMartin) [922694]
2c514a
- [drm] nouveau/bios: add more checks to PRAMIN image fetching (Ben Skeggs) [1033345]
2c514a
- [fs] block: Fix nr_vecs for inline integrity vectors (David Milburn) [1040893]
2c514a
2c514a
* Wed Mar 05 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-105.el7]
2c514a
- [redhat] kabi: actually add symbols to the whitelists this time (Jarod Wilson) [726863]
2c514a
2c514a
* Tue Mar 04 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-104.el7]
2c514a
- [redhat] kabi: add initial whitelist checksums (Jiri Olsa) [726863]
2c514a
2c514a
* Tue Mar 04 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-103.el7]
2c514a
- [fs] epoll: do not take the nested ep->mtx on EPOLL_CTL_DEL (Rik van Riel) [1069371]
2c514a
- [fs] epoll: do not take global 'epmutex' for simple topologies (Rik van Riel) [1069371]
2c514a
- [fs] epoll: optimize EPOLL_CTL_DEL using rcu (Rik van Riel) [1069371]
2c514a
- [fs] epoll: add a reschedule point in ep_free() (Rik van Riel) [1069371]
2c514a
- [fs] eventpoll: switch epoll_ctl() to fdget (Rik van Riel) [1069371]
2c514a
- [fs] eventpoll: do not use sigprocmask() (Rik van Riel) [1069371]
2c514a
- [target] iscsi-target: Add demo-mode TPG authentication context support (Andy Grover) [1066726]
2c514a
- [target] Add se_portal_group->tpg_auth_group (Andy Grover) [1066726]
2c514a
- [mm] page-writeback: do not count anon pages as dirtyable memory (Johannes Weiner) [832482]
2c514a
- [mm] page-writeback: fix dirty_balance_reserve subtraction from dirtyable memory (Johannes Weiner) [832482]
2c514a
- [misc] stackprotector: Introduce CONFIG_CC_STACKPROTECTOR_STRONG (Jarod Wilson) [1069367]
2c514a
- [misc] stackprotector: Unify the HAVE_CC_STACKPROTECTOR logic between architectures (Jarod Wilson) [1069367]
2c514a
- [kernel] futexes: Fix futex_hashsize initialization (Larry Woodman) [1069800]
2c514a
- [kernel] futexes: Avoid taking the hb->lock if there's nothing to wake up (Larry Woodman) [1069800]
2c514a
- [kernel] futexes: Document multiprocessor ordering guarantees (Larry Woodman) [1069800]
2c514a
- [kernel] futexes: Increase hash table size for better performance (Larry Woodman) [1069800]
2c514a
- [kernel] futexes: Clean up various details (Larry Woodman) [1069800]
2c514a
- [kernel] futex: move user address verification up to common code (Larry Woodman) [1069800]
2c514a
- [kernel] futex: fix handling of read-only-mapped hugepages (Larry Woodman) [1069800]
2c514a
- [powerpc] Support crashkernel auto memory reservation on a system with 2GB or more (Steve Best) [1051974]
2c514a
- [powerpc] Set crashkernel 'auto' memory reservation threshold to 2GB (Steve Best) [1051974]
2c514a
- [s390] cio: improve cio_commit_config (Hendrik Brueckner) [1064781]
2c514a
- [s390] zfcpdump: Fix mount order for XFS and ext4 (Hendrik Brueckner) [1058307]
2c514a
- [scsi] iSCSI connection errors on logout (Chris Leech) [1000356]
2c514a
- [block] add padding to queue_limits structure (Mike Snitzer) [973669]
2c514a
- [virt] kvm/nvmx: Fix pick-up of uninjected NMIs (Marcelo Tosatti) [1069089]
2c514a
- [virt] kvm/svm: fix NMI window after iret (Radim Krcmar) [1049862]
2c514a
- [mm] exclude memoryless nodes from zone_reclaim (Steve Best) [1070491]
2c514a
- [x86] mm/srat: Skip NUMA_NO_NODE while parsing SLIT (Prarit Bhargava) [1063539]
2c514a
2c514a
* Tue Mar 04 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-102.el7]
2c514a
- [ethernet] cxgb3: remove duplicate defines (Jay Fenlason) [1060263]
2c514a
- [ethernet] cxgb3: remove unnecessary pci_set_drvdata() (Jay Fenlason) [1060263]
2c514a
- [ethernet] cxgb3: Add __GFP_NOWARN to k.alloc calls with v.alloc fallbacks (Jay Fenlason) [1060263]
2c514a
- [ethernet] cxgb3: Missing rtnl lock in error recovery (Jay Fenlason) [1060263]
2c514a
- [infiniband] cxgb3: Fix stack info leak in iwch_create_cq() (Jay Fenlason) [1060263]
2c514a
- [infiniband] cxgb3: Timeout condition is never true (Jay Fenlason) [1060263]
2c514a
- [ethernet] qlcnic: Update version to 5.3.48.2 (Chad Dupuis) [1063848]
2c514a
- [ethernet] qlcnic: Fix tx timeout (Chad Dupuis) [1063848]
2c514a
- [ethernet] qlcnic: Fix diagnostic test for all adapters (Chad Dupuis) [1063848]
2c514a
- [ethernet] qlcnic: Fix VF reset recovery (Chad Dupuis) [1063848]
2c514a
- [ethernet] qlcnic: underflow in qlcnic_validate_max_tx_rings() (Chad Dupuis) [1063848]
2c514a
- [ethernet] qlcnic: Fix backporting BUG while doing inbox submission upto 5.3.48 (Chad Dupuis) [1063848]
2c514a
- [pci] pciehp: Add hotplug_lock to serialize hotplug events (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Ensure very fast hotplug events are also processed (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Disable link notification across slot reset (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Don't check adapter or latch status while disabling (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Don't disable the link permanently during removal (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Enable link state change notifications (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Use link change notifications for hot-plug and removal (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Make check_link_active() non-static (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Move Attention & Power Indicator support tests to accessors (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Use symbolic constants for Slot Control fields (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Use symbolic constants, not hard-coded bitmask (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Simplify "Power Fault Detected" checking/clearing (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Announce slot capabilities (slot #, button, LEDs, etc) (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Make various functions void since they can't fail (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Remove error checks when accessing PCIe Capability (Myron Stowe) [1061514]
2c514a
- [pci] pciehp: Drop pciehp_readw()/pciehp_writew() wrappers (Myron Stowe) [1061514]
2c514a
- [drm] mgag200: on cards with < 2MB VRAM default to 16-bit (Dave Airlie) [1056356]
2c514a
- [drm] cirrus: correct register values for 16bpp (Dave Airlie) [1056352]
2c514a
- [infiniband] mlx4: Build the port IBoE GID table properly under bonding (Doug Ledford) [1061729]
2c514a
- [infiniband] mlx4: Do IBoE GID table resets in port based manner (Doug Ledford) [1061729]
2c514a
- [infiniband] mlx4: Do IBoE locking earlier when initializing the GID table (Doug Ledford) [1061729]
2c514a
- [infiniband] mlx4: Move rtnl locking to the right location (Doug Ledford) [1061729]
2c514a
- [infiniband] mlx4: Make sure GID index 0 is always occupied (Doug Ledford) [1061729]
2c514a
- [infiniband] mlx4: Report using RoCE IP based gids in port caps (Doug Ledford) [1061729]
2c514a
- [mm] thp: fix infinite loop on memcg OOM (Motohiro Kosaki) [1054655]
2c514a
- [mm] thp: count thp_fault_fallback anytime thp fault fails (Motohiro Kosaki) [1054655]
2c514a
- [mm] thp: consolidate code between handle_mm_fault() and, do_huge_pmd_anonymous_page() (Motohiro Kosaki) [1054655]
2c514a
- [mm] thp: do_huge_pmd_anonymous_page() cleanup (Motohiro Kosaki) [1054655]
2c514a
- [fs] nfs: fix error return in nfs4_select_rw_stateid (Steve Dickson) [1071041]
2c514a
- [fs] nfs: Use the correct net namespace in nfs4_update_server (Steve Dickson) [1071041]
2c514a
- [net] sunrpc: Fix a pipe_version reference leak (Steve Dickson) [1071041]
2c514a
- [net] sunrpc: Fix races in xs_nospace() (Steve Dickson) [1071041]
2c514a
- [fs] nfs: Do not set NFS_INO_INVALID_LABEL unless server supports labeled NFS (Steve Dickson) [1071041]
2c514a
- [target] iscsi: Fix network portal creation race (Andy Grover) [1055064]
2c514a
- [ethernet] bnx2x: Add missing bit in default Tx switching (Michal Schmidt) [1070726]
2c514a
- [pci] dev_num_vf needs to return an int, not a bool (Alex Williamson) [1066825]
2c514a
- [kernel] cgroup: update cgroup_enable_task_cg_lists() to grab siglock (Rik van Riel) [1070919]
2c514a
- [powerpc] mm: Fix mmap errno when MAP_FIXED is set and mapping exceeds the allowed address space (Jerome Marchand) [1053681]
2c514a
2c514a
* Mon Mar 03 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-101.el7]
2c514a
- [fs] btrfs: fix the race between write back and nocow buffered write (Zach Brown) [1051406]
2c514a
- [fs] btrfs: fix the wrong nocow range check (Zach Brown) [1051406]
2c514a
- [fs] btrfs: fix the reserved space leak caused by the race between nonlock dio and buffered io (Zach Brown) [1051406]
2c514a
- [fs] btrfs: cleanup unnecessary parameter and variant of prepare_pages() (Zach Brown) [1051406]
2c514a
- [fs] btrfs: fix access_ok() check in btrfs_ioctl_send() (Zach Brown) [1051282]
2c514a
- [fs] btrfs: make sure we cleanup all reloc roots if error happens (Zach Brown) [1051282]
2c514a
- [fs] btrfs: skip building backref tree for uuid and quota tree when doing balance relocation (Zach Brown) [1051282]
2c514a
- [fs] btrfs: fix an oops when doing balance relocation (Zach Brown) [1051282]
2c514a
- [fs] btrfs: don't miss skinny extent items on delayed ref head contention (Zach Brown) [1051282]
2c514a
- [fs] btrfs: call mnt_drop_write after interrupted subvol deletion (Zach Brown) [1051282]
2c514a
- [fs] btrfs: don't clear the default compression type (Zach Brown) [1051282]
2c514a
- [fs] btrfs: backport of btrfs part of "block: submit_bio_wait() conversions" (Zach Brown) [1051282]
2c514a
- [Documentation] filesystems: update btrfs tools section (Zach Brown) [1051282]
2c514a
- [Documentation] filesystems: add new btrfs mount options (Zach Brown) [1051282]
2c514a
- [fs] btrfs: update kconfig help text (Zach Brown) [1051282]
2c514a
- [fs] btrfs: fix bio_size_ok() for max_sectors > 0xffff (Zach Brown) [1051282]
2c514a
- [fs] btrfs: Use trace condition for get_extent tracepoint (Zach Brown) [1051282]
2c514a
- [fs] btrfs: fix typo in the log message (Zach Brown) [1051282]
2c514a
- [fs] btrfs: fix list delete warning when removing ordered root from the list (Zach Brown) [1051282]
2c514a
- [fs] btrfs: print bytenr instead of page pointer in check-int (Zach Brown) [1051282]
2c514a
- [fs] btrfs: remove dead codes from ctree.h (Zach Brown) [1051282]
2c514a
- [fs] btrfs: don't wait for ordered data outside desired range (Zach Brown) [1051282]
2c514a
- [fs] btrfs: fix lockdep error in async commit (Zach Brown) [1051282]
2c514a
- [fs] btrfs: avoid heavy operations in btrfs_commit_super (Zach Brown) [1051282]
2c514a
- [fs] btrfs: fix __btrfs_start_workers retval (Zach Brown) [1051282]
2c514a
- [fs] btrfs: disable online raid-repair on ro mounts (Zach Brown) [1051282]
2c514a
- [fs] btrfs: do not inc uncorrectable_errors counter on ro scrubs (Zach Brown) [1051282]
2c514a
- [fs] btrfs: only drop modified extents if we logged the whole inode (Zach Brown) [1051282]
2c514a
- [fs] btrfs: make sure to copy everything if we rename (Zach Brown) [1051282]
2c514a
- [fs] btrfs: don't BUG_ON() if we get an error walking backrefs (Zach Brown) [1051282]
2c514a
- [fs] btrfs: get rid of fdentry() (Zach Brown) [1051282]
2c514a
- [fs] btrfs: fix empty_zero_page misusage (Zach Brown) [1051282]
2c514a
- [fs] btrfs: rename btrfs_start_all_delalloc_inodes (Zach Brown) [1051282]
2c514a
- [fs] btrfs: don't wait for the completion of all the ordered extents (Zach Brown) [1051282]
2c514a
- [fs] btrfs: don't wait for all the async delalloc when shrinking delalloc (Zach Brown) [1051282]
2c514a
- [fs] btrfs: fix the confusion between delalloc bytes and metadata bytes (Zach Brown) [1051282]
2c514a
- [fs] btrfs: pick up the code for the item number calculation in flush_space() (Zach Brown) [1051282]
2c514a
- [fs] btrfs: wait for the ordered extent only when we want (Zach Brown) [1051282]
2c514a
- [fs] btrfs: remove unnecessary initialization and memory barrier in shrink_delalloc() (Zach Brown) [1051282]