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
e9e65f
%define pkgrelease 123.9.3.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
e9e65f
Source13: securebootca.cer
fcc102
Source14: secureboot.cer
e9e65f
Source15: rheldup3.x509
e9e65f
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
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
e9e65f
Summary: The Red Hat Enterprise Linux kernel ABI symbol whitelists
8481d4
Group: System Environment/Kernel
8481d4
AutoReqProv: no
8481d4
%description -n kernel-abi-whitelists
e9e65f
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
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
e9e65f
    %pesign -s -i $KernelImage -o $KernelImage.signed -a %{SOURCE13} -c %{SOURCE14} -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
5738b1
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/weak-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 $?\
5738b1
if [ -x %{_sbindir}/weak-modules ]\
5738b1
then\
5738b1
    %{_sbindir}/weak-modules --add-kernel %{KVRA}%{?1:.%{1}} || exit $?\
5738b1
fi\
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 $?\
5738b1
if [ -x %{_sbindir}/weak-modules ]\
5738b1
then\
5738b1
    %{_sbindir}/weak-modules --remove-kernel %{KVRA}%{?1:.%{1}} || exit $?\
5738b1
fi\
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\
5738b1
/lib/modules/%{KVRA}%{?2:.%{2}}/weak-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
e9e65f
* Wed Oct 29 2014 Phillip Lougher <plougher@redhat.com> [3.10.0-123.9.3.el7]
e9e65f
- [block] blkcg: fix use-after-free in __blkg_release_rcu() by making blkcg_gq refcnt an atomic_t (Vivek Goyal) [1158313 1118436]
be0c3e
9b9902
* Wed Sep 24 2014 Phillip Lougher <plougher@redhat.com> [3.10.0-123.9.2.el7]
9b9902
- [virt] kvm: fix PIT timer race condition (Petr  Matousek) [1144879 1144880] {CVE-2014-3611}
9b9902
- [virt] kvm/vmx: handle invept and invvpid vm exits gracefully (Petr  Matousek) [1145449 1116936] [1144828 1144829] {CVE-2014-3645 CVE-2014-3646}
9b9902
9b9902
* Tue Sep 23 2014 Phillip Lougher <plougher@redhat.com> [3.10.0-123.9.1.el7]
9b9902
- [md] raid6: avoid data corruption during recovery of double-degraded RAID6 (Jes Sorensen) [1143850 1130905]
9b9902
- [fs] ext4: fix type declaration of ext4_validate_block_bitmap (Lukas Czerner) [1140978 1091055]
9b9902
- [fs] ext4: error out if verifying the block bitmap fails (Lukas Czerner) [1140978 1091055]
9b9902
- [powerpc] sched: stop updating inside arch_update_cpu_topology() when nothing to be update (Gustavo Duarte) [1140300 1098372]
9b9902
- [powerpc] 64bit sendfile is capped at 2GB (Gustavo Duarte) [1139126 1107774]
9b9902
- [s390] fix restore of invalid floating-point-control (Hendrik Brueckner) [1138733 1121965]
9b9902
- [kernel] sched/fair: Rework sched_fair time accounting (Rik van Riel) [1134717 1123731]
9b9902
- [kernel] math64: Add mul_u64_u32_shr() (Rik van Riel) [1134717 1123731]
9b9902
- [kernel] workqueue: zero cpumask of wq_numa_possible_cpumask on init (Motohiro Kosaki) [1134715 1117184]
9b9902
- [cpufreq] acpi-cpufreq: skip loading acpi_cpufreq after intel_pstate (Motohiro Kosaki) [1134716 1123250]
9b9902
- [security] selinux: Increase ebitmap_node size for 64-bit configuration (Paul Moore) [1132076 922752]
9b9902
- [security] selinux: Reduce overhead of mls_level_isvalid() function call (Paul Moore) [1132076 922752]
9b9902
- [ethernet] cxgb4: allow large buffer size to have page size (Gustavo Duarte) [1130548 1078977]
9b9902
- [kernel] sched/autogroup: Fix race with task_groups list (Gustavo Duarte) [1129990 1081406]
9b9902
- [net] sctp: inherit auth_capable on INIT collisions (Daniel Borkmann) [1124337 1123763] {CVE-2014-5077}
9b9902
- [sound] alsa/control: Don't access controls outside of protected regions (Radomir Vrbovsky) [1117330 1117331] {CVE-2014-4653}
46f668
fcc102
* Mon Aug 11 2014 Phillip Lougher <plougher@redhat.com> [3.10.0-123.8.1.el7]
fcc102
- [scsi] fnic: fix broken FIP discovery by initializing multicast address (Chris Leech) [1119727 1100078]
fcc102
- [scsi] libfcoe: Make fcoe_sysfs optional / fix fnic NULL exception (Chris Leech) [1119727 1100078]
fcc102
- [fs] nfs: Don't mark the data cache as invalid if it has been flushed (Scott Mayhew) [1115817 1114054]
fcc102
- [fs] nfs: Clear NFS_INO_REVAL_PAGECACHE when we update the file size (Scott Mayhew) [1115817 1114054]
fcc102
- [fs] nfs: Fix cache_validity check in nfs_write_pageuptodate() (Scott Mayhew) [1115817 1114054]
fcc102
- [mm] hugetlb: ensure hugepage access is denied if hugepages are not supported (David Gibson) [1122115 1081671]
fcc102
- [kernel] hrtimer: Prevent all reprogramming if hang detected (Prarit Bhargava) [1113175 1094732]
fcc102
fcc102
* Tue Aug 05 2014 Phillip Lougher <plougher@redhat.com> [3.10.0-123.7.1.el7]
fcc102
- [scsi] set DID_TIME_OUT correctly (Ewan Milne) [1122575 1103881]
fcc102
- [scsi] fix invalid setting of host byte (Ewan Milne) [1122575 1103881]
fcc102
- [scsi] More USB deadlock fixes (Ewan Milne) [1122575 1103881]
fcc102
- [scsi] Fix USB deadlock caused by SCSI error handling (Ewan Milne) [1122575 1103881]
fcc102
- [scsi] Fix command result state propagation (Ewan Milne) [1122575 1103881]
fcc102
- [scsi] Fix spurious request sense in error handling (Ewan Milne) [1122575 1103881]
fcc102
- [input] synaptics: fix resolution for manually provided min/max (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] synaptics: change min/max quirk table to pnp-id matching (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] synaptics: add a matches_pnp_id helper function (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] synaptics: T540p - unify with other LEN0034 models (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] synaptics: add min/max quirk for the ThinkPad W540 (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] synaptics: add min/max quirk for ThinkPad Edge E431 (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] synaptics: add min/max quirk for ThinkPad T431s, L440, L540, S1 Yoga and X1 (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] synaptics: report INPUT_PROP_TOPBUTTONPAD property (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] Add INPUT_PROP_TOPBUTTONPAD device property (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] i8042: add firmware_id support (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] serio: add firmware_id sysfs attribute (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] synaptics: add manual min/max quirk for ThinkPad X240 (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] synaptics: add manual min/max quirk (Benjamin Tissoires) [1122559 1093449]
fcc102
- [input] synaptics: fix incorrect placement of __initconst (Benjamin Tissoires) [1122559 1093449]
fcc102
- [ethernet] be2net: Fix invocation of be_close() after be_clear() (Ivan Vecera) [1122558 1066644]
fcc102
- [ethernet] be2net: enable interrupts in EEH resume (Ivan Vecera) [1121712 1076682]
fcc102
- [ethernet] sfc: PIO:Restrict to 64bit arch and use 64-bit writes (Nikolay Aleksandrov) [1119725 1089024]
fcc102
- [kernel] ftrace: Hardcode ftrace_module_init() call into load_module() (Takahiro MUNEDA) [1119721 1061553]
fcc102
- [kernel] trace: Make register/unregister_ftrace_command __init (Takahiro MUNEDA) [1119721 1061553]
fcc102
- [block] nvme: Initialize device reference count earlier (David Milburn) [1119720 1081734]
fcc102
- [ata] ahci: accommodate tag ordered controller (David Milburn) [1117154 1083746]
fcc102
- [s390] af_iucv: recvmsg problem for SOCK_STREAM sockets (Hendrik Brueckner) [1115585 1109703]
fcc102
- [s390] af_iucv: correct cleanup if listen backlog is full (Hendrik Brueckner) [1115584 1109033]
fcc102
- [mm] Revert: vmscan: do not swap anon pages just because free+file is low (Johannes Weiner) [1114938 1102991]
fcc102
- [drm] nouveau/bios: fix a bit shift error introduced by recent commit (Ulrich Obergfell) [1114869 1089936]
fcc102
- [ethernet] bnx2x: Adapter not recovery from EEH error injection (Michal Schmidt) [1107722 1067154]
fcc102
- [kernel] auditsc: audit_krule mask accesses need bounds checking (Denys Vlasenko) [1102708 1102710] {CVE-2014-3917}
fcc102
- [block] mtip32xx: mtip_async_complete() bug fixes (Jeff Moyer) [1125776 1102281]
fcc102
- [block] mtip32xx: Unmap the DMA segments before completing the IO request (Jeff Moyer) [1125776 1102281]
fcc102
- [net] l2tp: don't fall back on UDP [get|set]sockopt (Petr  Matousek) [1119465 1119466] {CVE-2014-4943}
fcc102
- [s390] ptrace: correct insufficient sanitization when setting psw mask (Hendrik Brueckner) [1114090 1113673] {CVE-2014-3534}
0d72d7
079211
* Wed Jul 09 2014 Phillip Lougher <plougher@redhat.com> [3.10.0-123.6.1.el7]
0d72d7
- [x86] ptrace: force IRET path after a ptrace_stop() (Oleg Nesterov) [1115934 1115935] {CVE-2014-4699}
Karanbir Singh 150f4d
079211
* Wed Jul 02 2014 Phillip Lougher <plougher@redhat.com> [3.10.0-123.5.1.el7]
079211
- [net] ipv4/tunnels: fix an oops when using ipip/sit with IPsec (Jiri Pirko) [1114957 1108857]
079211
- [scsi] Add timeout to avoid infinite command retry (Ewan Milne) [1114468 1061871]
079211
- [net] filter: let bpf_tell_extensions return SKF_AD_MAX (Jiri Benc) [1114404 1079524]
079211
- [net] filter: introduce SO_BPF_EXTENSIONS (Jiri Benc) [1114404 1079524]
079211
- [net] sctp: Fix sk_ack_backlog wrap-around problem (Daniel Borkmann) [1113971 1112726] {CVE-2014-4667}
079211
- [tty] Set correct tty name in 'active' sysfs attribute (Denys Vlasenko) [1113467 1066403]
079211
- [powerpc] tm: Disable IRQ in tm_recheckpoint (Larry Woodman) [1113150 1088224]
079211
- [scsi] qla2xxx: Update version number to 8.06.00.08.07.0-k3 (Chad Dupuis) [1112389 1090378]
079211
- [scsi] qla2xxx: Reduce the time we wait for a command to complete during SCSI error handling (Chad Dupuis) [1112389 1090378]
079211
- [scsi] qla2xxx: Clear loop_id for ports that are marked lost during fabric scanning (Chad Dupuis) [1112389 1090378]
079211
- [scsi] qla2xxx: Avoid escalating the SCSI error handler if the command is not found in firmware (Chad Dupuis) [1112389 1090378]
079211
- [scsi] qla2xxx: Don't check for firmware hung during the reset context for ISP82XX (Chad Dupuis) [1112389 1090378]
079211
- [scsi] qla2xxx: Issue abort command for outstanding commands during cleanup when only firmware is alive (Chad Dupuis) [1112389 1090378]
079211
- [fs] nfs: Apply NFS_MOUNT_CMP_FLAGMASK to nfs_compare_remount_data() (Scott Mayhew) [1109407 1103805]
079211
- [ethernet] bnx2x: Fix kernel crash and data miscompare after EEH recovery (Michal Schmidt) [1107721 1101808]
079211
- [net] gro: restore frag0 optimization (and fix crash) (Michal Schmidt) [1099950 1069741]
079211
- [watchdog] hpwdt: display informative string (Nigel Croxon) [1096961 1074038]
079211
- [net] Use netlink_ns_capable to verify the permisions of netlink messages (Jiri Benc) [1094271 1094272] {CVE-2014-0181}
079211
- [net] netlink: Add variants of capable for use on netlink messages (Jiri Benc) [1094271 1094272] {CVE-2014-0181}
079211
- [net] diag: Move the permission check in sock_diag_put_filterinfo to packet_diag_dump (Jiri Benc) [1094271 1094272] {CVE-2014-0181}
079211
- [net] netlink: Rename netlink_capable netlink_allowed (Jiri Benc) [1094271 1094272] {CVE-2014-0181}
079211
- [net] diag: Fix ns_capable check in sock_diag_put_filterinfo (Jiri Benc) [1094271 1094272] {CVE-2014-0181}
079211
- [net] netlink: Fix permission check in netlink_connect() (Jiri Benc) [1094271 1094272] {CVE-2014-0181}
079211
- [kernel] cputime: Fix jiffies based cputime assumption on steal accounting (Frederic Weisbecker) [1090974 1047732]
079211
- [kernel] cputime: Bring cputime -> nsecs conversion (Frederic Weisbecker) [1090974 1047732]
079211
- [kernel] cputime: Default implementation of nsecs -> cputime conversion (Frederic Weisbecker) [1090974 1047732]
079211
- [net] mac80211: fix crash due to AP powersave TX vs. wakeup race (Jacob Tanenbaum) [1083533 1083534] {CVE-2014-2706}
079211
- [wireless] ath9k: tid->sched race in ath_tx_aggr_sleep() (Jacob Tanenbaum) [1083251 1083252] {CVE-2014-2672}
079211
- [powerpc] tm: Fix crash when forking inside a transaction (Radomir Vrbovsky) [1083214 1083215] {CVE-2014-2673}
5738b1
- [fs] aio: fix plug memory disclosure and fix reqs_active accounting backport (Jeff Moyer) [1094604 1094605] {CVE-2014-0206}
5738b1
- [fs] aio: plug memory disclosure and fix reqs_active accounting (Mateusz Guzik) [1094604 1094605] {CVE-2014-0206}
5738b1
5738b1
* Thu Jun 05 2014 Phillip Lougher <plougher@redhat.com> [3.10.0-123.4.1.el7]
5738b1
- [kernel] futex: Make lookup_pi_state more robust (Larry Woodman) [1104519 1104520] {CVE-2014-3153}
5738b1
- [kernel] futex: Always cleanup owner tid in unlock_pi (Larry Woodman) [1104519 1104520] {CVE-2014-3153}
5738b1
- [kernel] futex: Validate atomic acquisition in futex_lock_pi_atomic() (Larry Woodman) [1104519 1104520] {CVE-2014-3153}
5738b1
- [kernel] futex: prevent requeue pi on same futex (Larry Woodman) [1104519 1104520] {CVE-2014-3153}
5738b1
- [ethernet] qlcnic: Fix ethtool statistics length calculation (Michal Schmidt) [1104972 1099634]
5738b1
- Revert: [kernel] cputime: Default implementation of nsecs -> cputime conversion (Frederic Weisbecker) [1090974 1047732]
5738b1
- Revert: [kernel] cputime: Bring cputime -> nsecs conversion (Frederic Weisbecker) [1090974 1047732]
5738b1
- Revert: [kernel] cputime: Fix jiffies based cputime assumption on steal accounting (Frederic Weisbecker) [1090974 1047732]
5738b1
5738b1
* Tue Jun 03 2014 Phillip Lougher <plougher@redhat.com> [3.10.0-123.3.1.el7]
5738b1
- [kernel] mutexes: Give more informative mutex warning in the !lock->owner case (Larry Woodman) [1103629 1087655] [1103630 1087919] [1103631 1087922]
5738b1
- [kernel] mutex: replace CONFIG_HAVE_ARCH_MUTEX_CPU_RELAX with simple ifdef (Larry Woodman) [1103629 1087655] [1103630 1087919] [1103631 1087922]
5738b1
- [kernel] locking/mutexes: Introduce cancelable MCS lock for adaptive spinning (Larry Woodman) [1103629 1087655] [1103630 1087919] [1103631 1087922]
5738b1
- [kernel] locking/mutexes: Modify the way optimistic spinners are queued (Larry Woodman) [1103629 1087655] [1103630 1087919] [1103631 1087922]
5738b1
- [kernel] locking/mutexes: Return false if task need_resched() in mutex_can_spin_on_owner() (Larry Woodman) [1103629 1087655] [1103630 1087919] [1103631 1087922]
5738b1
- [kernel] Restructure the MCS lock defines and locking & Move mcs_spinlock.h into kernel/locking/ (Larry Woodman) [1103629 1087655] [1103630 1087919] [1103631 1087922]
5738b1
- [misc] arch: Introduce smp_load_acquire(), smp_store_release() (Larry Woodman) [1103629 1087655] [1103630 1087919] [1103631 1087922]
5738b1
- [kernel] locking/mutex: Fix debug_mutexes (Larry Woodman) [1103629 1087655] [1103630 1087919] [1103631 1087922]
5738b1
- [kernel] locking/mutex: Fix debug checks (Larry Woodman) [1103629 1087655] [1103630 1087919] [1103631 1087922]
5738b1
- [kernel] locking/mutexes: Unlock the mutex without the wait_lock (Larry Woodman) [1103629 1087655] [1103630 1087919] [1103631 1087922]
5738b1
5738b1
* Mon Jun 02 2014 Phillip Lougher <plougher@redhat.com> [3.10.0-123.2.1.el7]
5738b1
- [net] filter: prevent nla extensions to peek beyond the end of the message (Jiri Benc) [1096780 1096781] {CVE-2014-3144 CVE-2014-3145}
5738b1
- [block] floppy: don't write kernel-only members to FDRAWCMD ioctl output (Denys Vlasenko) [1094316 1094318] {CVE-2014-1737 CVE-2014-1738}
5738b1
- [block] floppy: ignore kernel-only members in FDRAWCMD ioctl input (Denys Vlasenko) [1094316 1094318] {CVE-2014-1737 CVE-2014-1738}
5738b1
- [net] core, nfqueue, openvswitch: Orphan frags in skb_zerocopy and handle errors (Jiri Pirko) [1091345 1079014] {CVE-2014-2568}
5738b1
- [net] ipv4: current group_info should be put after using (Jiri Benc) [1087415 1087416] {CVE-2014-2851}
5738b1
- [fs] dcache: make prepend_name() work correctly when called with negative *buflen (Mikulas Patocka) [1099048 1092746]
5738b1
- [fs] dcache: __dentry_path() fixes (Mikulas Patocka) [1099048 1092746]
5738b1
- [fs] dcache: prepend_path() needs to reinitialize dentry/vfsmount/mnt on restarts (Mikulas Patocka) [1099048 1092746]
5738b1
- [target] tcm_fc: Fix use-after-free of ft_tpg (Andy Grover) [1088110 1071340]
5738b1
- [s390] af_iucv: wrong mapping of sent and confirmed skbs (Hendrik Brueckner) [1103064 1098513]
5738b1
- [s390] kernel: avoid page table walk on user space access (Hendrik Brueckner) [1103062 1097687]
5738b1
- [s390] crypto: fix aes, des ctr mode concurrency finding (Hendrik Brueckner) [1103060 1097686]
5738b1
- [net] openvswitch: fix a possible deadlock and lockdep warning (Flavio Leitner) [1103318 1094867]
5738b1
- [mm] filemap: update find_get_pages_tag() to deal with shadow entries (Johannes Weiner) [1103065 1091795]
5738b1
- [mm] page-writeback: fix divide by zero in pos_ratio_polynom (Rik van Riel) [1103067 1091784]
5738b1
- [mm] page-writeback: add strictlimit feature (Rik van Riel) [1103067 1091784]
5738b1
- [fs] xfs: log vector rounding leaks log space (Brian Foster) [1103059 1091136]
5738b1
- [fs] xfs: truncate_setsize should be outside transactions (Brian Foster) [1103059 1091136]
5738b1
- [fs] gfs2: Fix uninitialized VFS inode in gfs2_create_inode (Abhijith Das) [1097407 1087995]
5738b1
- [kernel] futex: Fix pthread_cond_broadcast() to wake up all threads (Larry Woodman) [1103066 1084757]
5738b1
- [net] ip: generate unique IP identificator if local fragmentation is allowed (Jiri Pirko) [1090490 1076106]
5738b1
- [kernel] cputime: Fix jiffies based cputime assumption on steal accounting (Frederic Weisbecker) [1090974 1047732]
5738b1
- [kernel] cputime: Bring cputime -> nsecs conversion (Frederic Weisbecker) [1090974 1047732]
5738b1
- [kernel] cputime: Default implementation of nsecs -> cputime conversion (Frederic Weisbecker) [1090974 1047732]
5738b1
- [x86] irq, pic: Probe for legacy PIC and set legacy_pic appropriately (Vivek Goyal) [1094973 1037957]
5738b1
- [virt] hyperv/vmbus: Negotiate version 3.0 when running on ws2012r2 hosts (Vivek Goyal) [1094973 1037957]
5738b1
5738b1
* Tue May 27 2014 Phillip Lougher <plougher@redhat.com> [3.10.0-123.1.1.el7]
e7a209
- [tty] n_tty: Fix n_tty_write crash when echoing in raw mode (Aristeu Rozanski) [1094241 1094242] {CVE-2014-0196}
e7a209
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]