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
920f68
# For a kernel released for public testing, released_kernel should be 1.
920f68
# For internal testing builds during development, it should be 0.
8481d4
%global released_kernel 1
8481d4
8481d4
%define rpmversion 3.10.0
266f50
%define pkgrelease 229.4.2.el7
8481d4
920f68
# allow pkg_release to have configurable %{?dist} tag
266f50
%define specrelease 229.4.2%{?dist}
920f68
920f68
%define pkg_release %{specrelease}%{?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
920f68
# In RHEL, we always want the doc build failing to build to be a failure,
920f68
# which means settings this to false.
8481d4
%define doc_build_fail false
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).
920f68
# See also 'make debug' and 'make release'. RHEL only ever does 1.
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.
920f68
%define vdso_arches %{all_x86} x86_64 ppc ppc64 ppc64le s390 s390x
8481d4
8481d4
# Overrides for generic default options
8481d4
920f68
# only build kernel-debug on x86_64, s390x, ppc64 ppc64le
920f68
%ifnarch x86_64 s390x ppc64 ppc64le
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
920f68
%ifarch ppc64 ppc64le 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
920f68
%ifarch ppc64 ppc64le
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
920f68
%define cpupowerarchs x86_64 ppc64 ppc64le
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}\
920f68
Requires(pre): linux-firmware >= 20140911\
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
920f68
ExclusiveArch: noarch i686 x86_64 ppc ppc64 ppc64le 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
920f68
BuildRequires: python-devel, newt-devel, perl(ExtUtils::Embed)
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}
920f68
BuildRequires: elfutils-devel zlib-devel binutils-devel bison
8481d4
BuildRequires: audit-libs-devel
2c514a
%ifnarch s390 s390x
2c514a
BuildRequires: numactl-devel
2c514a
%endif
8481d4
%endif
8481d4
%if %{with_tools}
920f68
BuildRequires: pciutils-devel gettext ncurses-devel
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
920f68
%if %{?released_kernel}
266f50
Source13: securebootca.cer
fcc102
Source14: secureboot.cer
920f68
%define pesign_name redhatsecureboot301
920f68
%else
266f50
Source13: redhatsecurebootca2.cer
266f50
Source14: redhatsecureboot003.cer
920f68
%define pesign_name redhatsecureboot003
920f68
%endif
266f50
Source15: rheldup3.x509
266f50
Source16: rhelkpatch1.x509
8481d4
8481d4
Source18: check-kabi
8481d4
8481d4
Source20: Module.kabi_x86_64
8481d4
Source21: Module.kabi_ppc64
920f68
Source22: Module.kabi_ppc64le
920f68
Source23: Module.kabi_s390x
8481d4
920f68
Source25: kernel-abi-whitelists.tar.bz2
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
920f68
Source62: kernel-%{version}-ppc64le.config
920f68
Source63: kernel-%{version}-ppc64le-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.
920f68
%{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)?|.*%%{_bindir}/tmon(\.debug)?|XXX' -o kernel-tools-debuginfo.list}
8481d4
8481d4
%endif # with_tools
8481d4
8481d4
%package -n kernel-abi-whitelists
266f50
Summary: The Red Hat Enterprise Linux kernel ABI symbol whitelists
8481d4
Group: System Environment/Kernel
8481d4
AutoReqProv: no
8481d4
%description -n kernel-abi-whitelists
266f50
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}}\
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
266f50
    %pesign -s -i $KernelImage -o $KernelImage.signed -a %{SOURCE13} -c %{SOURCE14} -n %{pesign_name}
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
920f68
%ifarch ppc64 ppc64le
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
920f68
%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} lib=%{_lib}
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
920f68
pushd tools
920f68
make tmon
920f68
popd
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
920f68
INSTALL_KABI_PATH=$RPM_BUILD_ROOT/lib/modules/
8481d4
mkdir -p $INSTALL_KABI_PATH
8481d4
920f68
# install kabi releases directories
920f68
tar xjvf %{SOURCE25} -C $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
920f68
# remove the 'trace' symlink.
920f68
rm -f $RPM_BUILD_ROOT/%{_bindir}/trace
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)
920f68
%{perf_make} DESTDIR=$RPM_BUILD_ROOT try-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
920f68
pushd tools/thermal/tmon
920f68
make INSTALL_ROOT=%{buildroot} install
920f68
popd
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
920f68
%if %{with_doc}
920f68
# Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel
920f68
mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/%{rpmversion}-%{pkgrelease}
920f68
install -m 0644 %{SOURCE13} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/%{rpmversion}-%{pkgrelease}/kernel-signing-ca.cer
920f68
%endif
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\
920f68
       hardlink -c /usr/src/kernels/*.%{?dist}.*/$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}}\
5738b1
if [ -x %{_sbindir}/weak-modules ]\
5738b1
then\
5738b1
    %{_sbindir}/weak-modules --add-kernel %{KVRA}%{?1:.%{1}} || exit $?\
5738b1
fi\
920f68
%{_sbindir}/new-kernel-pkg --package kernel%{?-v:-%{-v*}} --mkinitrd --dracut --depmod --update %{KVRA}%{?-v:.%{-v*}} || exit $?\
920f68
%{_sbindir}/new-kernel-pkg --package kernel%{?1:-%{1}} --rpmposttrans %{KVRA}%{?1:.%{1}} || exit $?\
8481d4
%{nil}
8481d4
8481d4
#
8481d4
# This macro defines a %%post script for a kernel package and its devel package.
8481d4
#	%%kernel_variant_post [-v <subpackage>] [-r <replace>]
8481d4
# More text can follow to go at the end of this variant's %%post.
8481d4
#
8481d4
%define kernel_variant_post(v:r:) \
8481d4
%{expand:%%kernel_devel_post %{?-v*}}\
8481d4
%{expand:%%kernel_variant_posttrans %{?-v*}}\
8481d4
%{expand:%%post %{?-v*}}\
8481d4
%{-r:\
8481d4
if [ `uname -i` == "x86_64" ] &&\
8481d4
   [ -f /etc/sysconfig/kernel ]; then\
8481d4
  /bin/sed -r -i -e 's/^DEFAULTKERNEL=%{-r*}$/DEFAULTKERNEL=kernel%{?-v:-%{-v*}}/' /etc/sysconfig/kernel || exit $?\
8481d4
fi}\
8481d4
%{expand:\
2c514a
%{_sbindir}/new-kernel-pkg --package kernel%{?-v:-%{-v*}} --install %{KVRA}%{?-v:.%{-v*}} || exit $?\
8481d4
}\
8481d4
%{nil}
8481d4
8481d4
#
8481d4
# This macro defines a %%preun script for a kernel package.
8481d4
#	%%kernel_variant_preun <subpackage>
8481d4
#
8481d4
%define kernel_variant_preun() \
8481d4
%{expand:%%preun %{?1}}\
2c514a
%{_sbindir}/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVRA}%{?1:.%{1}} || exit $?\
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/*
920f68
%{_datadir}/doc/kernel-keys/%{rpmversion}-%{pkgrelease}/kernel-signing-ca.cer
920f68
%dir %{_datadir}/doc/kernel-keys/%{rpmversion}-%{pkgrelease}
920f68
%dir %{_datadir}/doc/kernel-keys
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/*
920f68
%{_libdir}/traceevent
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
920f68
%endif
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
920f68
%{_bindir}/tmon
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
266f50
* Fri Apr 24 2015 Phillip Lougher <plougher@redhat.com> [3.10.0-229.4.2.el7]
266f50
- [x86] crypto: aesni - fix memory usage in GCM decryption (Kurt Stutsman) [1213331 1212178] {CVE-2015-3331}
266f50
266f50
* Tue Apr 14 2015 Phillip Lougher <plougher@redhat.com> [3.10.0-229.4.1.el7]
266f50
- [crypto] x86: sha256_ssse3 - also test for BMI2 (Herbert Xu) [1211484 1201563]
266f50
- [crypto] testmgr: fix RNG return code enforcement (Herbert Xu) [1211487 1198978]
266f50
- [crypto] rng: RNGs must return 0 in success case (Herbert Xu) [1211487 1198978]
266f50
- [crypto] x86: sha1 - reduce size of the AVX2 asm implementation (Herbert Xu) [1211291 1177968]
266f50
- [crypto] x86: sha1 - fix stack alignment of AVX2 variant (Herbert Xu) [1211291 1177968]
266f50
- [crypto] x86: sha1 - re-enable the AVX variant (Herbert Xu) [1211291 1177968]
266f50
- [crypto] sha: SHA1 transform x86_64 AVX2 (Herbert Xu) [1211291 1177968]
266f50
- [crypto] sha-mb: sha1_mb_alg_state can be static (Herbert Xu) [1211290 1173756]
266f50
- [crypto] mcryptd: mcryptd_flist can be static (Herbert Xu) [1211290 1173756]
266f50
- [crypto] sha-mb: SHA1 multibuffer job manager and glue code (Herbert Xu) [1211290 1173756]
266f50
- [crypto] sha-mb: SHA1 multibuffer crypto computation (x8 AVX2) (Herbert Xu) [1211290 1173756]
266f50
- [crypto] sha-mb: SHA1 multibuffer submit and flush routines for AVX2 (Herbert Xu) [1211290 1173756]
266f50
- [crypto] sha-mb: SHA1 multibuffer algorithm data structures (Herbert Xu) [1211290 1173756]
266f50
- [crypto] sha-mb: multibuffer crypto infrastructure (Herbert Xu) [1211290 1173756]
266f50
- [kernel] sched: Add function single_task_running to let a task check if it is the only task running on a cpu (Herbert Xu) [1211290 1173756]
266f50
- [crypto] ahash: initialize entry len for null input in crypto hash sg list walk (Herbert Xu) [1211290 1173756]
266f50
- [crypto] ahash: Add real ahash walk interface (Herbert Xu) [1211290 1173756]
266f50
- [char] random: account for entropy loss due to overwrites (Herbert Xu) [1211288 1110044]
266f50
- [char] random: allow fractional bits to be tracked (Herbert Xu) [1211288 1110044]
266f50
- [char] random: statically compute poolbitshift, poolbytes, poolbits (Herbert Xu) [1211288 1110044]
266f50
266f50
* Thu Apr 09 2015 Phillip Lougher <plougher@redhat.com> [3.10.0-229.3.1.el7]
266f50
- [netdrv] mlx4_en: tx_info->ts_requested was not cleared (Doug Ledford) [1209240 1178070]
266f50
266f50
* Thu Apr 02 2015 Phillip Lougher <plougher@redhat.com> [3.10.0-229.2.1.el7]
266f50
- [char] tpm: Added Little Endian support to vtpm module (Steve Best) [1207051 1189017]
266f50
- [powerpc] pseries: Fix endian problems with LE migration (Steve Best) [1207050 1183198]
266f50
- [iommu] vt-d: Work around broken RMRR firmware entries (Myron Stowe) [1205303 1195802]
266f50
- [iommu] vt-d: Store bus information in RMRR PCI device path (Myron Stowe) [1205303 1195802]
266f50
- [s390] zcrypt: enable s390 hwrng to seed kernel entropy (Hendrik Brueckner) [1205300 1196398]
266f50
- [s390] zcrypt: improve device probing for zcrypt adapter cards (Hendrik Brueckner) [1205300 1196398]
266f50
- [net] team: fix possible null pointer dereference in team_handle_frame (Jiri Pirko) [1202359 1188496]
266f50
- [fs] fsnotify: fix handling of renames in audit (Paul Moore) [1202358 1191562]
266f50
- [net] openvswitch: Fix net exit (Jiri Benc) [1202357 1200859]
266f50
- [fs] gfs2: Move gfs2_file_splice_write outside of #ifdef (Robert S Peterson) [1201256 1193910]
266f50
- [fs] gfs2: Allocate reservation during splice_write (Robert S Peterson) [1201256 1193910]
266f50
- [crypto] aesni: fix "by8" variant for 128 bit keys (Herbert Xu) [1201254 1174971]
266f50
- [crypto] aesni: remove unused defines in "by8" variant (Herbert Xu) [1201254 1174971]
266f50
- [crypto] aesni: fix counter overflow handling in "by8" variant (Herbert Xu) [1201254 1174971]
266f50
- [crypto] aes: AES CTR x86_64 "by8" AVX optimization (Herbert Xu) [1201254 1174971]
266f50
- [kernel] audit: restore AUDIT_LOGINUID unset ABI (Richard Guy Briggs) [1197748 1120491]
266f50
- [kernel] audit: replace getname()/putname() hacks with reference counters (Paul Moore) [1197746 1155208]
266f50
- [kernel] audit: fix filename matching in __audit_inode() and __audit_inode_child() (Paul Moore) [1197746 1155208]
266f50
- [kernel] audit: enable filename recording via getname_kernel() (Paul Moore) [1197746 1155208]
266f50
- [fs] namei: simpler calling conventions for filename_mountpoint() (Paul Moore) [1197746 1155208]
266f50
- [fs] namei: create proper filename objects using getname_kernel() (Paul Moore) [1197746 1155208]
266f50
- [fs] namei: rework getname_kernel to handle up to PATH_MAX sized filenames (Paul Moore) [1197746 1155208]
266f50
- [fs] namei: cut down the number of do_path_lookup() callers (Paul Moore) [1197746 1155208]
266f50
- [fs] execve: use 'struct filename *' for executable name passing (Paul Moore) [1197746 1155208]
e56d92
- [infiniband] core: Prevent integer overflow in ib_umem_get address arithmetic (Doug Ledford) [1181177 1179347] {CVE-2014-8159}
e56d92
e56d92
* Thu Mar 05 2015 Phillip Lougher <plougher@redhat.com> [3.10.0-229.1.1.el7]
e56d92
- [crypto] testmgr: mark rfc4106(gcm(aes)) as fips_allowed (Jarod Wilson) [1197751 1185400]
e56d92
- [virt] storvsc: ring buffer failures may result in I/O freeze (Vitaly Kuznetsov) [1197749 1171409]
e56d92
- [md] dm-thin: don't allow messages to be sent to a pool target in READ_ONLY or FAIL mode (Mike Snitzer) [1197745 1184592]
e56d92
- [kernel] workqueue: fix subtle pool management issue which can stall whole worker_pool (Eric Sandeen) [1197744 1165535]
e56d92
- [platform] thinkpad_acpi: support new BIOS version string pattern (Benjamin Tissoires) [1197743 1194830]
e56d92
- [x86] ioapic: kcrash: Prevent crash_kexec() from deadlocking on ioapic_lock (Baoquan He) [1197742 1182424]
e56d92
- [net] sctp: fix slab corruption from use after free on INIT collisions (Daniel Borkmann) [1196588 1183959] {CVE-2015-1421}
eb6f03
920f68
* Thu Jan 29 2015 Jarod Wilson <jarod@redhat.com> [3.10.0-229.el7]
920f68
- [net] rtnetlink: allow to register ops without ops->setup set (Jiri Benc) [1186492]
920f68
920f68
* Thu Jan 29 2015 Jarod Wilson <jarod@redhat.com> [3.10.0-228.el7]
920f68
- [fs] NFSv4.1: Fix an Oops in nfs41_walk_client_list (Steve Dickson) [1185784]
920f68
- [misc] redhat: don't suppress Revert patches from changelog (Jarod Wilson) [1187353]
920f68
- [infiniband] Revert: ipoib: Consolidate rtnl_lock tasks in workqueue (Doug Ledford) [1179740]
920f68
- [infiniband] Revert: ipoib: Make the carrier_on_task race aware (Doug Ledford) [1179740]
920f68
- [infiniband] Revert: ipoib: fix MCAST_FLAG_BUSY usage (Doug Ledford) [1179740]
920f68
- [infiniband] Revert: ipoib: fix mcast_dev_flush/mcast_restart_task race (Doug Ledford) [1179740]
920f68
- [infiniband] Revert: ipoib: change init sequence ordering (Doug Ledford) [1179740]
920f68
- [infiniband] Revert: ipoib: Use dedicated workqueues per interface (Doug Ledford) [1179740]
920f68
- [infiniband] Revert: ipoib: Make ipoib_mcast_stop_thread flush the workqueue (Doug Ledford) [1179740]
920f68
- [infiniband] Revert: ipoib: No longer use flush as a parameter (Doug Ledford) [1179740]
920f68
- [fs] fix deadlock in cifs_ioctl_clone() (Sachin Prabhu) [1183980]
920f68
- [md] dm-cache: fix missing ERR_PTR returns and handling (Mike Snitzer) [1182665]
920f68
- [fs] cifs: fix regression in cifs_create_mf_symlink() (Sachin Prabhu) [1186324]
920f68
- [net] ipv4: try to cache dst_entries which would cause a redirect (Hannes Frederic Sowa) [1181819]
920f68
- [fs] coredump: add new P variable in core_pattern (Jiri Olsa) [1186360]
920f68
- [drm] fix fb-helper vs MST dangling connector ptrs (Rob Clark) [1184968]
920f68
- [net] bridge: Program port vlan filters only if filtering is enabled in bridge (Vlad Yasevich) [1183958]
920f68
- [fs] cifs: Complete oplock break jobs before closing file handle (Sachin Prabhu) [1177215]
920f68
- [fs] LOCKD: Fix a race when initialising nlmsvc_timeout (Benjamin Coddington) [1144982]
920f68
- [scsi] hpsa: add in P840ar controller model name (Joseph Szczypek) [1185467]
920f68
- [scsi] hpsa: add in gen9 controller model names (Joseph Szczypek) [1185467]
920f68
920f68
* Tue Jan 27 2015 Jarod Wilson <jarod@redhat.com> [3.10.0-227.el7]
920f68
- [fs] ext4: fix overwrite race condition (Jacob Tanenbaum) [1152607] {CVE-2014-8086}
920f68
- [media] ttusb-dec: buffer overflow in ioctl (Alexander Gordeev) [1167116] {CVE-2014-8884}
920f68
- [drm] i915: demote opregion excessive timeout WARN_ONCE to DRM_INFO_ONCE (Rob Clark) [1145627]
920f68
- [md] Revert: raid56: Don't perform reads to support writes until stripe is ready (Jes Sorensen) [1153796]
920f68
- [md] Revert: raid5: avoid livelock caused by non-aligned writes (Jes Sorensen) [1153796]
920f68
- [drm] i915: further quiet i915 (Rob Clark) [1163074]
920f68
- [scsi] megaraid_sas: endianness related bug fixes and code optimization (Tomas Henzl) [1179748]
920f68
- [s390] crypto: kernel oops at insmod of the z90crypt device driver (Hendrik Brueckner) [1172136]
920f68
- [drm] mgag200: Add command line option to specify preferred depth (Dave Airlie) [1044555]
920f68
- [drm] mgag200: Consolidate depth/bpp handling (Dave Airlie) [1044555]
920f68
- [fs] Revert: ext4: revert Disable punch hole on non-extent mapped files (Lukas Czerner) [1176840]
920f68
920f68
* Sun Jan 25 2015 Jarod Wilson <jarod@redhat.com> [3.10.0-226.el7]
920f68
- [md] dm-cache: fix problematic dual use of a single migration count variable (Mike Snitzer) [1182665]
920f68
- [md] dm-cache: share cache-metadata object across inactive and active DM tables (Mike Snitzer) [1182665]
920f68
- [net] tun/macvtap: use consume_skb() instead of kfree_skb() when needed (Jiri Pirko) [1182805]
920f68
- [virt] Revert: hyperv: Add handler for RNDIS_STATUS_NETWORK_CHANGE event (Jason Wang) [1164163]
920f68
- [virt] kvm/vmx: invalid host cr4 handling across vm entries (Jacob Tanenbaum) [1153329] {CVE-2014-3690}
920f68
- [virt] virtio-scsi: Fix the race condition in virtscsi_handle_event (Fam Zheng) [1152140]
920f68
- [virt] kvm: workaround SuSE's 2.6.16 pvclock vs masterclock issue (Marcelo Tosatti) [1177718]
920f68
- [fs] bdi: avoid oops on device removal (Fam Zheng) [1087179]
920f68
- [mm] backing_dev: fix hung task on sync (Fam Zheng) [1087179]
920f68
- [mm] Revert: vmstat: create separate function to fold per cpu diffs into local counters (Larry Woodman) [1179654]
920f68
- [mm] Revert: vmstat: create fold_diff (Larry Woodman) [1179654]
920f68
- [mm] Revert: vmstat: use this_cpu() to avoid irqon/off sequence in refresh_cpu_vm_stats (Larry Woodman) [1179654]
920f68
- [mm] Revert: vmstat: on-demand vmstat workers V8 (Larry Woodman) [1179654]
920f68
920f68
* Thu Jan 22 2015 Jarod Wilson <jarod@redhat.com> [3.10.0-225.el7]
920f68
- [net] team: avoid possible underflow of count_pending value for notify_peers and mcast_rejoin (Jiri Pirko) [1176697]
920f68
- [fs] seq_file: don't include mm.h in genksyms calculation (Ian Kent) [1183280]
920f68
- [scsi] Avoid crashing if device uses DIX but adapter does not support it (Ewan Milne) [1093012]
920f68
920f68
* Mon Jan 19 2015 Jarod Wilson <jarod@redhat.com> [3.10.0-224.el7]
920f68
- [fs] xfs: catch invalid negative blknos in _xfs_buf_find() (Eric Sandeen) [1164128]
920f68
- [fs] proc: make proc_fd_permission() thread-friendly (Carlos Maiolino) [1171242]
920f68
- [fs] rpc: fix xdr_truncate_encode to handle buffer ending on page boundary ("J. Bruce Fields") [1176641]
920f68
- [fs] nfs: nfs4_fl_prepare_ds, fix bugs when the connect attempt fails (Steve Dickson) [1113248]
920f68
- [fs] gfs2: fix bad inode i_goal values during block allocation (Abhijith Das) [1144209]
920f68
- [fs] nfsd: allow turning off nfsv3 readdir_plus (Steve Dickson) [1178949]
920f68
- [fs] nfsd4: fix xdr4 count of server in fs_location4 (Benjamin Coddington) [1164055]
920f68
- [fs] nfsd4: fix xdr4 inclusion of escaped char (Benjamin Coddington) [1164055]
920f68
- [fs] xfs: replace global xfslogd wq with per-mount wq (Brian Foster) [1155929]
920f68
- [fs] xfs: mark all internal workqueues as freezable (Brian Foster) [1155929]
920f68
- [fs] overlayfs: Add call to mark_tech_preview (BZ 1180613) (David Howells) [1180613]
920f68
- [fs] aio: fix uncorrent dirty pages accouting when truncating AIO ring buffer (Jeff Moyer) [1159346]
920f68
- [infiniband] ocrdma: fix hardcoded max cqe and max send wr (Doug Ledford) [1158148]
920f68
- [crypto] aesni-intel: Add support for 192 & 256 bit keys to AESNI RFC4106 (Jarod Wilson) [1176266]
920f68
- [block] blk-mq: Fix a use-after-free (Fam Zheng) [1152159]
920f68
- [crypto] drbg: panic on continuous self test error (Jarod Wilson) [1179496]
920f68
- [ethernet] mlx4: Cache line CQE/EQE stride fixes (Doug Ledford) [1088499 1173483]
920f68
- [ethernet] mlx4: Add mlx4_en_get_cqe helper (Doug Ledford) [1088499 1173483]
920f68
- [ethernet] mlx4: Cache line EQE size support (Doug Ledford) [1088499 1173483]
920f68
- [infiniband] ocrdma: Fix ocrdma_query_qp() to report q_key value for UD QPs (Doug Ledford) [1167256]
920f68
- [infiniband] ocrdma: Always resolve destination mac from GRH for UD QPs (Doug Ledford) [1167256]
920f68
- [net] gre: fix the inner mac header in nbma tunnel xmit path (Alexander Duyck) [1168608]
920f68
920f68
* Tue Jan 13 2015 Jarod Wilson <jarod@redhat.com> [3.10.0-223.el7]
920f68
- [md] dm-thin: fix crash by initializing thin device's refcount and completion earlier (Mike Snitzer) [1175282]
920f68
- [scsi] storvsc: Fix a bug in storvsc limits (Vitaly Kuznetsov) [1174162]
920f68
- [iser-target] Ignore non TEXT + LOGOUT opcodes for discovery (Andy Grover) [1058736]
920f68
- [iser-target] Add support for ISCSI_OP_TEXT opcode + payload handling (Andy Grover) [1058736]
920f68
- [iser-target] Rename sense_buf_dma/len to pdu_dma/len (Andy Grover) [1058736]
920f68
- [iscsi-target] Add IFC_SENDTARGETS_SINGLE support (Andy Grover) [1058736]
920f68
- [iscsi-target] Move sendtargets parsing into iscsit_process_text_cmd (Andy Grover) [1058736]
920f68
- [iscsi-target] Allow ->MaxXmitDataSegmentLength assignment for iser discovery (Andy Grover) [1058736]
920f68
- [iscsi-target] Refactor ISCSI_OP_TEXT_RSP TX handling (Andy Grover) [1058736]
920f68
- [iscsi-target] Refactor ISCSI_OP_TEXT RX handling (Andy Grover) [1058736]
920f68
- [iscsi] isert-target: Refactor ISCSI_OP_NOOP RX handling (Andy Grover) [1058736]
920f68
- [net] description of dma_cookie cause make xmldocs warning (Jiri Benc) [1173444]
920f68
- [net] tcp: make tcp_cleanup_rbuf private (Jiri Benc) [1173444]
920f68
- [net] net_dma: revert 'copied_early' (Jiri Benc) [1173444]
920f68
- [net] net_dma: mark broken (Jiri Benc) [1173444]
920f68
- [net] unix: allow set_peek_off to fail (Jiri Benc) [1123777]
920f68
- [net] ppp: ppp-ioctl.h: pull in ppp_defs.h (Jiri Benc) [1159802]
920f68
- [net] bridge: Add filtering support for default_pvid (Vlad Yasevich) [1164653]
920f68
- [net] bridge: Simplify pvid checks (Vlad Yasevich) [1164653]
920f68
- [net] bridge: Add a default_pvid sysfs attribute (Vlad Yasevich) [1164653]
920f68
- [net] bridge: Prepare for 802.1ad vlan filtering support (Vlad Yasevich) [1164653]
920f68
- [net] bridge: Fix the way to check if a local fdb entry can be deleted (Vlad Yasevich) [1164653]
920f68
- [net] bridge: Fix the way to insert new local fdb entries in br_fdb_changeaddr (Vlad Yasevich) [1164653]
920f68
- [net] Remove extern from function prototypes (Vlad Yasevich) [1164653]
920f68
- [ethernet] mlx5: Add more supported devices (Amir Vadai) [1169277]
920f68
- [infiniband] mlx4: Fix wrong usage of IPv4 protocol for multicast attach/detach (Amir Vadai) [1151331]
920f68
- [ethernet] mlx4: mlx4_en_set_settings() always fails when autoneg is set (Amir Vadai) [1170129]
920f68
920f68
* Thu Jan 08 2015 Jarod Wilson <jarod@redhat.com> [3.10.0-222.el7]
920f68
- [scsi] qla2xxx: Update version number to 8.07.00.08.07.1-k2 (Chad Dupuis) [1085239]
920f68
- [scsi] qla2xxx: Move mailbox failure messages to a default debug level (Chad Dupuis) [1085239]
920f68
- [security] commoncap: don't alloc the credential unless needed in cap_task_prctl (Paul Moore) [1056347]
920f68
- [iommu] vt-d: Fix dmar_domain leak in iommu_attach_device (Myron Stowe) [1109829]
920f68
- [iommu] vt-d: Only remove domain when device is removed (Myron Stowe) [1109829]
920f68
- [base] core: Add BUS_NOTIFY_REMOVED_DEVICE event (Myron Stowe) [1109829]
920f68
- [powerpc] kdump: Ignore failure in enabling big endian exception during crash (Steve Best) [1170362]
920f68
- [infiniband] srpt: convert printk's to pr_* functions (Doug Ledford) [1174910]
920f68
- [infiniband] srpt: Handle GID change events (Doug Ledford) [1174910]
920f68
- [input] alps: fix v4 button press recognition (Benjamin Tissoires) [1107819]
920f68
- [input] alps: v7 - document the v7 touchpad packet protocol (Benjamin Tissoires) [1107819]
920f68
- [input] alps: v7 - fix finger counting for > 2 fingers on clickpads (Benjamin Tissoires) [1107819]
920f68
- [input] alps: v7 - sometimes a single touch is reported in mt[1] (Benjamin Tissoires) [1107819]
920f68
- [input] alps: v7 - ignore new packets (Benjamin Tissoires) [1107819]
920f68
- [powerpc] perf/hv-24x7: Use kmem_cache_free() instead of kfree (Gustavo Duarte) [1171795]
920f68
- [powerpc] perf/hv-24x7: Use per-cpu page buffer (Gustavo Duarte) [1171795]
920f68
- [powerpc] perf/hv-24x7: use kmem_cache instead of aligned stack allocations (Gustavo Duarte) [1171795]
920f68
- [powerpc] perf/hv-24x7: Use kmem_cache_free (Gustavo Duarte) [1171795]
920f68
- [powerpc] Fill in si_addr_lsb siginfo field (Gustavo Duarte) [1173267]
920f68
- [powerpc] Add VM_FAULT_HWPOISON handling to powerpc page fault handler (Gustavo Duarte) [1173267]
920f68
- [fs] dlm: fix missing endian conversion of rcom_status flags (Andrew Price) [1175900]
920f68
- [scsi] add Intel Multi-Flex to scsi scan blacklist (Hannes Frederic Sowa) [1175862]
920f68
- [scsi] do not issue SCSI RSOC command to Promise Vtrak E610f (Hannes Frederic Sowa) [1175862]
920f68
- [scsi] scsi_lib: rate-limit the error message from failing commands (Tomas Henzl) [1175785]
920f68
- [scsi] iscsi_ibft: Fix finding Broadcom specific ibft sign (Chris Leech) [1095169]
920f68
920f68
* Tue Jan 06 2015 Jarod Wilson <jarod@redhat.com> [3.10.0-221.el7]
920f68
- [ethernet] enic: fix rx skb checksum (Stefan Assmann) [1154182]
920f68
- [x86] uv: make kdump default action for 'power nmi' (George Beshers) [1175560]
920f68
- [virt] powerpc/kvm: book3s_hv - Fix KSM memory corruption (David Gibson) [1170394]
920f68
- [pci] Revert: Remove from bus_list and release resources in pci_release_dev() (Prarit Bhargava) [1172946]
920f68
- [powercap] rapl: add support for CPU model 0x3f (Rui Wang) [1177579]
920f68
- [kernel] audit: don't attempt to lookup PIDs when changing PID filtering audit rules (Paul Moore) [1172624]
920f68
- [ethernet] ixgbe: avoid possible read_reg panic caused by late method binding (John Greene) [1145772]
920f68
- [ethernet] ixgbe: bump version number (John Greene) [1145772]
920f68
- [ethernet] ixgbe: Add X550 support function pointers (John Greene) [1145772]
920f68
- [ethernet] ixgbe: Add new support for X550 MAC's (John Greene) [1145772]
920f68
- [ethernet] ixgbe: Add x550 SW/FW semaphore support (John Greene) [1145772]
920f68
- [ethernet] ixgbe: add methods for combined read and write operations (John Greene) [1145772]
920f68
- [ethernet] ixgbe: cleanup checksum to allow error results (John Greene) [1145772]
920f68
- [ethernet] ixgbe: Add timeout parameter to ixgbe_host_interface_command (John Greene) [1145772]
920f68
- [ethernet] ixgbe: Fix spurious release of semaphore in EEPROM access (John Greene) [1145772]
920f68
- [drm] i915: remove the IRQs enabled WARN from intel_disable_gt_powersave (Rob Clark) [1173317]
920f68
- [drm] i915: tame the chattermouth (Rob Clark) [1173317]
920f68
- [drm] ttm: Avoid memory allocation from shrinker functions (Rob Clark) [1173317]
920f68
- [drm] ttm: Fix possible stack overflow by recursive shrinker calls (Rob Clark) [1173317]
920f68
- [drm] ttm: Use mutex_trylock() to avoid deadlock inside shrinker functions (Rob Clark) [1173317]
920f68
- [drm] video/fb: Propagate error code from failing to unregister conflicting fb (Rob Clark) [1173317]
920f68
- [drm] i915: save/restore GMBUS freq across suspend/resume on gen4 (Rob Clark) [1173317]
920f68
- [drm] i915: resume MST after reading back hw state (Rob Clark) [1173317]
920f68
- [drm] dp-mst: Remove branches before dropping the reference (Rob Clark) [1173317]
920f68
- [drm] fb_helper: move deferred fb checking into restore mode (Rob Clark) [1173317]
920f68
- [drm] dp: retry AUX transactions 32 times (v1.1) (Rob Clark) [1173317]
920f68
- [drm] i915: Ignore long hpds on eDP ports (Rob Clark) [1173317]
920f68
- [drm] i915/dp: only use training pattern 3 on platforms that support it (Rob Clark) [1173317]
920f68
- [drm] radeon: sync all BOs involved in a CS (Rob Clark) [1173317]
920f68
- [drm] radeon: kernel panic in drm_calc_vbltimestamp_from_scanoutpos with 3.18.0-rc6 (Rob Clark) [1173317]
920f68
- [drm] i915: Unlock panel even when LVDS is disabled (Rob Clark) [1173317]
920f68
- [drm] i915: More cautious with pch fifo underruns (Rob Clark) [1173317]
920f68
- [drm] i915: Ignore SURFLIVE and flip counter when the GPU gets reset (Rob Clark) [1173317]
920f68
- [drm] i915: Kick fbdev before vgacon (Rob Clark) [1173317]
920f68
- [drm] i915: Handle failure to kick out a conflicting fb driver (Rob Clark) [1173317]
920f68
- [drm] i915: drop WaSetupGtModeTdRowDispatch:snb (Rob Clark) [1173317]
920f68
- [drm] radeon: add locking around atombios scratch space usage (Rob Clark) [1173317]
920f68
- [drm] radeon: add missing crtc unlock when setting up the MC (Rob Clark) [1173317]
920f68
- [drm] i915: Disable caches for Global GTT (Rob Clark) [1173317]
920f68
- [drm] i915: Do not leak pages when freeing userptr objects (Rob Clark) [1173317]
920f68
- [drm] ast: Fix HW cursor image (Rob Clark) [1173317]
920f68
- [drm] radeon: Use drm_malloc_ab instead of kmalloc_array (Rob Clark) [1173317]
920f68
- [drm] radeon/dpm: disable ulv support on SI (Rob Clark) [1173317]
920f68
- [drm] i915: Do a dummy DPCD read before the actual read (Rob Clark) [1173317]
920f68
- [drm] nouveau/bios: memset dcb struct to zero before parsing (Rob Clark) [1173317]
920f68
- [drm] nv50/disp: fix dpms regression on certain boards (Rob Clark) [1173317]
920f68
- [drm] nouveau/ltc: fix cbc issues on certain boards (Rob Clark) [1173317]
920f68
- [drm] nouveau/ltc: fix tag base address getting truncated if above 4GiB (Rob Clark) [1173317]
920f68
- [drm] nvc0-/fb/ram: fix use of non-existant ram if partitions aren't uniform (Rob Clark) [1173317]
920f68
- [drm] nouveau/bar: behave better if ioremap failed (Rob Clark) [1173317]
920f68
- [drm] nouveau: make sure display hardware is reinitialised on runtime resume (Rob Clark) [1173317]
920f68
- [drm] nouveau: punt fbcon resume out to a workqueue (Rob Clark) [1173317]
920f68
- [drm] nouveau/kms: restore acceleration before fb_set_suspend() resumes (Rob Clark) [1173317]
920f68
- [drm] nouveau/kms: take more care when pulling down accelerated fbcon (Rob Clark) [1173317]
920f68
- [drm] i915: Flush the PTEs after updating them before suspend (Rob Clark) [1153301]
920f68
- [drm] radeon/cik: use a separate counter for CP init timeout (Rob Clark) [1173317]
920f68
- [drm] radeon/dpm: fix resume on mullins (Rob Clark) [1173317]
920f68
- [drm] radeon: don't reset dma on r6xx-evergreen init (Rob Clark) [1173317]
920f68
- [drm] radeon: don't reset sdma on CIK init (Rob Clark) [1173317]
920f68
- [drm] radeon: don't reset dma on NI/SI init (Rob Clark) [1173317]
920f68
- [drm] radeon: add connector quirk for fujitsu board (Rob Clark) [1173317]
920f68
- [drm] radeon/dpm: set the thermal type properly for special configs (Rob Clark) [1173317]
920f68
- [drm] radeon: fix semaphore value init (Rob Clark) [1173317]
920f68
- [drm] radeon: handle broken disabled rb mask gracefully (6xx/7xx) (Rob Clark) [1173317]
920f68
- [drm] radeon: fix active_cu mask on SI and CIK after re-init (v3) (Rob Clark) [1173317]
920f68
- [drm] radeon: fix active cu count for SI and CIK (Rob Clark) [1173317]
920f68
- [drm] radeon: fix pm handling in radeon_gpu_reset (Rob Clark) [1173317]
920f68
- [drm] radeon: properly document reloc priority mask (Rob Clark) [1173317]
920f68
- [drm] radeon/dpm: select the appropriate vce power state for KV/KB/ML (Rob Clark) [1173317]
920f68
- [drm] radeon: Add missing lines to ci_set_thermal_temperature_range (Rob Clark) [1173317]
920f68
- [drm] radeon: Add ability to get and change dpm state when radeon PX card is turned off (Rob Clark) [1173317]
920f68
- [drm] vmwgfx: Fix a potential infinite spin waiting for fifo idle (Rob Clark) [1173317]
920f68
- [drm] ast: AST2000 cannot be detected correctly (Rob Clark) [1173317]
920f68
- [drm] ast: open key before detect chips (Rob Clark) [1173317]
920f68
- [drm] i915: Don't leak command parser tables on suspend/resume (Rob Clark) [1153301]
920f68
- [drm] i915/hdmi: fix hdmi audio state readout (Rob Clark) [1153301]
920f68
- [drm] i915: Wait for vblank before enabling the TV encoder (Rob Clark) [1153301]
920f68
- [drm] i915: Fix EIO/wedged handling in gem fault handler (Rob Clark) [1153301]
920f68
- [drm] i915: Fix lock dropping in intel_tv_detect() (Rob Clark) [1153301]
920f68
- [drm] i915: Remove bogus __init annotation from DMI callbacks (Rob Clark) [1153301]
920f68
- [drm] i915: Ignore VBT backlight presence check on Acer C720 (4005U) (Rob Clark) [1153301]
920f68
- [drm] i915: fix plane/cursor handling when runtime suspended (Rob Clark) [1153301]
920f68
- [drm] i915: don't try to retrain a DP link on an inactive CRTC (Rob Clark) [1153301]
920f68
- [drm] i915: Fix locking for intel_enable_pipe_a() (Rob Clark) [1153301]
920f68
- [drm] i915: Skip load detect when intel_crtc->new_enable==true (Rob Clark) [1153301]
920f68
- [drm] i915: Disable RCS flips on Ivybridge (Rob Clark) [1153301]
920f68
- [drm] i915: read HEAD register back in init_ring_common() to enforce ordering (Rob Clark) [1153301]
920f68
- [drm] i915: Fix crash when failing to parse MIPI VBT (Rob Clark) [1153301]
920f68
- [drm] radeon: tweak ACCEL_WORKING2 query for hawaii (Rob Clark) [1173317]
920f68
- [drm] radeon/atom: add new voltage fetch function for hawaii (Rob Clark) [1173317]
920f68
- [drm] radeon: set VM base addr using the PFP (Rob Clark) [1173317]
920f68
- [drm] radeon: load the lm63 driver for an lm64 thermal chip (Rob Clark) [1173317]
920f68
- [drm] radeon: re-enable dpm by default on BTC (Rob Clark) [1173317]
920f68
- [drm] radeon: re-enable dpm by default on cayman (Rob Clark) [1173317]
920f68
- [drm] radeon/dpm: handle voltage info fetching on hawaii (Rob Clark) [1173317]
920f68
- [drm] ttm: Choose a pool to shrink correctly in ttm_dma_pool_shrink_scan() (Rob Clark) [1173317]
920f68
- [drm] ttm: Fix possible division by 0 in ttm_dma_pool_shrink_scan() (Rob Clark) [1173317]
920f68
- [drm] ttm: fix handling of TTM_PL_FLAG_TOPDOWN (Rob Clark) [1173317]
920f68
- [drm] nouveau: Bump version from 1.1.1 to 1.1.2 (Rob Clark) [1173317]
920f68
- [drm] nouveau: Dis/Enable vblank irqs during suspend/resume (Rob Clark) [1173317]
920f68
- [drm] radeon: add additional SI pci ids (Rob Clark) [1173317]
920f68
- [drm] radeon: add new bonaire pci ids (Rob Clark) [1173317]
920f68
- [drm] radeon: add new KV pci id (Rob Clark) [1173317]
920f68
- [powerpc] add little endian flag to syscall_get_arch() (Richard Guy Briggs) [1169461]
920f68
- [powerpc] simplify syscall_get_arch() (Richard Guy Briggs) [1169461]
920f68
920f68
* Tue Dec 23 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-220.el7]
920f68
- [scsi] libcxgbi: fix freeing skb prematurely (Sai Vemuri) [1174982]
920f68
- [scsi] cxgb4i: use set_wr_txq() to set tx queues (Sai Vemuri) [1174982]
920f68
- [scsi] cxgb4i: handle non-pdu-aligned rx data (Sai Vemuri) [1174982]
920f68
- [scsi] cxgb4i: additional types of negative advice (Sai Vemuri) [1174982]
920f68
- [scsi] cxgb4i: set the max. pdu length in firmware (Sai Vemuri) [1174982]
920f68
- [scsi] cxgb4i: fix credit check for tx_data_wr (Sai Vemuri) [1174982]
920f68
- [scsi] cxgb4i: fix tx immediate data credit check (Sai Vemuri) [1174982]
920f68
- [net] ipv6: update Destination Cache entries when gateway turn into host (Jiri Pirko) [1114781]
920f68
- [net] ipsec: Don't update the pmtu on ICMPV6_DEST_UNREACH (Herbert Xu) [1158771]
920f68
- [s390] zfcp: remove access control tables interface (port leftovers) (Hendrik Brueckner) [1173553]
920f68
- [x86] perf: Use extended offcore mask on Haswell (Don Zickus) [1170795]
920f68
- [fs] ovl: ovl_dir_fsync() cleanup (David Howells) [985875]
920f68
- [fs] ovl: pass dentry into ovl_dir_read_merged() (David Howells) [985875]
920f68
- [fs] ovl: use lockless_dereference() for upperdentry (David Howells) [985875]
920f68
- [fs] ovl: allow filenames with comma (David Howells) [985875]
920f68
- [fs] ovl: fix race in private xattr checks (David Howells) [985875]
920f68
- [fs] ovl: fix remove/copy-up race (David Howells) [985875]
920f68
- [fs] ovl: rename filesystem type to "overlay" (David Howells) [985875]
920f68
- [fs] Don't warn if both ->rename() and ->rename2() iops are defined (David Howells) [985875]
920f68
- [fs] overlayfs: Fix the kABI for overlayfs (David Howells) [985875]
920f68
- [fs] overlayfs: don't poison cursor (David Howells) [985875]
920f68
- [fs] overlayfs: initialize ->is_cursor (David Howells) [985875]
920f68
- [fs] overlayfs: fix lockdep misannotation (David Howells) [985875]
920f68
- [fs] overlayfs: fix check for cursor (David Howells) [985875]
920f68
- [fs] overlayfs: barriers for opening upper-layer directory (David Howells) [985875]
920f68
- [kernel] rcu: Provide counterpart to rcu_dereference() for non-RCU situations (David Howells) [985875]
920f68
- [fs] overlayfs: embed middle into overlay_readdir_data (David Howells) [985875]
920f68
- [fs] overlayfs: embed root into overlay_readdir_data (David Howells) [985875]
920f68
- [fs] overlayfs: make ovl_cache_entry->name an array instead of pointer (David Howells) [985875]
920f68
- [fs] overlayfs: don't hold ->i_mutex over opening the real directory (David Howells) [985875]
920f68
- [fs] overlayfs: limit filesystem stacking depth (David Howells) [985875]
920f68
- [fs] overlayfs: overlay filesystem documentation (David Howells) [985875]
920f68
- [fs] overlayfs: implement show_options (David Howells) [985875]
920f68
- [fs] overlayfs: add statfs support (David Howells) [985875]
920f68
- [fs] overlayfs: filesystem (David Howells) [985875]
920f68
- [mm] shmem: support RENAME_WHITEOUT (David Howells) [985875]
920f68
- [fs] ext4: support RENAME_WHITEOUT (David Howells) [985875]
920f68
- [fs] vfs: add RENAME_WHITEOUT (David Howells) [985875]
920f68
- [fs] vfs: add whiteout support (David Howells) [985875]
920f68
- [fs] vfs: export check_sticky() (David Howells) [985875]
920f68
- [fs] vfs: introduce clone_private_mount() (David Howells) [985875]
920f68
- [fs] vfs: export __inode_permission() to modules (David Howells) [985875]
920f68
- [fs] vfs: export do_splice_direct() to modules (David Howells) [985875]
920f68
- [fs] vfs: add i_op->dentry_open() (David Howells) [985875]
920f68
- [fs] namei: trivial fix to vfs_rename_dir comment (David Howells) [985875]
920f68
- [fs] cifs: support RENAME_NOREPLACE (David Howells) [985875]
920f68
- [fs] hostfs: support rename flags (David Howells) [985875]
920f68
- [mm] shmem: support RENAME_EXCHANGE (David Howells) [985875]
920f68
- [mm] shmem: support RENAME_NOREPLACE (David Howells) [985875]
920f68
- [fs] btrfs: add RENAME_NOREPLACE (David Howells) [985875]
920f68
- [fs] bad_inode: add ->rename2() (David Howells) [985875]
920f68
- [fs] call rename2 if exists (David Howells) [985875]
920f68
- [fs] fuse: restructure ->rename2() (David Howells) [985875]
920f68
- [fs] fuse: add renameat2 support (David Howells) [985875]
920f68
- [fs] dcache: fix races between __d_instantiate() and checks of dentry flags (David Howells) [985875]
920f68
- [fs] ext4: add cross rename support (David Howells) [985875]
920f68
- [fs] vfs: add cross-rename (David Howells) [985875]
920f68
- [fs] vfs: lock_two_nondirectories - allow directory args (David Howells) [985875]
920f68
- [security] add flags to rename hooks (David Howells) [985875]
920f68
- [fs] vfs: add RENAME_NOREPLACE flag (David Howells) [985875]
920f68
- [fs] vfs: add renameat2 syscall (David Howells) [985875]
920f68
- [fs] namei: use common code for dir and non-dir (David Howells) [985875]
920f68
- [fs] namei: move d_move() up (David Howells) [985875]
920f68
- [fs] vfs: add d_is_dir() (David Howells) [985875]
920f68
- [fs] vfs: Put a small type field into struct dentry::d_flags (David Howells) [985875]
920f68
920f68
* Thu Dec 18 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-219.el7]
920f68
- [mm] vmstat: on-demand vmstat workers V8 (Larry Woodman) [1157802]
920f68
- [mm] vmstat: use this_cpu() to avoid irqon/off sequence in refresh_cpu_vm_stats (Larry Woodman) [1157802]
920f68
- [mm] vmstat: create fold_diff (Larry Woodman) [1157802]
920f68
- [mm] vmstat: create separate function to fold per cpu diffs into local counters (Larry Woodman) [1157802]
920f68
- [block] blk-mq: Fix uninitialized kobject at CPU hotplugging (Jeff Moyer) [1169232]
920f68
- [kernel] audit: AUDIT_FEATURE_CHANGE message format missing delimiting space (Richard Guy Briggs) [1165469]
920f68
- [fs] NFSv4.1: nfs41_clear_delegation_stateid shouldn't trust NFS_DELEGATED_STATE (Steve Dickson) [1166845]
920f68
- [fs] NFSv4: Fix races between nfs_remove_bad_delegation() and delegation return (Steve Dickson) [1166845]
920f68
- [fs] NFS: Don't try to reclaim delegation open state if recovery failed (Steve Dickson) [1166845]
920f68
- [fs] NFSv4: Ensure that we call FREE_STATEID when NFSv4.x stateids are revoked (Steve Dickson) [1166845]
920f68
- [fs] NFSv4: Ensure that we remove NFSv4.0 delegations when state has expired (Steve Dickson) [1166845]
920f68
920f68
* Wed Dec 17 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-218.el7]
920f68
- [scsi] cxgb4i: Don't block unload/cxgb4 unload when remote closes TCP connection (Sai Vemuri) [1169941]
920f68
- [kernel] kthread: partial revert of 81c98869faa5 ("kthread: ensure locality of task_struct allocations") (Gustavo Duarte) [953583]
920f68
- [mm] slub: fall back to node_to_mem_node() node if allocating on memoryless node (Gustavo Duarte) [953583]
920f68
- [mm] topology: add support for node_to_mem_node() to determine the fallback node (Gustavo Duarte) [953583]
920f68
- [mm] slub: search partial list on numa_mem_id(), instead of numa_node_id() (Gustavo Duarte) [953583]
920f68
- [kernel] kthread: ensure locality of task_struct allocations (Gustavo Duarte) [953583]
920f68
- [md] dm-thin: fix missing out-of-data-space to write mode transition if blocks are released (Mike Snitzer) [1173181]
920f68
- [md] dm-thin: fix inability to discard blocks when in out-of-data-space mode (Mike Snitzer) [1173181]
920f68
- [wireless] iwlwifi/mvm: update values for Smart Fifo (Stanislaw Gruszka) [1155538]
920f68
- [wireless] iwlwifi/dvm: fix flush support for old firmware (Stanislaw Gruszka) [1155538]
920f68
- [wireless] ath5k: fix hardware queue index assignment (Stanislaw Gruszka) [1155538]
920f68
- [wireless] ath9k: fix BE/BK queue order (Stanislaw Gruszka) [1155538]
920f68
- [wireless] ath9k_hw: fix hardware queue allocation (Stanislaw Gruszka) [1155538]
920f68
- [wireless] ath9k: Fix RTC_DERIVED_CLK usage (Stanislaw Gruszka) [1155538]
920f68
- [wireless] rt2x00: do not align payload on modern H/W (Stanislaw Gruszka) [1155538]
920f68
- [wireless] mac80211: Fix regression that triggers a kernel BUG with CCMP (Stanislaw Gruszka) [1155538]
920f68
- [wireless] iwlwifi: fix RFkill while calibrating (Stanislaw Gruszka) [1155538]
920f68
- [wireless] mac80211: fix use-after-free in defragmentation (Stanislaw Gruszka) [1155538]
920f68
- [wireless] mac80211: properly flush delayed scan work on interface removal (Stanislaw Gruszka) [1155538]
920f68
- [wireless] mac80211: schedule the actual switch of the station before CSA count 0 (Stanislaw Gruszka) [1155538]
920f68
- [wireless] mac80211: use secondary channel offset IE also beacons during CSA (Stanislaw Gruszka) [1155538]
920f68
- [wireless] rt2x00: add new rt2800usb device (Stanislaw Gruszka) [1155538]
920f68
- [wireless] Revert: iwlwifi/mvm: treat EAPOLs like mgmt frames wrt rate (Stanislaw Gruszka) [1155538]
920f68
- [wireless] iwlwifi/dvm: drop non VO frames when flushing (Stanislaw Gruszka) [1155538]
920f68
- [wireless] iwlwifi: configure the LTR (Stanislaw Gruszka) [1155538]
920f68
- [wireless] mac80211: fix typo in starting baserate for rts_cts_rate_idx (Stanislaw Gruszka) [1155538]
920f68
- [wireless] rt2x00: add new rt2800usb devices (Stanislaw Gruszka) [1155538]
920f68
- [wireless] rt2x00: support Ralink 5362 (Stanislaw Gruszka) [1155538]
920f68
- [wireless] Revert: ath9k: reduce ANI firstep range for older chips (Stanislaw Gruszka) [1155538]
920f68
- [wireless] rt2800: correct BBP1_TX_POWER_CTRL mask (Stanislaw Gruszka) [1155538]
920f68
- [wireless] iwlwifi: Add missing PCI IDs for the 7260 series (Stanislaw Gruszka) [1155538]
920f68
- [wireless] iwlwifi/mvm: disable BT Co-running by default (Stanislaw Gruszka) [1155538]
920f68
- [wireless] nl80211: clear skb cb before passing to netlink (Stanislaw Gruszka) [1155538]
920f68
- [wireless] ath9k/htc: fix random decryption failure (Stanislaw Gruszka) [1155538]
920f68
- [wireless] brcmfmac: handle IF event for P2P_DEVICE interface (Stanislaw Gruszka) [1155538]
920f68
- [wireless] Revert: mac80211: disable uAPSD if all ACs are under ACM (Stanislaw Gruszka) [1155538]
920f68
- [wireless] rtlwifi/rtl8192cu: Add new ID (Stanislaw Gruszka) [1155538]
920f68
- [wireless] iwlwifi/mvm: set MAC_FILTER_IN_BEACON correctly for STA/P2P client (Stanislaw Gruszka) [1155538]
920f68
- [wireless] iwlwifi/mvm: treat EAPOLs like mgmt frames wrt rate (Stanislaw Gruszka) [1155538]
920f68
- [wireless] iwlwifi: increase DEFAULT_MAX_TX_POWER (Stanislaw Gruszka) [1155538]
920f68
- [wireless] iwlwifi/mvm: fix endianity issues with Smart Fifo commands (Stanislaw Gruszka) [1155538]
920f68
- [wireless] Revert: iwlwifi/dvm: don't enable CTS to self (Stanislaw Gruszka) [1155538]
920f68
- [wireless] carl9170: fix sending URBs with wrong type when using full-speed (Stanislaw Gruszka) [1155538]
920f68
920f68
* Fri Dec 12 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-217.el7]
920f68
- [net] ipv6: yet another new IPV6_MTU_DISCOVER option IPV6_PMTUDISC_OMIT (Hannes Frederic Sowa) [1170116]
920f68
- [net] ipv4: yet another new IP_MTU_DISCOVER option IP_PMTUDISC_OMIT (Hannes Frederic Sowa) [1170116]
920f68
- [net] ipv4: use ip_skb_dst_mtu to determine mtu in ip_fragment (Hannes Frederic Sowa) [1170116]
920f68
- [net] ipv4: introduce ip_dst_mtu_maybe_forward and protect forwarding path against pmtu spoofing (Hannes Frederic Sowa) [1170116]
920f68
- [net] ipv6: move ip6_sk_accept_pmtu from generic pmtu update path to ipv6 one (Hannes Frederic Sowa) [1170116]
920f68
- [net] ipv6: support IPV6_PMTU_INTERFACE on sockets (Hannes Frederic Sowa) [1170116]
920f68
- [net] udp: do not report ICMP redirects to user space (Hannes Frederic Sowa) [1170116]
920f68
- [net] ipv4: new ip_no_pmtu_disc mode to always discard incoming frag needed msgs (Hannes Frederic Sowa) [1170116]
920f68
- [net] inet: make no_pmtu_disc per namespace and kill ipv4_config (Hannes Frederic Sowa) [1170116]
920f68
- [net] ipv4: improve documentation of ip_no_pmtu_disc (Hannes Frederic Sowa) [1170116]
920f68
- [net] ipv4: introduce new IP_MTU_DISCOVER mode IP_PMTUDISC_INTERFACE (Hannes Frederic Sowa) [1170116]
920f68
- [net] xfrm: revert ipv4 mtu determination to dst_mtu (Hannes Frederic Sowa) [1170116]
920f68
- [net] xfrm: introduce helper for safe determination of mtu (Hannes Frederic Sowa) [1170116]
920f68
- [net] netfilter: conntrack: disable generic tracking for known protocols (Daniel Borkmann) [1170520]
920f68
- [net] gre: Fix use-after-free panic in ipgre_rcv() (Panu Matilainen) [1117543]
920f68
- [net] netfilter: nf_conntrack_h323: lookup route from proper net namespace (Florian Westphal) [1163847]
920f68
- [net] netfilter: xt_tcpmss: lookup route from proper net namespace (Florian Westphal) [1163847]
920f68
- [net] netfilter: xt_tcpmss: Get mtu only if clamp-mss-to-pmtu is specified (Florian Westphal) [1163847]
920f68
- [wireless] cfg80211: don't WARN about two consecutive Country IE hint (Stanislaw Gruszka) [1164282]
920f68
- [fs] aio: fix race between aio event completion and reaping (Jeff Moyer) [1131312]
920f68
- [fs] proc/task_mmu: fix missing check during hugepage migration (Jacob Tanenbaum) [1105040] {CVE-2014-3940}
920f68
- [kernel] trace: insufficient syscall number validation in perf and ftrace subsystems (Jacob Tanenbaum) [1161570] {CVE-2014-7825 CVE-2014-7826}
920f68
- [ethernet] i40e: get pf_id from HW rather than PCI function (Stefan Assmann) [1078740]
920f68
- [ethernet] i40e: increase ARQ size (Stefan Assmann) [1078740]
920f68
- [x86] uv: Update the UV3 TLB shootdown logic (Frank Ramsay) [1170253]
920f68
- [tools] peeksiginfo: add PAGE_SIZE definition (Steve Best) [1172250]
920f68
- [base] bus: Fix unbalanced device reference in drivers_probe (Alex Williamson) [1158862]
920f68
- [char] tpm: Fix NULL return in tpm_ibmvtpm_get_desired_dma (Gustavo Duarte) [1154818]
920f68
- [powerpc] kvm: book3s_hv - Reserve cma region only in hypervisor mode (Gustavo Duarte) [1147740]
920f68
- [x86] traps: stop using IST for #SS (Petr  Matousek) [1172813] {CVE-2014-9322}
920f68
920f68
* Tue Dec 09 2014 Jarod Wilson <jarod@redhat.com> [3.10.0-216.el7]
920f68
- [acpi] Revert: hotplug/pci: Simplify disable_slot() (Prarit Bhargava) [1158720]
920f68
- [infiniband] iser: Adjust data_length to include protection information (Amir Vadai) [1107622]
920f68
- [infiniband] iser: Bump version to 1.4.1 (Amir Vadai) [1107622]
920f68
- [infiniband] iser: Allow bind only when connection state is UP (Amir Vadai) [1107622]
920f68
- [infiniband] iser: Fix RX/TX CQ resource leak on error flow (Amir Vadai) [1107622]
920f68
- [infiniband] iser: Clarify a duplicate counters check (Amir Vadai) [1107622]
920f68
- [infiniband] iser: Replace connection waitqueue with completion object (Amir Vadai) [1107622]
920f68
- [infiniband] iser: Protect iser state machine with a mutex (Amir Vadai) [1107622]
920f68
- [infiniband] iser: Remove redundant return code in iser_free_ib_conn_res() (Amir Vadai) [1107622]
920f68
- [infiniband] iser: Seperate iser_conn and iscsi_endpoint storage space (Amir Vadai) [1107622]
920f68
- [infiniband] iser: Fix responder resources advertisement (Amir Vadai) [1107622]
920f68
- [infiniband] iser: Add TIMEWAIT_EXIT event handling (Amir Vadai) [1107622]
920f68
- [infiniband] iser: Support IPv6 address family (Amir Vadai) [1107622]
920f68
- [infiniband