Hello community, here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2018-04-22 14:38:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kernel-source (Old) and /work/SRC/openSUSE:Factory/.kernel-source.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source" Sun Apr 22 14:38:35 2018 rev:421 rq:598818 version:4.16.3 Changes: -------- --- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes 2018-04-16 12:44:23.999129656 +0200 +++ /work/SRC/openSUSE:Factory/.kernel-source.new/dtb-aarch64.changes 2018-04-22 14:38:41.711018225 +0200 @@ -1,0 +2,156 @@ +Thu Apr 19 22:52:31 CEST 2018 - [email protected] + +- Linux 4.16.3 (bnc#1012628). +- cdc_ether: flag the Cinterion AHS8 modem by gemalto as WWAN + (bnc#1012628). +- rds: MP-RDS may use an invalid c_path (bnc#1012628). +- slip: Check if rstate is initialized before uncompressing + (bnc#1012628). +- vhost: fix vhost_vq_access_ok() log check (bnc#1012628). +- l2tp: fix races in tunnel creation (bnc#1012628). +- l2tp: fix race in duplicate tunnel detection (bnc#1012628). +- ip_gre: clear feature flags when incompatible o_flags are set + (bnc#1012628). +- vhost: Fix vhost_copy_to_user() (bnc#1012628). +- lan78xx: Correctly indicate invalid OTP (bnc#1012628). +- sparc64: Properly range check DAX completion index + (bnc#1012628). +- media: v4l2-compat-ioctl32: don't oops on overlay (bnc#1012628). +- media: v4l: vsp1: Fix header display list status check in + continuous mode (bnc#1012628). +- ipmi: Fix some error cleanup issues (bnc#1012628). +- parisc: Fix out of array access in match_pci_device() + (bnc#1012628). +- parisc: Fix HPMC handler by increasing size to multiple of 16 + bytes (bnc#1012628). +- iwlwifi: add a bunch of new 9000 PCI IDs (bnc#1012628). +- Drivers: hv: vmbus: do not mark HV_PCIE as perf_device + (bnc#1012628). +- PCI: hv: Serialize the present and eject work items + (bnc#1012628). +- PCI: hv: Fix 2 hang issues in hv_compose_msi_msg() + (bnc#1012628). +- KVM: PPC: Book3S HV: trace_tlbie must not be called in realmode + (bnc#1012628). +- perf intel-pt: Fix overlap detection to identify consecutive + buffers correctly (bnc#1012628). +- perf intel-pt: Fix sync_switch (bnc#1012628). +- perf intel-pt: Fix error recovery from missing TIP packet + (bnc#1012628). +- perf intel-pt: Fix timestamp following overflow (bnc#1012628). +- perf/core: Fix use-after-free in uprobe_perf_close() + (bnc#1012628). +- radeon: hide pointless #warning when compile testing + (bnc#1012628). +- x86/mce/AMD: Pass the bank number to smca_get_bank_type() + (bnc#1012628). +- x86/mce/AMD, EDAC/mce_amd: Enumerate Reserved SMCA bank type + (bnc#1012628). +- x86/mce/AMD: Get address from already initialized block + (bnc#1012628). +- ath9k: Protect queue draining by rcu_read_lock() (bnc#1012628). +- x86/uapi: Fix asm/bootparam.h userspace compilation errors + (bnc#1012628). +- x86/apic: Fix signedness bug in APIC ID validity checks + (bnc#1012628). +- sunrpc: remove incorrect HMAC request initialization + (bnc#1012628). +- f2fs: fix heap mode to reset it back (bnc#1012628). +- block: Change a rcu_read_{lock,unlock}_sched() pair into + rcu_read_{lock,unlock}() (bnc#1012628). +- nvme: Skip checking heads without namespaces (bnc#1012628). +- lib: fix stall in __bitmap_parselist() (bnc#1012628). +- zboot: fix stack protector in compressed boot phase + (bnc#1012628). +- blk-mq: Directly schedule q->timeout_work when aborting a + request (bnc#1012628). +- blk-mq: order getting budget and driver tag (bnc#1012628). +- blk-mq: make sure that correct hctx->next_cpu is set + (bnc#1012628). +- blk-mq: don't keep offline CPUs mapped to hctx 0 (bnc#1012628). +- ovl: Set d->last properly during lookup (bnc#1012628). +- ovl: fix lookup with middle layer opaque dir and absolute path + redirects (bnc#1012628). +- ovl: set i_ino to the value of st_ino for NFS export + (bnc#1012628). +- ovl: set lower layer st_dev only if setting lower st_ino + (bnc#1012628). +- xen: xenbus_dev_frontend: Fix XS_TRANSACTION_END handling + (bnc#1012628). +- hugetlbfs: fix bug in pgoff overflow checking (bnc#1012628). +- nfsd: fix incorrect umasks (bnc#1012628). +- scsi: scsi_dh: Don't look for NULL devices handlers by name + (bnc#1012628). +- scsi: qla2xxx: Fix small memory leak in qla2x00_probe_one on + probe failure (bnc#1012628). +- Revert "scsi: core: return BLK_STS_OK for DID_OK in + __scsi_error_from_host_byte()" (bnc#1012628). +- apparmor: fix logging of the existence test for signals + (bnc#1012628). +- apparmor: fix display of .ns_name for containers (bnc#1012628). +- apparmor: fix resource audit messages when auditing peer + (bnc#1012628). +- block/loop: fix deadlock after loop_set_status (bnc#1012628). +- nfit: fix region registration vs block-data-window ranges + (bnc#1012628). +- s390/qdio: don't retry EQBS after CCQ 96 (bnc#1012628). +- s390/qdio: don't merge ERROR output buffers (bnc#1012628). +- s390/ipl: ensure loadparm valid flag is set (bnc#1012628). +- s390/compat: fix setup_frame32 (bnc#1012628). +- get_user_pages_fast(): return -EFAULT on access_ok failure + (bnc#1012628). +- mm/gup_benchmark: handle gup failures (bnc#1012628). +- getname_kernel() needs to make sure that ->name != ->iname in + long case (bnc#1012628). +- Bluetooth: Fix connection if directed advertising and privacy + is used (bnc#1012628). +- Bluetooth: hci_bcm: Treat Interrupt ACPI resources as always + being active-low (bnc#1012628). +- rtl8187: Fix NULL pointer dereference in priv->conf_mutex + (bnc#1012628). +- Refresh patches.suse/0001-AppArmor-basic-networking-rules.patch. +- commit 771261a + +------------------------------------------------------------------- +Thu Apr 19 17:47:45 CEST 2018 - [email protected] + +- resource: fix integer overflow at reallocation (bsc#1086739). +- commit 4cf2593 + +------------------------------------------------------------------- +Thu Apr 19 17:26:11 CEST 2018 - [email protected] + +- Update tags of upstreamed patches + Refresh + patches.suse/Revert-drm-amd-display-disable-CRTCs-with-NULL-FB.patch + patches.suse/media-v4l2-core-fix-size-of-devnode_nums-bitarray.patch + patches.suse/swiotlb-Fix-unexpected-swiotlb_alloc_coherent-failur.patch +- commit e2aa76d + +------------------------------------------------------------------- +Thu Apr 19 15:42:41 CEST 2018 - [email protected] + +- objtool, perf: Fix GCC 8 -Wrestrict error (bsc#1084620). +- commit 0c6114f + +------------------------------------------------------------------- +Wed Apr 18 14:16:28 CEST 2018 - [email protected] + +- supported.conf: update from openSUSE-15.0 +- commit 4ef3f17 + +------------------------------------------------------------------- +Mon Apr 16 13:45:34 CEST 2018 - [email protected] + +- Revert "drm/amd/display: disable CRTCs with NULL FB on their + primary plane (V2)" (bsc#1089615, bsc#1088902). +- commit e881e16 + +------------------------------------------------------------------- +Mon Apr 16 11:22:14 CEST 2018 - [email protected] + +- arm64: Update config files. (bsc#1089764) + Increase NR_CPUS to 384 +- commit 6f06d9e + +------------------------------------------------------------------- @@ -2892,0 +3049,18 @@ + +------------------------------------------------------------------- +Thu Feb 15 14:30:11 CET 2018 - [email protected] + +- Add kernel livepatch-devel package + Resolving non-exported static symbols in kernel livepatches cannot + be done implicitly. For such, the relocations of these symbols must + follow a specially crafted format in the respective elf file. Willing + to make the task of converting the elf into the right format, a tool + named klp-convert was proposed. Through a file that maps all kernel + symbols into their respective kernel object, this tool infers which + non-exported symbol is relative to a livepatch relocation and + automatically formats the final elf file. + Add support to the generation of a map file right after the kernel + compilation. + Add the package kernel-<flavour>-livepatch-devel that brings + the map file. +- commit 0b1b4d3 dtb-armv6l.changes: same change dtb-armv7l.changes: same change kernel-64kb.changes: same change kernel-debug.changes: same change kernel-default.changes: same change kernel-docs.changes: same change kernel-kvmsmall.changes: same change kernel-lpae.changes: same change kernel-obs-build.changes: same change kernel-obs-qa.changes: same change kernel-pae.changes: same change kernel-source.changes: same change kernel-syms.changes: same change kernel-syzkaller.changes: same change kernel-vanilla.changes: same change kernel-zfcpdump.changes: same change New: ---- klp-symbols ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dtb-aarch64.spec ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:53.410594866 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:53.414594722 +0200 @@ -17,7 +17,7 @@ %define srcversion 4.16 -%define patchversion 4.16.2 +%define patchversion 4.16.3 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -26,12 +26,12 @@ %define dtc_symbols 1 %endif -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols}) Name: dtb-aarch64 -Version: 4.16.2 +Version: 4.16.3 %if 0%{?is_kotd} -Release: <RELEASE>.g7b2d22b +Release: <RELEASE>.g2fd48c5 %else Release: 0 %endif @@ -98,6 +98,7 @@ Source74: mkspec-dtb Source75: release-projects Source76: check-module-license +Source77: klp-symbols Source100: config.tar.bz2 Source101: config.addon.tar.bz2 Source102: patches.arch.tar.bz2 dtb-armv6l.spec: same change dtb-armv7l.spec: same change ++++++ kernel-64kb.spec ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:53.542590090 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:53.546589945 +0200 @@ -18,7 +18,7 @@ %define srcversion 4.16 -%define patchversion 4.16.2 +%define patchversion 4.16.3 %define variant %{nil} %define vanilla_only 0 @@ -37,7 +37,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -58,9 +58,9 @@ Summary: Kernel with 64kb PAGE_SIZE License: GPL-2.0 Group: System/Kernel -Version: 4.16.2 +Version: 4.16.3 %if 0%{?is_kotd} -Release: <RELEASE>.g7b2d22b +Release: <RELEASE>.g2fd48c5 %else Release: 0 %endif @@ -164,10 +164,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 -Provides: kernel-%build_flavor-base-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: kernel-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 +Provides: kernel-%build_flavor-base-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 # END COMMON DEPS -Provides: %name-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: %name-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %obsolete_rebuilds %name Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz Source2: source-post.sh @@ -219,6 +219,7 @@ Source74: mkspec-dtb Source75: release-projects Source76: check-module-license +Source77: klp-symbols Source100: config.tar.bz2 Source101: config.addon.tar.bz2 Source102: patches.arch.tar.bz2 @@ -298,6 +299,7 @@ NoSource: 74 NoSource: 75 NoSource: 76 +NoSource: 77 NoSource: 100 NoSource: 101 NoSource: 102 @@ -412,7 +414,7 @@ subpackages=( base %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" - + cluster-md-kmp dlm-kmp gfs2-kmp kselftests-kmp ocfs2-kmp %endif ) for package in "${subpackages[@]}"; do @@ -561,6 +563,11 @@ fi done +# Generate list of symbols that are used to create kernel livepatches +%if ! 0%{?skip_klp_symbols:1} + %_sourcedir/klp-symbols . Symbols.list +%endif + %install # sign the modules, firmware and possibly the kernel in the buildservice @@ -777,6 +784,11 @@ mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # List of symbols that are used to generate kernel livepatches + %if ! 0%{?skip_klp_symbols:1} + cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor + %endif + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -1055,8 +1067,8 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 -Provides: kernel-%build_flavor-base-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: kernel-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 +Provides: kernel-%build_flavor-base-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %obsolete_rebuilds %name-base %ifarch %ix86 @@ -1186,6 +1198,7 @@ %dir /usr/src/linux-obj/%cpu_arch %ghost /usr/src/linux-obj/%cpu_arch_flavor %obj_install_dir/%cpu_arch_flavor +%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list %if %kmp_target_cpu != %cpu_arch %obj_install_dir/%kmp_target_cpu /usr/src/linux-obj/%kmp_target_cpu @@ -1217,7 +1230,236 @@ %dir /lib/modules/%kernelrelease-%build_flavor %endif +%if ! 0%{?skip_klp_symbols:1} + +%package livepatch-devel +Summary: Kernel symbols file used during livepatch development +Group: System/Kernel +Provides: klp-symbols = %version + +%description livepatch-devel +This package brings a file named Symbols.list, which contains a list of all +kernel symbols and its respective kernel object . This list is to be used by +the klp-convert tool, which helps livepatch developers by enabling automatic +symbol resolution. + +%files livepatch-devel +%defattr(-, root, root) +%dir %obj_install_dir +%dir %obj_install_dir/%cpu_arch +%dir %obj_install_dir/%cpu_arch_flavor/ +%obj_install_dir/%cpu_arch_flavor/Symbols.list + +%endif + %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" +%package -n cluster-md-kmp-%build_flavor +Summary: Clustering support for MD devices +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: cluster-md-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n cluster-md-kmp-%build_flavor +Clustering support for MD devices. This enables locking and +synchronization across multiple systems on the cluster, so all +nodes in the cluster can access the MD devices simultaneously. + +%post -n cluster-md-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=cluster-md-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n cluster-md-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n cluster-md-kmp-%build_flavor +nvr=cluster-md-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n cluster-md-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=cluster-md-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n cluster-md-kmp-%build_flavor -f cluster-md-kmp.files +%defattr(-, root, root) + +%package -n dlm-kmp-%build_flavor +Summary: DLM kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: dlm-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 + +%description -n dlm-kmp-%build_flavor +DLM stands for Distributed Lock Manager, a means to synchronize access to +shared resources over the cluster. + +%post -n dlm-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=dlm-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n dlm-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n dlm-kmp-%build_flavor +nvr=dlm-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n dlm-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=dlm-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n dlm-kmp-%build_flavor -f dlm-kmp.files +%defattr(-, root, root) + +%package -n gfs2-kmp-%build_flavor +Summary: GFS2 kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: gfs2-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n gfs2-kmp-%build_flavor +GFS2 is Global Filesystem, a shared device filesystem. + +%post -n gfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=gfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n gfs2-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n gfs2-kmp-%build_flavor +nvr=gfs2-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n gfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=gfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n gfs2-kmp-%build_flavor -f gfs2-kmp.files +%defattr(-, root, root) + +%package -n kselftests-kmp-%build_flavor +Summary: kselftests kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: kselftests-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 + +%description -n kselftests-kmp-%build_flavor +kselftests kernel modules. + +%post -n kselftests-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=kselftests-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n kselftests-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n kselftests-kmp-%build_flavor +nvr=kselftests-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n kselftests-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=kselftests-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n kselftests-kmp-%build_flavor -f kselftests-kmp.files +%defattr(-, root, root) + +%package -n ocfs2-kmp-%build_flavor +Summary: OCFS2 kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: ocfs2-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n ocfs2-kmp-%build_flavor +OCFS2 is the Oracle Cluster Filesystem, a filesystem for shared devices +accessible simultaneously from multiple nodes of a cluster. + +%post -n ocfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=ocfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n ocfs2-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n ocfs2-kmp-%build_flavor +nvr=ocfs2-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n ocfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=ocfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n ocfs2-kmp-%build_flavor -f ocfs2-kmp.files +%defattr(-, root, root) + %endif # %CONFIG_SUSE_KERNEL_SUPPORTED %endif # %CONFIG_MODULES ++++++ kernel-debug.spec ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:53.650586182 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:53.658585893 +0200 @@ -18,7 +18,7 @@ %define srcversion 4.16 -%define patchversion 4.16.2 +%define patchversion 4.16.3 %define variant %{nil} %define vanilla_only 0 @@ -37,7 +37,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -58,9 +58,9 @@ Summary: A Debug Version of the Kernel License: GPL-2.0 Group: System/Kernel -Version: 4.16.2 +Version: 4.16.3 %if 0%{?is_kotd} -Release: <RELEASE>.g7b2d22b +Release: <RELEASE>.g2fd48c5 %else Release: 0 %endif @@ -164,10 +164,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 -Provides: kernel-%build_flavor-base-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: kernel-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 +Provides: kernel-%build_flavor-base-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 # END COMMON DEPS -Provides: %name-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: %name-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %ifarch ppc64 Provides: kernel-kdump = 2.6.28 Obsoletes: kernel-kdump <= 2.6.28 @@ -227,6 +227,7 @@ Source74: mkspec-dtb Source75: release-projects Source76: check-module-license +Source77: klp-symbols Source100: config.tar.bz2 Source101: config.addon.tar.bz2 Source102: patches.arch.tar.bz2 @@ -306,6 +307,7 @@ NoSource: 74 NoSource: 75 NoSource: 76 +NoSource: 77 NoSource: 100 NoSource: 101 NoSource: 102 @@ -418,7 +420,7 @@ subpackages=( base %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" - + cluster-md-kmp dlm-kmp gfs2-kmp kselftests-kmp ocfs2-kmp %endif ) for package in "${subpackages[@]}"; do @@ -567,6 +569,11 @@ fi done +# Generate list of symbols that are used to create kernel livepatches +%if ! 0%{?skip_klp_symbols:1} + %_sourcedir/klp-symbols . Symbols.list +%endif + %install # sign the modules, firmware and possibly the kernel in the buildservice @@ -783,6 +790,11 @@ mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # List of symbols that are used to generate kernel livepatches + %if ! 0%{?skip_klp_symbols:1} + cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor + %endif + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -1061,8 +1073,8 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 -Provides: kernel-%build_flavor-base-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: kernel-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 +Provides: kernel-%build_flavor-base-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %ifarch ppc64 Provides: kernel-kdump-base = 2.6.28 @@ -1200,6 +1212,7 @@ %dir /usr/src/linux-obj/%cpu_arch %ghost /usr/src/linux-obj/%cpu_arch_flavor %obj_install_dir/%cpu_arch_flavor +%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list %if %kmp_target_cpu != %cpu_arch %obj_install_dir/%kmp_target_cpu /usr/src/linux-obj/%kmp_target_cpu @@ -1231,7 +1244,236 @@ %dir /lib/modules/%kernelrelease-%build_flavor %endif +%if ! 0%{?skip_klp_symbols:1} + +%package livepatch-devel +Summary: Kernel symbols file used during livepatch development +Group: System/Kernel +Provides: klp-symbols = %version + +%description livepatch-devel +This package brings a file named Symbols.list, which contains a list of all +kernel symbols and its respective kernel object . This list is to be used by +the klp-convert tool, which helps livepatch developers by enabling automatic +symbol resolution. + +%files livepatch-devel +%defattr(-, root, root) +%dir %obj_install_dir +%dir %obj_install_dir/%cpu_arch +%dir %obj_install_dir/%cpu_arch_flavor/ +%obj_install_dir/%cpu_arch_flavor/Symbols.list + +%endif + %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" +%package -n cluster-md-kmp-%build_flavor +Summary: Clustering support for MD devices +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: cluster-md-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n cluster-md-kmp-%build_flavor +Clustering support for MD devices. This enables locking and +synchronization across multiple systems on the cluster, so all +nodes in the cluster can access the MD devices simultaneously. + +%post -n cluster-md-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=cluster-md-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n cluster-md-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n cluster-md-kmp-%build_flavor +nvr=cluster-md-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n cluster-md-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=cluster-md-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n cluster-md-kmp-%build_flavor -f cluster-md-kmp.files +%defattr(-, root, root) + +%package -n dlm-kmp-%build_flavor +Summary: DLM kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: dlm-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 + +%description -n dlm-kmp-%build_flavor +DLM stands for Distributed Lock Manager, a means to synchronize access to +shared resources over the cluster. + +%post -n dlm-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=dlm-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n dlm-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n dlm-kmp-%build_flavor +nvr=dlm-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n dlm-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=dlm-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n dlm-kmp-%build_flavor -f dlm-kmp.files +%defattr(-, root, root) + +%package -n gfs2-kmp-%build_flavor +Summary: GFS2 kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: gfs2-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n gfs2-kmp-%build_flavor +GFS2 is Global Filesystem, a shared device filesystem. + +%post -n gfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=gfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n gfs2-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n gfs2-kmp-%build_flavor +nvr=gfs2-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n gfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=gfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n gfs2-kmp-%build_flavor -f gfs2-kmp.files +%defattr(-, root, root) + +%package -n kselftests-kmp-%build_flavor +Summary: kselftests kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: kselftests-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 + +%description -n kselftests-kmp-%build_flavor +kselftests kernel modules. + +%post -n kselftests-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=kselftests-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n kselftests-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n kselftests-kmp-%build_flavor +nvr=kselftests-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n kselftests-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=kselftests-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n kselftests-kmp-%build_flavor -f kselftests-kmp.files +%defattr(-, root, root) + +%package -n ocfs2-kmp-%build_flavor +Summary: OCFS2 kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: ocfs2-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n ocfs2-kmp-%build_flavor +OCFS2 is the Oracle Cluster Filesystem, a filesystem for shared devices +accessible simultaneously from multiple nodes of a cluster. + +%post -n ocfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=ocfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n ocfs2-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n ocfs2-kmp-%build_flavor +nvr=ocfs2-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n ocfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=ocfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n ocfs2-kmp-%build_flavor -f ocfs2-kmp.files +%defattr(-, root, root) + %endif # %CONFIG_SUSE_KERNEL_SUPPORTED %endif # %CONFIG_MODULES ++++++ kernel-default.spec ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:53.706584156 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:53.710584011 +0200 @@ -18,7 +18,7 @@ %define srcversion 4.16 -%define patchversion 4.16.2 +%define patchversion 4.16.3 %define variant %{nil} %define vanilla_only 0 @@ -37,7 +37,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -58,9 +58,9 @@ Summary: The Standard Kernel License: GPL-2.0 Group: System/Kernel -Version: 4.16.2 +Version: 4.16.3 %if 0%{?is_kotd} -Release: <RELEASE>.g7b2d22b +Release: <RELEASE>.g2fd48c5 %else Release: 0 %endif @@ -164,10 +164,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 -Provides: kernel-%build_flavor-base-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: kernel-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 +Provides: kernel-%build_flavor-base-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 # END COMMON DEPS -Provides: %name-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: %name-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %ifarch %ix86 Provides: kernel-smp = 2.6.17 Obsoletes: kernel-smp <= 2.6.17 @@ -271,6 +271,7 @@ Source74: mkspec-dtb Source75: release-projects Source76: check-module-license +Source77: klp-symbols Source100: config.tar.bz2 Source101: config.addon.tar.bz2 Source102: patches.arch.tar.bz2 @@ -350,6 +351,7 @@ NoSource: 74 NoSource: 75 NoSource: 76 +NoSource: 77 NoSource: 100 NoSource: 101 NoSource: 102 @@ -461,7 +463,7 @@ subpackages=( base %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" - + cluster-md-kmp dlm-kmp gfs2-kmp kselftests-kmp ocfs2-kmp %endif ) for package in "${subpackages[@]}"; do @@ -610,6 +612,11 @@ fi done +# Generate list of symbols that are used to create kernel livepatches +%if ! 0%{?skip_klp_symbols:1} + %_sourcedir/klp-symbols . Symbols.list +%endif + %install # sign the modules, firmware and possibly the kernel in the buildservice @@ -826,6 +833,11 @@ mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # List of symbols that are used to generate kernel livepatches + %if ! 0%{?skip_klp_symbols:1} + cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor + %endif + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -1104,8 +1116,8 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 -Provides: kernel-%build_flavor-base-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: kernel-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 +Provides: kernel-%build_flavor-base-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %ifarch %ix86 Provides: kernel-trace-base = 3.13 @@ -1301,6 +1313,7 @@ %dir /usr/src/linux-obj/%cpu_arch %ghost /usr/src/linux-obj/%cpu_arch_flavor %obj_install_dir/%cpu_arch_flavor +%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list %if %kmp_target_cpu != %cpu_arch %obj_install_dir/%kmp_target_cpu /usr/src/linux-obj/%kmp_target_cpu @@ -1332,7 +1345,236 @@ %dir /lib/modules/%kernelrelease-%build_flavor %endif +%if ! 0%{?skip_klp_symbols:1} + +%package livepatch-devel +Summary: Kernel symbols file used during livepatch development +Group: System/Kernel +Provides: klp-symbols = %version + +%description livepatch-devel +This package brings a file named Symbols.list, which contains a list of all +kernel symbols and its respective kernel object . This list is to be used by +the klp-convert tool, which helps livepatch developers by enabling automatic +symbol resolution. + +%files livepatch-devel +%defattr(-, root, root) +%dir %obj_install_dir +%dir %obj_install_dir/%cpu_arch +%dir %obj_install_dir/%cpu_arch_flavor/ +%obj_install_dir/%cpu_arch_flavor/Symbols.list + +%endif + %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" +%package -n cluster-md-kmp-%build_flavor +Summary: Clustering support for MD devices +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: cluster-md-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n cluster-md-kmp-%build_flavor +Clustering support for MD devices. This enables locking and +synchronization across multiple systems on the cluster, so all +nodes in the cluster can access the MD devices simultaneously. + +%post -n cluster-md-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=cluster-md-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n cluster-md-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n cluster-md-kmp-%build_flavor +nvr=cluster-md-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n cluster-md-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=cluster-md-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n cluster-md-kmp-%build_flavor -f cluster-md-kmp.files +%defattr(-, root, root) + +%package -n dlm-kmp-%build_flavor +Summary: DLM kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: dlm-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 + +%description -n dlm-kmp-%build_flavor +DLM stands for Distributed Lock Manager, a means to synchronize access to +shared resources over the cluster. + +%post -n dlm-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=dlm-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n dlm-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n dlm-kmp-%build_flavor +nvr=dlm-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n dlm-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=dlm-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n dlm-kmp-%build_flavor -f dlm-kmp.files +%defattr(-, root, root) + +%package -n gfs2-kmp-%build_flavor +Summary: GFS2 kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: gfs2-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n gfs2-kmp-%build_flavor +GFS2 is Global Filesystem, a shared device filesystem. + +%post -n gfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=gfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n gfs2-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n gfs2-kmp-%build_flavor +nvr=gfs2-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n gfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=gfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n gfs2-kmp-%build_flavor -f gfs2-kmp.files +%defattr(-, root, root) + +%package -n kselftests-kmp-%build_flavor +Summary: kselftests kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: kselftests-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 + +%description -n kselftests-kmp-%build_flavor +kselftests kernel modules. + +%post -n kselftests-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=kselftests-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n kselftests-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n kselftests-kmp-%build_flavor +nvr=kselftests-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n kselftests-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=kselftests-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n kselftests-kmp-%build_flavor -f kselftests-kmp.files +%defattr(-, root, root) + +%package -n ocfs2-kmp-%build_flavor +Summary: OCFS2 kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: ocfs2-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n ocfs2-kmp-%build_flavor +OCFS2 is the Oracle Cluster Filesystem, a filesystem for shared devices +accessible simultaneously from multiple nodes of a cluster. + +%post -n ocfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=ocfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n ocfs2-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n ocfs2-kmp-%build_flavor +nvr=ocfs2-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n ocfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=ocfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n ocfs2-kmp-%build_flavor -f ocfs2-kmp.files +%defattr(-, root, root) + %endif # %CONFIG_SUSE_KERNEL_SUPPORTED %endif # %CONFIG_MODULES ++++++ kernel-docs.spec ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:53.738582998 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:53.742582853 +0200 @@ -17,7 +17,7 @@ %define srcversion 4.16 -%define patchversion 4.16.2 +%define patchversion 4.16.3 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -25,15 +25,15 @@ %define build_html 1 %define build_pdf 0 -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols}) Name: kernel-docs Summary: Kernel Documentation License: GPL-2.0 Group: Documentation/Man -Version: 4.16.2 +Version: 4.16.3 %if 0%{?is_kotd} -Release: <RELEASE>.g7b2d22b +Release: <RELEASE>.g2fd48c5 %else Release: 0 %endif @@ -63,7 +63,7 @@ %endif Url: http://www.kernel.org/ Provides: %name = %version-%source_rel -Provides: %name-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: %name-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz @@ -116,6 +116,7 @@ Source74: mkspec-dtb Source75: release-projects Source76: check-module-license +Source77: klp-symbols Source100: config.tar.bz2 Source101: config.addon.tar.bz2 Source102: patches.arch.tar.bz2 @@ -181,6 +182,7 @@ NoSource: 74 NoSource: 75 NoSource: 76 +NoSource: 77 NoSource: 100 NoSource: 101 NoSource: 102 ++++++ kernel-kvmsmall.spec ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:53.766581985 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:53.770581840 +0200 @@ -18,7 +18,7 @@ %define srcversion 4.16 -%define patchversion 4.16.2 +%define patchversion 4.16.3 %define variant %{nil} %define vanilla_only 0 @@ -37,7 +37,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -58,9 +58,9 @@ Summary: The Small Developer Kernel for KVM License: GPL-2.0 Group: System/Kernel -Version: 4.16.2 +Version: 4.16.3 %if 0%{?is_kotd} -Release: <RELEASE>.g7b2d22b +Release: <RELEASE>.g2fd48c5 %else Release: 0 %endif @@ -164,10 +164,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 -Provides: kernel-%build_flavor-base-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: kernel-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 +Provides: kernel-%build_flavor-base-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 # END COMMON DEPS -Provides: %name-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: %name-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %obsolete_rebuilds %name Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz Source2: source-post.sh @@ -219,6 +219,7 @@ Source74: mkspec-dtb Source75: release-projects Source76: check-module-license +Source77: klp-symbols Source100: config.tar.bz2 Source101: config.addon.tar.bz2 Source102: patches.arch.tar.bz2 @@ -298,6 +299,7 @@ NoSource: 74 NoSource: 75 NoSource: 76 +NoSource: 77 NoSource: 100 NoSource: 101 NoSource: 102 @@ -416,7 +418,7 @@ subpackages=( base %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" - + cluster-md-kmp dlm-kmp gfs2-kmp kselftests-kmp ocfs2-kmp %endif ) for package in "${subpackages[@]}"; do @@ -565,6 +567,11 @@ fi done +# Generate list of symbols that are used to create kernel livepatches +%if ! 0%{?skip_klp_symbols:1} + %_sourcedir/klp-symbols . Symbols.list +%endif + %install # sign the modules, firmware and possibly the kernel in the buildservice @@ -781,6 +788,11 @@ mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # List of symbols that are used to generate kernel livepatches + %if ! 0%{?skip_klp_symbols:1} + cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor + %endif + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -1059,8 +1071,8 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 -Provides: kernel-%build_flavor-base-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: kernel-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 +Provides: kernel-%build_flavor-base-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %obsolete_rebuilds %name-base %ifarch %ix86 @@ -1198,6 +1210,7 @@ %dir /usr/src/linux-obj/%cpu_arch %ghost /usr/src/linux-obj/%cpu_arch_flavor %obj_install_dir/%cpu_arch_flavor +%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list %if %kmp_target_cpu != %cpu_arch %obj_install_dir/%kmp_target_cpu /usr/src/linux-obj/%kmp_target_cpu @@ -1229,7 +1242,236 @@ %dir /lib/modules/%kernelrelease-%build_flavor %endif +%if ! 0%{?skip_klp_symbols:1} + +%package livepatch-devel +Summary: Kernel symbols file used during livepatch development +Group: System/Kernel +Provides: klp-symbols = %version + +%description livepatch-devel +This package brings a file named Symbols.list, which contains a list of all +kernel symbols and its respective kernel object . This list is to be used by +the klp-convert tool, which helps livepatch developers by enabling automatic +symbol resolution. + +%files livepatch-devel +%defattr(-, root, root) +%dir %obj_install_dir +%dir %obj_install_dir/%cpu_arch +%dir %obj_install_dir/%cpu_arch_flavor/ +%obj_install_dir/%cpu_arch_flavor/Symbols.list + +%endif + %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" +%package -n cluster-md-kmp-%build_flavor +Summary: Clustering support for MD devices +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: cluster-md-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n cluster-md-kmp-%build_flavor +Clustering support for MD devices. This enables locking and +synchronization across multiple systems on the cluster, so all +nodes in the cluster can access the MD devices simultaneously. + +%post -n cluster-md-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=cluster-md-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n cluster-md-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n cluster-md-kmp-%build_flavor +nvr=cluster-md-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n cluster-md-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=cluster-md-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n cluster-md-kmp-%build_flavor -f cluster-md-kmp.files +%defattr(-, root, root) + +%package -n dlm-kmp-%build_flavor +Summary: DLM kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: dlm-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 + +%description -n dlm-kmp-%build_flavor +DLM stands for Distributed Lock Manager, a means to synchronize access to +shared resources over the cluster. + +%post -n dlm-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=dlm-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n dlm-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n dlm-kmp-%build_flavor +nvr=dlm-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n dlm-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=dlm-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n dlm-kmp-%build_flavor -f dlm-kmp.files +%defattr(-, root, root) + +%package -n gfs2-kmp-%build_flavor +Summary: GFS2 kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: gfs2-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n gfs2-kmp-%build_flavor +GFS2 is Global Filesystem, a shared device filesystem. + +%post -n gfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=gfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n gfs2-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n gfs2-kmp-%build_flavor +nvr=gfs2-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n gfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=gfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n gfs2-kmp-%build_flavor -f gfs2-kmp.files +%defattr(-, root, root) + +%package -n kselftests-kmp-%build_flavor +Summary: kselftests kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: kselftests-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 + +%description -n kselftests-kmp-%build_flavor +kselftests kernel modules. + +%post -n kselftests-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=kselftests-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n kselftests-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n kselftests-kmp-%build_flavor +nvr=kselftests-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n kselftests-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=kselftests-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n kselftests-kmp-%build_flavor -f kselftests-kmp.files +%defattr(-, root, root) + +%package -n ocfs2-kmp-%build_flavor +Summary: OCFS2 kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: ocfs2-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n ocfs2-kmp-%build_flavor +OCFS2 is the Oracle Cluster Filesystem, a filesystem for shared devices +accessible simultaneously from multiple nodes of a cluster. + +%post -n ocfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=ocfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n ocfs2-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n ocfs2-kmp-%build_flavor +nvr=ocfs2-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n ocfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=ocfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n ocfs2-kmp-%build_flavor -f ocfs2-kmp.files +%defattr(-, root, root) + %endif # %CONFIG_SUSE_KERNEL_SUPPORTED %endif # %CONFIG_MODULES kernel-lpae.spec: same change ++++++ kernel-obs-build.spec ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:53.850578945 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:53.854578801 +0200 @@ -19,7 +19,7 @@ #!BuildIgnore: post-build-checks -%define patchversion 4.16.2 +%define patchversion 4.16.3 %define variant %{nil} %define vanilla_only 0 @@ -45,7 +45,7 @@ %endif %endif %endif -BuildRequires: kernel%kernel_flavor-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +BuildRequires: kernel%kernel_flavor-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %if 0%{?rhel_version} BuildRequires: kernel @@ -64,9 +64,9 @@ Summary: package kernel and initrd for OBS VM builds License: GPL-2.0 Group: SLES -Version: 4.16.2 +Version: 4.16.3 %if 0%{?is_kotd} -Release: <RELEASE>.g7b2d22b +Release: <RELEASE>.g2fd48c5 %else Release: 0 %endif ++++++ kernel-obs-qa.spec ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:53.886577642 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:53.890577498 +0200 @@ -17,7 +17,7 @@ # needsrootforbuild -%define patchversion 4.16.2 +%define patchversion 4.16.3 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -36,9 +36,9 @@ Summary: Basic QA tests for the kernel License: GPL-2.0 Group: SLES -Version: 4.16.2 +Version: 4.16.3 %if 0%{?is_kotd} -Release: <RELEASE>.g7b2d22b +Release: <RELEASE>.g2fd48c5 %else Release: 0 %endif ++++++ kernel-pae.spec ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:53.926576195 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:53.930576050 +0200 @@ -18,7 +18,7 @@ %define srcversion 4.16 -%define patchversion 4.16.2 +%define patchversion 4.16.3 %define variant %{nil} %define vanilla_only 0 @@ -37,7 +37,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -58,9 +58,9 @@ Summary: Kernel with PAE Support License: GPL-2.0 Group: System/Kernel -Version: 4.16.2 +Version: 4.16.3 %if 0%{?is_kotd} -Release: <RELEASE>.g7b2d22b +Release: <RELEASE>.g2fd48c5 %else Release: 0 %endif @@ -164,10 +164,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 -Provides: kernel-%build_flavor-base-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: kernel-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 +Provides: kernel-%build_flavor-base-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 # END COMMON DEPS -Provides: %name-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: %name-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %ifarch %ix86 Provides: kernel-bigsmp = 2.6.17 Obsoletes: kernel-bigsmp <= 2.6.17 @@ -241,6 +241,7 @@ Source74: mkspec-dtb Source75: release-projects Source76: check-module-license +Source77: klp-symbols Source100: config.tar.bz2 Source101: config.addon.tar.bz2 Source102: patches.arch.tar.bz2 @@ -320,6 +321,7 @@ NoSource: 74 NoSource: 75 NoSource: 76 +NoSource: 77 NoSource: 100 NoSource: 101 NoSource: 102 @@ -438,7 +440,7 @@ subpackages=( base %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" - + cluster-md-kmp dlm-kmp gfs2-kmp kselftests-kmp ocfs2-kmp %endif ) for package in "${subpackages[@]}"; do @@ -587,6 +589,11 @@ fi done +# Generate list of symbols that are used to create kernel livepatches +%if ! 0%{?skip_klp_symbols:1} + %_sourcedir/klp-symbols . Symbols.list +%endif + %install # sign the modules, firmware and possibly the kernel in the buildservice @@ -803,6 +810,11 @@ mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # List of symbols that are used to generate kernel livepatches + %if ! 0%{?skip_klp_symbols:1} + cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor + %endif + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -1081,8 +1093,8 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 -Provides: kernel-%build_flavor-base-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: kernel-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 +Provides: kernel-%build_flavor-base-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %ifarch %ix86 Provides: kernel-vmi-base = 2.6.38 @@ -1250,6 +1262,7 @@ %dir /usr/src/linux-obj/%cpu_arch %ghost /usr/src/linux-obj/%cpu_arch_flavor %obj_install_dir/%cpu_arch_flavor +%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list %if %kmp_target_cpu != %cpu_arch %obj_install_dir/%kmp_target_cpu /usr/src/linux-obj/%kmp_target_cpu @@ -1281,7 +1294,236 @@ %dir /lib/modules/%kernelrelease-%build_flavor %endif +%if ! 0%{?skip_klp_symbols:1} + +%package livepatch-devel +Summary: Kernel symbols file used during livepatch development +Group: System/Kernel +Provides: klp-symbols = %version + +%description livepatch-devel +This package brings a file named Symbols.list, which contains a list of all +kernel symbols and its respective kernel object . This list is to be used by +the klp-convert tool, which helps livepatch developers by enabling automatic +symbol resolution. + +%files livepatch-devel +%defattr(-, root, root) +%dir %obj_install_dir +%dir %obj_install_dir/%cpu_arch +%dir %obj_install_dir/%cpu_arch_flavor/ +%obj_install_dir/%cpu_arch_flavor/Symbols.list + +%endif + %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" +%package -n cluster-md-kmp-%build_flavor +Summary: Clustering support for MD devices +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: cluster-md-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n cluster-md-kmp-%build_flavor +Clustering support for MD devices. This enables locking and +synchronization across multiple systems on the cluster, so all +nodes in the cluster can access the MD devices simultaneously. + +%post -n cluster-md-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=cluster-md-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n cluster-md-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n cluster-md-kmp-%build_flavor +nvr=cluster-md-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n cluster-md-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=cluster-md-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n cluster-md-kmp-%build_flavor -f cluster-md-kmp.files +%defattr(-, root, root) + +%package -n dlm-kmp-%build_flavor +Summary: DLM kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: dlm-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 + +%description -n dlm-kmp-%build_flavor +DLM stands for Distributed Lock Manager, a means to synchronize access to +shared resources over the cluster. + +%post -n dlm-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=dlm-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n dlm-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n dlm-kmp-%build_flavor +nvr=dlm-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n dlm-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=dlm-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n dlm-kmp-%build_flavor -f dlm-kmp.files +%defattr(-, root, root) + +%package -n gfs2-kmp-%build_flavor +Summary: GFS2 kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: gfs2-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n gfs2-kmp-%build_flavor +GFS2 is Global Filesystem, a shared device filesystem. + +%post -n gfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=gfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n gfs2-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n gfs2-kmp-%build_flavor +nvr=gfs2-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n gfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=gfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n gfs2-kmp-%build_flavor -f gfs2-kmp.files +%defattr(-, root, root) + +%package -n kselftests-kmp-%build_flavor +Summary: kselftests kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: kselftests-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 + +%description -n kselftests-kmp-%build_flavor +kselftests kernel modules. + +%post -n kselftests-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=kselftests-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n kselftests-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n kselftests-kmp-%build_flavor +nvr=kselftests-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n kselftests-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=kselftests-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n kselftests-kmp-%build_flavor -f kselftests-kmp.files +%defattr(-, root, root) + +%package -n ocfs2-kmp-%build_flavor +Summary: OCFS2 kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: ocfs2-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n ocfs2-kmp-%build_flavor +OCFS2 is the Oracle Cluster Filesystem, a filesystem for shared devices +accessible simultaneously from multiple nodes of a cluster. + +%post -n ocfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=ocfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n ocfs2-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n ocfs2-kmp-%build_flavor +nvr=ocfs2-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n ocfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=ocfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n ocfs2-kmp-%build_flavor -f ocfs2-kmp.files +%defattr(-, root, root) + %endif # %CONFIG_SUSE_KERNEL_SUPPORTED %endif # %CONFIG_MODULES ++++++ kernel-source.spec ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:53.950575327 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:53.958575037 +0200 @@ -18,7 +18,7 @@ %define srcversion 4.16 -%define patchversion 4.16.2 +%define patchversion 4.16.3 %define variant %{nil} %define vanilla_only 0 @@ -30,9 +30,9 @@ Summary: The Linux Kernel Sources License: GPL-2.0 Group: Development/Sources -Version: 4.16.2 +Version: 4.16.3 %if 0%{?is_kotd} -Release: <RELEASE>.g7b2d22b +Release: <RELEASE>.g2fd48c5 %else Release: 0 %endif @@ -43,7 +43,7 @@ BuildRequires: sed Requires(post): coreutils sed Provides: %name = %version-%source_rel -Provides: %name-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: %name-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 Provides: linux Provides: multiversion(kernel) Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz @@ -96,6 +96,7 @@ Source74: mkspec-dtb Source75: release-projects Source76: check-module-license +Source77: klp-symbols Source100: config.tar.bz2 Source101: config.addon.tar.bz2 Source102: patches.arch.tar.bz2 @@ -117,7 +118,7 @@ Requires: kernel-devel%variant = %version-%source_rel Recommends: openssl-devel -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols}) %define symbols %(set -- $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*) %define variant_symbols %(case %name in (*-rt) echo "RT" ;; esac) ++++++ kernel-syms.spec ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:53.986574024 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:53.990573879 +0200 @@ -24,10 +24,10 @@ Summary: Kernel Symbol Versions (modversions) License: GPL-2.0 Group: Development/Sources -Version: 4.16.2 +Version: 4.16.3 %if %using_buildservice %if 0%{?is_kotd} -Release: <RELEASE>.g7b2d22b +Release: <RELEASE>.g2fd48c5 %else Release: 0 %endif @@ -55,7 +55,7 @@ %endif Requires: pesign-obs-integration Provides: %name = %version-%source_rel -Provides: %name-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: %name-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 Provides: multiversion(kernel) Source: README.KSYMS Requires: kernel-devel%variant = %version-%source_rel ++++++ kernel-syzkaller.spec ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:54.014573011 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:54.014573011 +0200 @@ -18,7 +18,7 @@ %define srcversion 4.16 -%define patchversion 4.16.2 +%define patchversion 4.16.3 %define variant %{nil} %define vanilla_only 0 @@ -37,7 +37,7 @@ %define rpm_install_dir %buildroot%obj_install_dir %define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj -%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license}) +%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols}) %global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu) %define cpu_arch_flavor %cpu_arch/%build_flavor @@ -58,9 +58,9 @@ Summary: Kernel used for fuzzing by syzkaller License: GPL-2.0 Group: System/Kernel -Version: 4.16.2 +Version: 4.16.3 %if 0%{?is_kotd} -Release: <RELEASE>.g7b2d22b +Release: <RELEASE>.g2fd48c5 %else Release: 0 %endif @@ -164,10 +164,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 -Provides: kernel-%build_flavor-base-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: kernel-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 +Provides: kernel-%build_flavor-base-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 # END COMMON DEPS -Provides: %name-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: %name-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %obsolete_rebuilds %name Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz Source2: source-post.sh @@ -219,6 +219,7 @@ Source74: mkspec-dtb Source75: release-projects Source76: check-module-license +Source77: klp-symbols Source100: config.tar.bz2 Source101: config.addon.tar.bz2 Source102: patches.arch.tar.bz2 @@ -298,6 +299,7 @@ NoSource: 74 NoSource: 75 NoSource: 76 +NoSource: 77 NoSource: 100 NoSource: 101 NoSource: 102 @@ -411,7 +413,7 @@ subpackages=( base %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" - + cluster-md-kmp dlm-kmp gfs2-kmp kselftests-kmp ocfs2-kmp %endif ) for package in "${subpackages[@]}"; do @@ -560,6 +562,11 @@ fi done +# Generate list of symbols that are used to create kernel livepatches +%if ! 0%{?skip_klp_symbols:1} + %_sourcedir/klp-symbols . Symbols.list +%endif + %install # sign the modules, firmware and possibly the kernel in the buildservice @@ -776,6 +783,11 @@ mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # List of symbols that are used to generate kernel livepatches + %if ! 0%{?skip_klp_symbols:1} + cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor + %endif + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -1054,8 +1066,8 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 -Provides: kernel-%build_flavor-base-srchash = 7b2d22b118d1ce275f762e1458e957a45ff84018 +Provides: kernel-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 +Provides: kernel-%build_flavor-base-srchash = 2fd48c572fd197b449f996338b5f5dba6e054711 %obsolete_rebuilds %name-base %ifarch %ix86 @@ -1183,6 +1195,7 @@ %dir /usr/src/linux-obj/%cpu_arch %ghost /usr/src/linux-obj/%cpu_arch_flavor %obj_install_dir/%cpu_arch_flavor +%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list %if %kmp_target_cpu != %cpu_arch %obj_install_dir/%kmp_target_cpu /usr/src/linux-obj/%kmp_target_cpu @@ -1214,7 +1227,236 @@ %dir /lib/modules/%kernelrelease-%build_flavor %endif +%if ! 0%{?skip_klp_symbols:1} + +%package livepatch-devel +Summary: Kernel symbols file used during livepatch development +Group: System/Kernel +Provides: klp-symbols = %version + +%description livepatch-devel +This package brings a file named Symbols.list, which contains a list of all +kernel symbols and its respective kernel object . This list is to be used by +the klp-convert tool, which helps livepatch developers by enabling automatic +symbol resolution. + +%files livepatch-devel +%defattr(-, root, root) +%dir %obj_install_dir +%dir %obj_install_dir/%cpu_arch +%dir %obj_install_dir/%cpu_arch_flavor/ +%obj_install_dir/%cpu_arch_flavor/Symbols.list + +%endif + %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" +%package -n cluster-md-kmp-%build_flavor +Summary: Clustering support for MD devices +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: cluster-md-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n cluster-md-kmp-%build_flavor +Clustering support for MD devices. This enables locking and +synchronization across multiple systems on the cluster, so all +nodes in the cluster can access the MD devices simultaneously. + +%post -n cluster-md-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=cluster-md-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n cluster-md-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n cluster-md-kmp-%build_flavor +nvr=cluster-md-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n cluster-md-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=cluster-md-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n cluster-md-kmp-%build_flavor -f cluster-md-kmp.files +%defattr(-, root, root) + +%package -n dlm-kmp-%build_flavor +Summary: DLM kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: dlm-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 + +%description -n dlm-kmp-%build_flavor +DLM stands for Distributed Lock Manager, a means to synchronize access to +shared resources over the cluster. + +%post -n dlm-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=dlm-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n dlm-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n dlm-kmp-%build_flavor +nvr=dlm-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n dlm-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=dlm-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n dlm-kmp-%build_flavor -f dlm-kmp.files +%defattr(-, root, root) + +%package -n gfs2-kmp-%build_flavor +Summary: GFS2 kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: gfs2-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n gfs2-kmp-%build_flavor +GFS2 is Global Filesystem, a shared device filesystem. + +%post -n gfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=gfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n gfs2-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n gfs2-kmp-%build_flavor +nvr=gfs2-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n gfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=gfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n gfs2-kmp-%build_flavor -f gfs2-kmp.files +%defattr(-, root, root) + +%package -n kselftests-kmp-%build_flavor +Summary: kselftests kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: kselftests-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 + +%description -n kselftests-kmp-%build_flavor +kselftests kernel modules. + +%post -n kselftests-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=kselftests-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n kselftests-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n kselftests-kmp-%build_flavor +nvr=kselftests-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n kselftests-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=kselftests-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n kselftests-kmp-%build_flavor -f kselftests-kmp.files +%defattr(-, root, root) + +%package -n ocfs2-kmp-%build_flavor +Summary: OCFS2 kernel modules +Group: System/Kernel +Requires: %name = %version-%source_rel +Provides: ocfs2-kmp = %version-%source_rel +Provides: multiversion(kernel) +# tell weak-modules2 to ignore this package +Provides: kmp_in_kernel +Requires(post): suse-module-tools >= 12.4 +Requires: dlm-kmp-%build_flavor = %version-%release + +%description -n ocfs2-kmp-%build_flavor +OCFS2 is the Oracle Cluster Filesystem, a filesystem for shared devices +accessible simultaneously from multiple nodes of a cluster. + +%post -n ocfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=ocfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \ + --add-kernel-modules %kernelrelease-%build_flavor +fi + +%posttrans -n ocfs2-kmp-%build_flavor +%{?regenerate_initrd_posttrans} + +%preun -n ocfs2-kmp-%build_flavor +nvr=ocfs2-kmp-%build_flavor-%version-%release +rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules" + +%postun -n ocfs2-kmp-%build_flavor +wm2=/usr/lib/module-init-tools/weak-modules2 +nvr=ocfs2-kmp-%build_flavor-%version-%release +if test -x "$wm2"; then + /bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \ + --remove-kernel-modules %kernelrelease-%build_flavor +fi +rm -f "/var/run/rpm-$nvr-modules" + +%files -n ocfs2-kmp-%build_flavor -f ocfs2-kmp.files +%defattr(-, root, root) + %endif # %CONFIG_SUSE_KERNEL_SUPPORTED %endif # %CONFIG_MODULES kernel-vanilla.spec: same change kernel-zfcpdump.spec: same change ++++++ config.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/arm64/default new/config/arm64/default --- old/config/arm64/default 2018-04-11 11:59:12.000000000 +0200 +++ new/config/arm64/default 2018-04-19 10:51:55.000000000 +0200 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 4.16.0 Kernel Configuration +# Linux/arm64 4.16.1 Kernel Configuration # CONFIG_ARM64=y CONFIG_64BIT=y @@ -582,7 +582,7 @@ # CONFIG_CPU_BIG_ENDIAN is not set CONFIG_SCHED_MC=y CONFIG_SCHED_SMT=y -CONFIG_NR_CPUS=128 +CONFIG_NR_CPUS=384 CONFIG_HOTPLUG_CPU=y CONFIG_NUMA=y CONFIG_NODES_SHIFT=2 ++++++ kernel-binary.spec.in ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:54.662549563 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:54.662549563 +0200 @@ -434,6 +434,11 @@ fi done +# Generate list of symbols that are used to create kernel livepatches +%if ! 0%{?skip_klp_symbols:1} + %_sourcedir/klp-symbols . Symbols.list +%endif + %install # sign the modules, firmware and possibly the kernel in the buildservice @@ -650,6 +655,11 @@ mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor + # List of symbols that are used to generate kernel livepatches + %if ! 0%{?skip_klp_symbols:1} + cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor + %endif + # Table of types used in exported symbols (for modversion debugging). %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then @@ -992,6 +1002,7 @@ %dir /usr/src/linux-obj/%cpu_arch %ghost /usr/src/linux-obj/%cpu_arch_flavor %obj_install_dir/%cpu_arch_flavor +%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list %if %kmp_target_cpu != %cpu_arch %obj_install_dir/%kmp_target_cpu /usr/src/linux-obj/%kmp_target_cpu @@ -1023,6 +1034,28 @@ %dir /lib/modules/%kernelrelease-%build_flavor %endif +%if ! 0%{?skip_klp_symbols:1} + +%package livepatch-devel +Summary: Kernel symbols file used during livepatch development +Group: System/Kernel +Provides: klp-symbols = %version + +%description livepatch-devel +This package brings a file named Symbols.list, which contains a list of all +kernel symbols and its respective kernel object . This list is to be used by +the klp-convert tool, which helps livepatch developers by enabling automatic +symbol resolution. + +%files livepatch-devel +%defattr(-, root, root) +%dir %obj_install_dir +%dir %obj_install_dir/%cpu_arch +%dir %obj_install_dir/%cpu_arch_flavor/ +%obj_install_dir/%cpu_arch_flavor/Symbols.list + +%endif + %if %CONFIG_SUSE_KERNEL_SUPPORTED == "y" # BEGIN KMP %package -n @KMP_NAME@-%build_flavor ++++++ kernel-source.spec.in ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:54.798544642 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:54.806544353 +0200 @@ -96,6 +96,7 @@ Source74: mkspec-dtb Source75: release-projects Source76: check-module-license +Source77: klp-symbols Source100: config.tar.bz2 Source101: config.addon.tar.bz2 Source102: patches.arch.tar.bz2 ++++++ klp-symbols ++++++ #!/bin/bash set -e export LC_COLLATE=C usage() { echo "Tool to generate list of symbols that are used to build kernel livepatches" echo echo "Usage: ${0##*/} kernel_build_dir klp_symbols" echo " kernel_build_dir Directory where to find the built kernel binaries" echo " klp_symbols Output file with the list of symbols" } if test "$1" == "-h" -o "$1" == "--help" -o $# -ne 2 ; then usage >&2 exit 1 fi KERNEL_BUILD_DIR="$1" KLP_SYMBOLS="$2" VMLINUX="$KERNEL_BUILD_DIR/vmlinux" MODVER_DIR="$KERNEL_BUILD_DIR/.tmp_versions" if ! test -f "$VMLINUX" ; then echo "Error: Cannot open file: $VMLINUX" >&2 exit 1 fi if ! test -d "$MODVER_DIR" ; then echo "Error: Directory does not exist: $MODVER_DIR" >&2 exit 1 fi get_symbols() { nm -f posix "$1" | grep -v '\( [UN] \)\|\(\.L\|__crc_\)' | cut -d\ -f1,2 } echo "*vmlinux" > "$KLP_SYMBOLS" get_symbols "$VMLINUX" >> "$KLP_SYMBOLS" find "$MODVER_DIR" -iname '*.mod' | while read KMOD ; do # read .ko path and file from .mod file KO_FILE="$(head -n1 $KMOD)" # obtain module name and its object file by processing .ko file name NO_SUFFIX="$(basename -s .ko $KO_FILE)" KMOD_NAME="$(echo $NO_SUFFIX | sed 's/-/_/g')" OBJ_FILE="$(dirname $KO_FILE)/$NO_SUFFIX.o" # write module name to Symbols file echo "*$KMOD_NAME" >> "$KLP_SYMBOLS" # extract symbols from object file and write them to Symbols file get_symbols "$OBJ_FILE" >> "$KLP_SYMBOLS" done exit 0 ++++++ patches.kernel.org.tar.bz2 ++++++ ++++ 6804 lines of diff (skipped) ++++++ patches.rpmify.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/objtool-perf-Fix-GCC-8-Wrestrict-error.patch new/patches.rpmify/objtool-perf-Fix-GCC-8-Wrestrict-error.patch --- old/patches.rpmify/objtool-perf-Fix-GCC-8-Wrestrict-error.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.rpmify/objtool-perf-Fix-GCC-8-Wrestrict-error.patch 2018-04-19 15:42:41.000000000 +0200 @@ -0,0 +1,52 @@ +From 854e55ad289ef8888e7991f0ada85d5846f5afb9 Mon Sep 17 00:00:00 2001 +From: Josh Poimboeuf <[email protected]> +Date: Thu, 15 Mar 2018 22:11:54 -0500 +Subject: [PATCH] objtool, perf: Fix GCC 8 -Wrestrict error +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +References: bsc#1084620 +Patch-mainline: v4.17-rc1 +Git-commit: 854e55ad289ef8888e7991f0ada85d5846f5afb9 + +Starting with recent GCC 8 builds, objtool and perf fail to build with +the following error: + + ../str_error_r.c: In function ‘str_error_r’: + ../str_error_r.c:25:3: error: passing argument 1 to restrict-qualified parameter aliases with argument 5 [-Werror=restrict] + snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, buf, buflen, err); + +The code seems harmless, but there's probably no benefit in printing the +'buf' pointer in this situation anyway, so just remove it to make GCC +happy. + +Reported-by: Laura Abbott <[email protected]> +Signed-off-by: Josh Poimboeuf <[email protected]> +Tested-by: Laura Abbott <[email protected]> +Cc: Adrian Hunter <[email protected]> +Cc: Jiri Olsa <[email protected]> +Cc: Namhyung Kim <[email protected]> +Cc: Wang Nan <[email protected]> +Link: http://lkml.kernel.org/r/20180316031154.juk2uncs7baffctp@treble +Signed-off-by: Arnaldo Carvalho de Melo <[email protected]> +Acked-by: Michal Suchanek <[email protected]> +--- + tools/lib/str_error_r.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/lib/str_error_r.c b/tools/lib/str_error_r.c +index d6d65537b0d9..6aad8308a0ac 100644 +--- a/tools/lib/str_error_r.c ++++ b/tools/lib/str_error_r.c +@@ -22,6 +22,6 @@ char *str_error_r(int errnum, char *buf, size_t buflen) + { + int err = strerror_r(errnum, buf, buflen); + if (err) +- snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, buf, buflen, err); ++ snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, [buf], %zd)=%d", errnum, buflen, err); + return buf; + } +-- +2.13.6 + ++++++ patches.suse.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/0001-AppArmor-basic-networking-rules.patch new/patches.suse/0001-AppArmor-basic-networking-rules.patch --- old/patches.suse/0001-AppArmor-basic-networking-rules.patch 2018-04-12 12:43:52.000000000 +0200 +++ new/patches.suse/0001-AppArmor-basic-networking-rules.patch 2018-04-19 22:56:06.000000000 +0200 @@ -105,7 +105,7 @@ + $(call cmd,make-sock) --- a/security/apparmor/apparmorfs.c +++ b/security/apparmor/apparmorfs.c -@@ -2202,6 +2202,7 @@ static struct aa_sfs_entry aa_sfs_entry_ +@@ -2200,6 +2200,7 @@ static struct aa_sfs_entry aa_sfs_entry_ AA_SFS_DIR("policy", aa_sfs_entry_policy), AA_SFS_DIR("domain", aa_sfs_entry_domain), AA_SFS_DIR("file", aa_sfs_entry_file), @@ -115,8 +115,8 @@ AA_SFS_FILE_U64("capability", VFS_CAP_FLAGS_MASK), --- a/security/apparmor/include/audit.h +++ b/security/apparmor/include/audit.h -@@ -128,6 +128,10 @@ struct apparmor_audit_data { - } fs; +@@ -132,6 +132,10 @@ struct apparmor_audit_data { + } rlim; int signal; }; + struct { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/Revert-drm-amd-display-disable-CRTCs-with-NULL-FB.patch new/patches.suse/Revert-drm-amd-display-disable-CRTCs-with-NULL-FB.patch --- old/patches.suse/Revert-drm-amd-display-disable-CRTCs-with-NULL-FB.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/Revert-drm-amd-display-disable-CRTCs-with-NULL-FB.patch 2018-04-19 22:56:06.000000000 +0200 @@ -0,0 +1,74 @@ +From: Harry Wentland <[email protected]> +Subject: Revert "drm/amd/display: disable CRTCs with NULL FB on their primary + plane (V2)" +Mime-version: 1.0 +Content-type: text/plain; charset=UTF-8 +Content-transfer-encoding: 8bit +Patch-mainline: v4.17-rc2 +Git-commit: 1cb19e8267a57c5174da09e0d52d1477baceccca +References: bsc#1089615, bsc#1088902 + +This seems to cause flickering and lock-ups for a wide range of users. +Revert until we've found a proper fix for the flickering and lock-ups. + +This reverts commit 36cc549d59864b7161f0e23d710c1c4d1b9cf022. + +Cc: Shirish S <[email protected]> +Cc: Alex Deucher <[email protected]> +Cc: [email protected] +Signed-off-by: Harry Wentland <[email protected]> +Reviewed-by: Michel Dänzer <[email protected]> +Signed-off-by: Alex Deucher <[email protected]> +Acked-by: Takashi Iwai <[email protected]> + +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 31 ---------------------- + 1 file changed, 31 deletions(-) + +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -4776,33 +4776,6 @@ static int dm_update_planes_state(struct + return ret; + } + +-static int dm_atomic_check_plane_state_fb(struct drm_atomic_state *state, +- struct drm_crtc *crtc) +-{ +- struct drm_plane *plane; +- struct drm_crtc_state *crtc_state; +- +- WARN_ON(!drm_atomic_get_new_crtc_state(state, crtc)); +- +- drm_for_each_plane_mask(plane, state->dev, crtc->state->plane_mask) { +- struct drm_plane_state *plane_state = +- drm_atomic_get_plane_state(state, plane); +- +- if (IS_ERR(plane_state)) +- return -EDEADLK; +- +- crtc_state = drm_atomic_get_crtc_state(plane_state->state, crtc); +- if (IS_ERR(crtc_state)) +- return PTR_ERR(crtc_state); +- +- if (crtc->primary == plane && crtc_state->active) { +- if (!plane_state->fb) +- return -EINVAL; +- } +- } +- return 0; +-} +- + static int amdgpu_dm_atomic_check(struct drm_device *dev, + struct drm_atomic_state *state) + { +@@ -4826,10 +4799,6 @@ static int amdgpu_dm_atomic_check(struct + goto fail; + + for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) { +- ret = dm_atomic_check_plane_state_fb(state, crtc); +- if (ret) +- goto fail; +- + if (!drm_atomic_crtc_needs_modeset(new_crtc_state) && + !new_crtc_state->color_mgmt_changed) + continue; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/media-v4l2-core-fix-size-of-devnode_nums-bitarray.patch new/patches.suse/media-v4l2-core-fix-size-of-devnode_nums-bitarray.patch --- old/patches.suse/media-v4l2-core-fix-size-of-devnode_nums-bitarray.patch 2018-04-12 12:43:52.000000000 +0200 +++ new/patches.suse/media-v4l2-core-fix-size-of-devnode_nums-bitarray.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,261 +0,0 @@ -From a95845ba184b854106972f5d8f50354c2d272c06 Mon Sep 17 00:00:00 2001 -From: Mauro Carvalho Chehab <[email protected]> -Date: Thu, 5 Apr 2018 06:51:15 -0300 -Subject: [PATCH] media: v4l2-core: fix size of devnode_nums[] bitarray -Mime-version: 1.0 -Content-type: text/plain; charset=UTF-8 -Content-transfer-encoding: 8bit -Git-commit: a95845ba184b854106972f5d8f50354c2d272c06 -Git-repo: git://linuxtv.org/mchehab/media-next.git -Patch-mainline: Queued in subsystem maintainer repo -References: bsc#1088640 - -The size of devnode_nums[] bit array is too short to store information -for VFL_TYPE_TOUCH. That causes it to override other memory regions. - -Thankfully, on recent reports, it is overriding video_device[] array, -trigging a WARN_ON(). Yet, it just warns about the problem, but let -the code excecuting, with generates an OOPS: - -[ 43.177394] WARNING: CPU: 1 PID: 711 at drivers/media/v4l2-core/v4l2-dev.c:945 __video_register_device+0xc99/0x1090 [videodev] -[ 43.177396] Modules linked in: hid_sensor_custom hid_sensor_als hid_sensor_incl_3d hid_sensor_rotation hid_sensor_magn_3d hid_sensor_accel_3d hid_sensor_gyro_3d hid_sensor_trigger industrialio_triggered_buffer kfifo_buf joydev hid_sensor_iio_common hid_rmi(+) rmi_core industrialio videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common videodev hid_multitouch media hid_sensor_hub binfmt_misc nls_iso8859_1 snd_hda_codec_hdmi arc4 snd_soc_skl snd_soc_skl_ipc snd_hda_ext_core snd_soc_sst_dsp snd_soc_sst_ipc snd_hda_codec_realtek snd_soc_acpi snd_hda_codec_generic snd_soc_core snd_compress ac97_bus snd_pcm_dmaengine snd_hda_intel snd_hda_codec intel_rapl snd_hda_core x86_pkg_temp_thermal snd_hwdep intel_powerclamp coretemp snd_pcm kvm_intel snd_seq_midi snd_seq_midi_event snd_rawmidi crct10dif_pclmul -[ 43.177426] crc32_pclmul ghash_clmulni_intel iwlmvm pcbc mac80211 snd_seq aesni_intel iwlwifi aes_x86_64 snd_seq_device crypto_simd glue_helper cryptd snd_timer intel_cstate intel_rapl_perf input_leds serio_raw intel_wmi_thunderbolt snd wmi_bmof cfg80211 soundcore ideapad_laptop sparse_keymap idma64 virt_dma tpm_crb acpi_pad int3400_thermal acpi_thermal_rel intel_pch_thermal processor_thermal_device mac_hid int340x_thermal_zone mei_me intel_soc_dts_iosf mei intel_lpss_pci shpchp intel_lpss sch_fq_codel vfio_pci nfsd vfio_virqfd parport_pc ppdev auth_rpcgss nfs_acl lockd grace lp parport sunrpc ip_tables x_tables autofs4 hid_logitech_hidpp hid_logitech_dj hid_generic usbhid kvmgt vfio_mdev mdev vfio_iommu_type1 vfio kvm irqbypass i915 i2c_algo_bit drm_kms_helper syscopyarea sdhci_pci sysfillrect -[ 43.177466] sysimgblt cqhci fb_sys_fops sdhci drm i2c_hid wmi hid video pinctrl_sunrisepoint pinctrl_intel -[ 43.177474] CPU: 1 PID: 711 Comm: systemd-udevd Not tainted 4.16.0 #1 -[ 43.177475] Hardware name: LENOVO 80UE/VIUU4, BIOS 2UCN10T 10/14/2016 -[ 43.177481] RIP: 0010:__video_register_device+0xc99/0x1090 [videodev] -[ 43.177482] RSP: 0000:ffffa5c5c231b420 EFLAGS: 00010202 -[ 43.177484] RAX: 0000000000000000 RBX: 0000000000000005 RCX: 0000000000000000 -[ 43.177485] RDX: ffffffffc0c44cc0 RSI: ffffffffffffffff RDI: ffffffffc0c44cc0 -[ 43.177486] RBP: ffffa5c5c231b478 R08: ffffffffc0c96900 R09: ffff8eda1a51f018 -[ 43.177487] R10: 0000000000000600 R11: 00000000000003b6 R12: 0000000000000000 -[ 43.177488] R13: 0000000000000005 R14: ffffffffc0c96900 R15: ffff8eda1d6d91c0 -[ 43.177489] FS: 00007fd2d8ef2480(0000) GS:ffff8eda33480000(0000) knlGS:0000000000000000 -[ 43.177490] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 -[ 43.177491] CR2: 00007ffe0a6ad01c CR3: 0000000456ae2004 CR4: 00000000003606e0 -[ 43.177492] Call Trace: -[ 43.177498] ? devres_add+0x5f/0x70 -[ 43.177502] rmi_f54_probe+0x437/0x470 [rmi_core] -[ 43.177505] rmi_function_probe+0x25/0x30 [rmi_core] -[ 43.177507] driver_probe_device+0x310/0x480 -[ 43.177509] __device_attach_driver+0x86/0x100 -[ 43.177511] ? __driver_attach+0xf0/0xf0 -[ 43.177512] bus_for_each_drv+0x6b/0xb0 -[ 43.177514] __device_attach+0xdd/0x160 -[ 43.177516] device_initial_probe+0x13/0x20 -[ 43.177518] bus_probe_device+0x95/0xa0 -[ 43.177519] device_add+0x44b/0x680 -[ 43.177522] rmi_register_function+0x62/0xd0 [rmi_core] -[ 43.177525] rmi_create_function+0x112/0x1a0 [rmi_core] -[ 43.177527] ? rmi_driver_clear_irq_bits+0xc0/0xc0 [rmi_core] -[ 43.177530] rmi_scan_pdt+0xca/0x1a0 [rmi_core] -[ 43.177535] rmi_init_functions+0x5b/0x120 [rmi_core] -[ 43.177537] rmi_driver_probe+0x152/0x3c0 [rmi_core] -[ 43.177547] ? sysfs_create_link+0x25/0x40 -[ 43.177549] driver_probe_device+0x310/0x480 -[ 43.177551] __device_attach_driver+0x86/0x100 -[ 43.177553] ? __driver_attach+0xf0/0xf0 -[ 43.177554] bus_for_each_drv+0x6b/0xb0 -[ 43.177556] __device_attach+0xdd/0x160 -[ 43.177558] device_initial_probe+0x13/0x20 -[ 43.177560] bus_probe_device+0x95/0xa0 -[ 43.177561] device_add+0x44b/0x680 -[ 43.177564] rmi_register_transport_device+0x84/0x100 [rmi_core] -[ 43.177568] rmi_input_configured+0xbf/0x1a0 [hid_rmi] -[ 43.177571] ? input_allocate_device+0xdf/0xf0 -[ 43.177574] hidinput_connect+0x4a9/0x37a0 [hid] -[ 43.177578] hid_connect+0x326/0x3d0 [hid] -[ 43.177581] hid_hw_start+0x42/0x70 [hid] -[ 43.177583] rmi_probe+0x115/0x510 [hid_rmi] -[ 43.177586] hid_device_probe+0xd3/0x150 [hid] -[ 43.177588] ? sysfs_create_link+0x25/0x40 -[ 43.177590] driver_probe_device+0x310/0x480 -[ 43.177592] __driver_attach+0xbf/0xf0 -[ 43.177593] ? driver_probe_device+0x480/0x480 -[ 43.177595] bus_for_each_dev+0x74/0xb0 -[ 43.177597] ? kmem_cache_alloc_trace+0x1a6/0x1c0 -[ 43.177599] driver_attach+0x1e/0x20 -[ 43.177600] bus_add_driver+0x167/0x260 -[ 43.177602] ? 0xffffffffc0cbc000 -[ 43.177604] driver_register+0x60/0xe0 -[ 43.177605] ? 0xffffffffc0cbc000 -[ 43.177607] __hid_register_driver+0x63/0x70 [hid] -[ 43.177610] rmi_driver_init+0x23/0x1000 [hid_rmi] -[ 43.177612] do_one_initcall+0x52/0x191 -[ 43.177615] ? _cond_resched+0x19/0x40 -[ 43.177617] ? kmem_cache_alloc_trace+0xa2/0x1c0 -[ 43.177619] ? do_init_module+0x27/0x209 -[ 43.177621] do_init_module+0x5f/0x209 -[ 43.177623] load_module+0x1987/0x1f10 -[ 43.177626] ? ima_post_read_file+0x96/0xa0 -[ 43.177629] SYSC_finit_module+0xfc/0x120 -[ 43.177630] ? SYSC_finit_module+0xfc/0x120 -[ 43.177632] SyS_finit_module+0xe/0x10 -[ 43.177634] do_syscall_64+0x73/0x130 -[ 43.177637] entry_SYSCALL_64_after_hwframe+0x3d/0xa2 -[ 43.177638] RIP: 0033:0x7fd2d880b839 -[ 43.177639] RSP: 002b:00007ffe0a6b2368 EFLAGS: 00000246 ORIG_RAX: 0000000000000139 -[ 43.177641] RAX: ffffffffffffffda RBX: 000055cdd86542e0 RCX: 00007fd2d880b839 -[ 43.177641] RDX: 0000000000000000 RSI: 00007fd2d84ea0e5 RDI: 0000000000000016 -[ 43.177642] RBP: 00007fd2d84ea0e5 R08: 0000000000000000 R09: 00007ffe0a6b2480 -[ 43.177643] R10: 0000000000000016 R11: 0000000000000246 R12: 0000000000000000 -[ 43.177644] R13: 000055cdd8688930 R14: 0000000000020000 R15: 000055cdd86542e0 -[ 43.177645] Code: 48 c7 c7 54 b4 c3 c0 e8 96 9d ec dd e9 d4 fb ff ff 0f 0b 41 be ea ff ff ff e9 c7 fb ff ff 0f 0b 41 be ea ff ff ff e9 ba fb ff ff <0f> 0b e9 d8 f4 ff ff 83 fa 01 0f 84 c4 02 00 00 48 83 78 68 00 -[ 43.177675] ---[ end trace d44d9bc41477c2dd ]--- -[ 43.177679] BUG: unable to handle kernel NULL pointer dereference at 0000000000000499 -[ 43.177723] IP: __video_register_device+0x1cc/0x1090 [videodev] -[ 43.177749] PGD 0 P4D 0 -[ 43.177764] Oops: 0000 [#1] SMP PTI -[ 43.177780] Modules linked in: hid_sensor_custom hid_sensor_als hid_sensor_incl_3d hid_sensor_rotation hid_sensor_magn_3d hid_sensor_accel_3d hid_sensor_gyro_3d hid_sensor_trigger industrialio_triggered_buffer kfifo_buf joydev hid_sensor_iio_common hid_rmi(+) rmi_core industrialio videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common videodev hid_multitouch media hid_sensor_hub binfmt_misc nls_iso8859_1 snd_hda_codec_hdmi arc4 snd_soc_skl snd_soc_skl_ipc snd_hda_ext_core snd_soc_sst_dsp snd_soc_sst_ipc snd_hda_codec_realtek snd_soc_acpi snd_hda_codec_generic snd_soc_core snd_compress ac97_bus snd_pcm_dmaengine snd_hda_intel snd_hda_codec intel_rapl snd_hda_core x86_pkg_temp_thermal snd_hwdep intel_powerclamp coretemp snd_pcm kvm_intel snd_seq_midi snd_seq_midi_event snd_rawmidi crct10dif_pclmul -[ 43.178055] crc32_pclmul ghash_clmulni_intel iwlmvm pcbc mac80211 snd_seq aesni_intel iwlwifi aes_x86_64 snd_seq_device crypto_simd glue_helper cryptd snd_timer intel_cstate intel_rapl_perf input_leds serio_raw intel_wmi_thunderbolt snd wmi_bmof cfg80211 soundcore ideapad_laptop sparse_keymap idma64 virt_dma tpm_crb acpi_pad int3400_thermal acpi_thermal_rel intel_pch_thermal processor_thermal_device mac_hid int340x_thermal_zone mei_me intel_soc_dts_iosf mei intel_lpss_pci shpchp intel_lpss sch_fq_codel vfio_pci nfsd vfio_virqfd parport_pc ppdev auth_rpcgss nfs_acl lockd grace lp parport sunrpc ip_tables x_tables autofs4 hid_logitech_hidpp hid_logitech_dj hid_generic usbhid kvmgt vfio_mdev mdev vfio_iommu_type1 vfio kvm irqbypass i915 i2c_algo_bit drm_kms_helper syscopyarea sdhci_pci sysfillrect -[ 43.178337] sysimgblt cqhci fb_sys_fops sdhci drm i2c_hid wmi hid video pinctrl_sunrisepoint pinctrl_intel -[ 43.178380] CPU: 1 PID: 711 Comm: systemd-udevd Tainted: G W 4.16.0 #1 -[ 43.178411] Hardware name: LENOVO 80UE/VIUU4, BIOS 2UCN10T 10/14/2016 -[ 43.178441] RIP: 0010:__video_register_device+0x1cc/0x1090 [videodev] -[ 43.178467] RSP: 0000:ffffa5c5c231b420 EFLAGS: 00010202 -[ 43.178490] RAX: ffffffffc0c44cc0 RBX: 0000000000000005 RCX: ffffffffc0c454c0 -[ 43.178519] RDX: 0000000000000001 RSI: ffff8eda1d6d9118 RDI: ffffffffc0c44cc0 -[ 43.178549] RBP: ffffa5c5c231b478 R08: ffffffffc0c96900 R09: ffff8eda1a51f018 -[ 43.178579] R10: 0000000000000600 R11: 00000000000003b6 R12: 0000000000000000 -[ 43.178608] R13: 0000000000000005 R14: ffffffffc0c96900 R15: ffff8eda1d6d91c0 -[ 43.178636] FS: 00007fd2d8ef2480(0000) GS:ffff8eda33480000(0000) knlGS:0000000000000000 -[ 43.178669] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 -[ 43.178693] CR2: 0000000000000499 CR3: 0000000456ae2004 CR4: 00000000003606e0 -[ 43.178721] Call Trace: -[ 43.178736] ? devres_add+0x5f/0x70 -[ 43.178755] rmi_f54_probe+0x437/0x470 [rmi_core] -[ 43.178779] rmi_function_probe+0x25/0x30 [rmi_core] -[ 43.178805] driver_probe_device+0x310/0x480 -[ 43.178828] __device_attach_driver+0x86/0x100 -[ 43.178851] ? __driver_attach+0xf0/0xf0 -[ 43.178884] bus_for_each_drv+0x6b/0xb0 -[ 43.178904] __device_attach+0xdd/0x160 -[ 43.178925] device_initial_probe+0x13/0x20 -[ 43.178948] bus_probe_device+0x95/0xa0 -[ 43.178968] device_add+0x44b/0x680 -[ 43.178987] rmi_register_function+0x62/0xd0 [rmi_core] -[ 43.181747] rmi_create_function+0x112/0x1a0 [rmi_core] -[ 43.184677] ? rmi_driver_clear_irq_bits+0xc0/0xc0 [rmi_core] -[ 43.187505] rmi_scan_pdt+0xca/0x1a0 [rmi_core] -[ 43.190171] rmi_init_functions+0x5b/0x120 [rmi_core] -[ 43.192809] rmi_driver_probe+0x152/0x3c0 [rmi_core] -[ 43.195403] ? sysfs_create_link+0x25/0x40 -[ 43.198253] driver_probe_device+0x310/0x480 -[ 43.201083] __device_attach_driver+0x86/0x100 -[ 43.203800] ? __driver_attach+0xf0/0xf0 -[ 43.206503] bus_for_each_drv+0x6b/0xb0 -[ 43.209291] __device_attach+0xdd/0x160 -[ 43.212207] device_initial_probe+0x13/0x20 -[ 43.215146] bus_probe_device+0x95/0xa0 -[ 43.217885] device_add+0x44b/0x680 -[ 43.220597] rmi_register_transport_device+0x84/0x100 [rmi_core] -[ 43.223321] rmi_input_configured+0xbf/0x1a0 [hid_rmi] -[ 43.226051] ? input_allocate_device+0xdf/0xf0 -[ 43.228814] hidinput_connect+0x4a9/0x37a0 [hid] -[ 43.231701] hid_connect+0x326/0x3d0 [hid] -[ 43.234548] hid_hw_start+0x42/0x70 [hid] -[ 43.237302] rmi_probe+0x115/0x510 [hid_rmi] -[ 43.239862] hid_device_probe+0xd3/0x150 [hid] -[ 43.242558] ? sysfs_create_link+0x25/0x40 -[ 43.242828] audit: type=1400 audit(1522795151.600:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/core/4206/usr/lib/snapd/snap-confine" pid=1151 comm="apparmor_parser" -[ 43.244859] driver_probe_device+0x310/0x480 -[ 43.244862] __driver_attach+0xbf/0xf0 -[ 43.246982] audit: type=1400 audit(1522795151.600:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/core/4206/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=1151 comm="apparmor_parser" -[ 43.249403] ? driver_probe_device+0x480/0x480 -[ 43.249405] bus_for_each_dev+0x74/0xb0 -[ 43.253200] audit: type=1400 audit(1522795151.600:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/core/4206/usr/lib/snapd/snap-confine//snap_update_ns" pid=1151 comm="apparmor_parser" -[ 43.254055] ? kmem_cache_alloc_trace+0x1a6/0x1c0 -[ 43.256282] audit: type=1400 audit(1522795151.604:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/sbin/dhclient" pid=1152 comm="apparmor_parser" -[ 43.258436] driver_attach+0x1e/0x20 -[ 43.260875] audit: type=1400 audit(1522795151.604:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1152 comm="apparmor_parser" -[ 43.263118] bus_add_driver+0x167/0x260 -[ 43.267676] audit: type=1400 audit(1522795151.604:9): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-helper" pid=1152 comm="apparmor_parser" -[ 43.268807] ? 0xffffffffc0cbc000 -[ 43.268812] driver_register+0x60/0xe0 -[ 43.271184] audit: type=1400 audit(1522795151.604:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/connman/scripts/dhclient-script" pid=1152 comm="apparmor_parser" -[ 43.274081] ? 0xffffffffc0cbc000 -[ 43.274086] __hid_register_driver+0x63/0x70 [hid] -[ 43.288367] rmi_driver_init+0x23/0x1000 [hid_rmi] -[ 43.291501] do_one_initcall+0x52/0x191 -[ 43.292348] audit: type=1400 audit(1522795151.652:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/man" pid=1242 comm="apparmor_parser" -[ 43.294212] ? _cond_resched+0x19/0x40 -[ 43.300028] ? kmem_cache_alloc_trace+0xa2/0x1c0 -[ 43.303475] ? do_init_module+0x27/0x209 -[ 43.306842] do_init_module+0x5f/0x209 -[ 43.310269] load_module+0x1987/0x1f10 -[ 43.313704] ? ima_post_read_file+0x96/0xa0 -[ 43.317174] SYSC_finit_module+0xfc/0x120 -[ 43.320754] ? SYSC_finit_module+0xfc/0x120 -[ 43.324065] SyS_finit_module+0xe/0x10 -[ 43.327387] do_syscall_64+0x73/0x130 -[ 43.330909] entry_SYSCALL_64_after_hwframe+0x3d/0xa2 -[ 43.334305] RIP: 0033:0x7fd2d880b839 -[ 43.337810] RSP: 002b:00007ffe0a6b2368 EFLAGS: 00000246 ORIG_RAX: 0000000000000139 -[ 43.341259] RAX: ffffffffffffffda RBX: 000055cdd86542e0 RCX: 00007fd2d880b839 -[ 43.344613] RDX: 0000000000000000 RSI: 00007fd2d84ea0e5 RDI: 0000000000000016 -[ 43.347962] RBP: 00007fd2d84ea0e5 R08: 0000000000000000 R09: 00007ffe0a6b2480 -[ 43.351456] R10: 0000000000000016 R11: 0000000000000246 R12: 0000000000000000 -[ 43.354845] R13: 000055cdd8688930 R14: 0000000000020000 R15: 000055cdd86542e0 -[ 43.358224] Code: c7 05 ad 12 02 00 00 00 00 00 48 8d 88 00 08 00 00 eb 09 48 83 c0 08 48 39 c1 74 31 48 8b 10 48 85 d2 74 ef 49 8b b7 98 04 00 00 <48> 39 b2 98 04 00 00 75 df 48 63 92 f8 04 00 00 f0 48 0f ab 15 -[ 43.361764] RIP: __video_register_device+0x1cc/0x1090 [videodev] RSP: ffffa5c5c231b420 -[ 43.365281] CR2: 0000000000000499 - -This patch fixes the array size and changes the WARN_ON() to return an error, -instead of letting the Kernel to proceed with registering. - -Cc: [email protected] # For Kernel 4.16 -Fixes: 4839c58f034a ("media: v4l2-dev: convert VFL_TYPE_* into an enum") -Reported-by: Peter Geis <[email protected]> -Reported-by: Jaak Ristioja <[email protected]> -Reported-by: Michał Siemek <[email protected]> -Reviewed-by: Hans Verkuil <[email protected]> -Reviewed-by: Sakari Ailus <[email protected]> -Signed-off-by: Mauro Carvalho Chehab <[email protected]> -Acked-by: Takashi Iwai <[email protected]> - ---- - drivers/media/v4l2-core/v4l2-dev.c | 8 ++++++-- - include/media/v4l2-dev.h | 12 ++++++------ - 2 files changed, 12 insertions(+), 8 deletions(-) - ---- a/drivers/media/v4l2-core/v4l2-dev.c -+++ b/drivers/media/v4l2-core/v4l2-dev.c -@@ -939,10 +939,14 @@ int __video_register_device(struct video - #endif - vdev->minor = i + minor_offset; - vdev->num = nr; -- devnode_set(vdev); - - /* Should not happen since we thought this minor was free */ -- WARN_ON(video_device[vdev->minor] != NULL); -+ if (WARN_ON(video_device[vdev->minor])) { -+ mutex_unlock(&videodev_lock); -+ printk(KERN_ERR "video_device not empty!\n"); -+ return -ENFILE; -+ } -+ devnode_set(vdev); - vdev->index = get_index(vdev); - video_device[vdev->minor] = vdev; - mutex_unlock(&videodev_lock); ---- a/include/media/v4l2-dev.h -+++ b/include/media/v4l2-dev.h -@@ -33,13 +33,13 @@ - */ - enum vfl_devnode_type { - VFL_TYPE_GRABBER = 0, -- VFL_TYPE_VBI = 1, -- VFL_TYPE_RADIO = 2, -- VFL_TYPE_SUBDEV = 3, -- VFL_TYPE_SDR = 4, -- VFL_TYPE_TOUCH = 5, -+ VFL_TYPE_VBI, -+ VFL_TYPE_RADIO, -+ VFL_TYPE_SUBDEV, -+ VFL_TYPE_SDR, -+ VFL_TYPE_TOUCH, -+ VFL_TYPE_MAX /* Shall be the last one */ - }; --#define VFL_TYPE_MAX VFL_TYPE_TOUCH - - /** - * enum vfl_direction - Identifies if a &struct video_device corresponds diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/resource-fix-integer-overflow-at-reallocation new/patches.suse/resource-fix-integer-overflow-at-reallocation --- old/patches.suse/resource-fix-integer-overflow-at-reallocation 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/resource-fix-integer-overflow-at-reallocation 2018-04-19 22:56:06.000000000 +0200 @@ -0,0 +1,53 @@ +From 60bb83b81169820c691fbfa33a6a4aef32aa4b0b Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <[email protected]> +Date: Fri, 13 Apr 2018 15:35:13 -0700 +Subject: [PATCH] resource: fix integer overflow at reallocation +Git-commit: 60bb83b81169820c691fbfa33a6a4aef32aa4b0b +Patch-mainline: v4.17-rc1 +References: bsc#1086739 + +We've got a bug report indicating a kernel panic at booting on an x86-32 +system, and it turned out to be the invalid PCI resource assigned after +reallocation. __find_resource() first aligns the resource start address +and resets the end address with start+size-1 accordingly, then checks +whether it's contained. Here the end address may overflow the integer, +although resource_contains() still returns true because the function +validates only start and end address. So this ends up with returning an +invalid resource (start > end). + +There was already an attempt to cover such a problem in the commit +47ea91b4052d ("Resource: fix wrong resource window calculation"), but +this case is an overseen one. + +This patch adds the validity check of the newly calculated resource for +avoiding the integer overflow problem. + +Bugzilla: http://bugzilla.opensuse.org/show_bug.cgi?id=1086739 +Link: http://lkml.kernel.org/r/[email protected] +Fixes: 23c570a67448 ("resource: ability to resize an allocated resource") +Signed-off-by: Takashi Iwai <[email protected]> +Reported-by: Michael Henders <[email protected]> +Tested-by: Michael Henders <[email protected]> +Reviewed-by: Andrew Morton <[email protected]> +Cc: Ram Pai <[email protected]> +Cc: Bjorn Helgaas <[email protected]> +Cc: <[email protected]> +Signed-off-by: Andrew Morton <[email protected]> +Signed-off-by: Linus Torvalds <[email protected]> + +--- + kernel/resource.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/kernel/resource.c ++++ b/kernel/resource.c +@@ -651,7 +651,8 @@ static int __find_resource(struct resour + alloc.start = constraint->alignf(constraint->alignf_data, &avail, + size, constraint->align); + alloc.end = alloc.start + size - 1; +- if (resource_contains(&avail, &alloc)) { ++ if (alloc.start <= alloc.end && ++ resource_contains(&avail, &alloc)) { + new->start = alloc.start; + new->end = alloc.end; + return 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/swiotlb-Fix-unexpected-swiotlb_alloc_coherent-failur.patch new/patches.suse/swiotlb-Fix-unexpected-swiotlb_alloc_coherent-failur.patch --- old/patches.suse/swiotlb-Fix-unexpected-swiotlb_alloc_coherent-failur.patch 2018-04-12 12:43:52.000000000 +0200 +++ new/patches.suse/swiotlb-Fix-unexpected-swiotlb_alloc_coherent-failur.patch 2018-04-19 22:56:06.000000000 +0200 @@ -1,16 +1,14 @@ From: Takashi Iwai <[email protected]> Subject: [PATCH] swiotlb: Fix unexpected swiotlb_alloc_coherent() failures -Date: Tue, 10 Apr 2018 19:05:13 +0200 -Message-Id: <[email protected]> -Patch-mainline: Submitted, iommu ML +Patch-mainline: v4.17-rc1 +Git-commit: 9e7f06c8beee304ee21b791653fefcd713f48b9a References: bsc#1088658, bsc#1088902 -The code refactoring by commit 0176adb00406 ("swiotlb: refactor -coherent buffer allocation") made swiotlb_alloc_buffer() almost always -failing due to a thinko: namely, the function evaluates the -dma_coherent_ok() call incorrectly and dealing as if it's invalid. -This ends up with weird errors like iwlwifi probe failure or amdgpu -screen flickering. +The code refactoring by commit 0176adb00406 ("swiotlb: refactor coherent +buffer allocation") made swiotlb_alloc_buffer almost always failing due +to a thinko: namely, the function evaluates the dma_coherent_ok call +incorrectly and dealing as if it's invalid. This ends up with weird +errors like iwlwifi probe failure or amdgpu screen flickering. This patch corrects the logic error. @@ -19,6 +17,7 @@ Fixes: 0176adb00406 ("swiotlb: refactor coherent buffer allocation") Cc: <[email protected]> # v4.16+ Signed-off-by: Takashi Iwai <[email protected]> +Signed-off-by: Christoph Hellwig <[email protected]> --- lib/swiotlb.c | 2 +- ++++++ series.conf ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:55.498519313 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:55.502519168 +0200 @@ -78,6 +78,75 @@ patches.kernel.org/4.16.2-017-net_sched-fix-a-missing-idr_remove-in-u32_dele.patch patches.kernel.org/4.16.2-018-nfp-use-full-40-bits-of-the-NSP-buffer-address.patch patches.kernel.org/4.16.2-019-Linux-4.16.2.patch + patches.kernel.org/4.16.3-001-cdc_ether-flag-the-Cinterion-AHS8-modem-by-gem.patch + patches.kernel.org/4.16.3-002-rds-MP-RDS-may-use-an-invalid-c_path.patch + patches.kernel.org/4.16.3-003-slip-Check-if-rstate-is-initialized-before-unc.patch + patches.kernel.org/4.16.3-004-vhost-fix-vhost_vq_access_ok-log-check.patch + patches.kernel.org/4.16.3-005-l2tp-fix-races-in-tunnel-creation.patch + patches.kernel.org/4.16.3-006-l2tp-fix-race-in-duplicate-tunnel-detection.patch + patches.kernel.org/4.16.3-007-ip_gre-clear-feature-flags-when-incompatible-o.patch + patches.kernel.org/4.16.3-008-vhost-Fix-vhost_copy_to_user.patch + patches.kernel.org/4.16.3-009-lan78xx-Correctly-indicate-invalid-OTP.patch + patches.kernel.org/4.16.3-010-sparc64-Properly-range-check-DAX-completion-in.patch + patches.kernel.org/4.16.3-011-media-v4l2-core-fix-size-of-devnode_nums-bitar.patch + patches.kernel.org/4.16.3-012-media-v4l2-compat-ioctl32-don-t-oops-on-overla.patch + patches.kernel.org/4.16.3-013-media-v4l-vsp1-Fix-header-display-list-status-.patch + patches.kernel.org/4.16.3-014-ipmi-Fix-some-error-cleanup-issues.patch + patches.kernel.org/4.16.3-015-parisc-Fix-out-of-array-access-in-match_pci_de.patch + patches.kernel.org/4.16.3-016-parisc-Fix-HPMC-handler-by-increasing-size-to-.patch + patches.kernel.org/4.16.3-017-iwlwifi-add-a-bunch-of-new-9000-PCI-IDs.patch + patches.kernel.org/4.16.3-018-Drivers-hv-vmbus-do-not-mark-HV_PCIE-as-perf_d.patch + patches.kernel.org/4.16.3-019-PCI-hv-Serialize-the-present-and-eject-work-it.patch + patches.kernel.org/4.16.3-020-PCI-hv-Fix-2-hang-issues-in-hv_compose_msi_msg.patch + patches.kernel.org/4.16.3-021-KVM-PPC-Book3S-HV-trace_tlbie-must-not-be-call.patch + patches.kernel.org/4.16.3-022-perf-intel-pt-Fix-overlap-detection-to-identif.patch + patches.kernel.org/4.16.3-023-perf-intel-pt-Fix-sync_switch.patch + patches.kernel.org/4.16.3-024-perf-intel-pt-Fix-error-recovery-from-missing-.patch + patches.kernel.org/4.16.3-025-perf-intel-pt-Fix-timestamp-following-overflow.patch + patches.kernel.org/4.16.3-026-perf-core-Fix-use-after-free-in-uprobe_perf_cl.patch + patches.kernel.org/4.16.3-027-radeon-hide-pointless-warning-when-compile-tes.patch + patches.kernel.org/4.16.3-028-x86-mce-AMD-Pass-the-bank-number-to-smca_get_b.patch + patches.kernel.org/4.16.3-029-x86-mce-AMD-EDAC-mce_amd-Enumerate-Reserved-SM.patch + patches.kernel.org/4.16.3-030-x86-mce-AMD-Get-address-from-already-initializ.patch + patches.kernel.org/4.16.3-031-ath9k-Protect-queue-draining-by-rcu_read_lock.patch + patches.kernel.org/4.16.3-032-x86-uapi-Fix-asm-bootparam.h-userspace-compila.patch + patches.kernel.org/4.16.3-033-x86-apic-Fix-signedness-bug-in-APIC-ID-validit.patch + patches.kernel.org/4.16.3-034-sunrpc-remove-incorrect-HMAC-request-initializ.patch + patches.kernel.org/4.16.3-035-f2fs-fix-heap-mode-to-reset-it-back.patch + patches.kernel.org/4.16.3-036-block-Change-a-rcu_read_-lock-unlock-_sched-pa.patch + patches.kernel.org/4.16.3-037-nvme-Skip-checking-heads-without-namespaces.patch + patches.kernel.org/4.16.3-038-lib-fix-stall-in-__bitmap_parselist.patch + patches.kernel.org/4.16.3-039-zboot-fix-stack-protector-in-compressed-boot-p.patch + patches.kernel.org/4.16.3-040-blk-mq-Directly-schedule-q-timeout_work-when-a.patch + patches.kernel.org/4.16.3-041-blk-mq-order-getting-budget-and-driver-tag.patch + patches.kernel.org/4.16.3-042-blk-mq-make-sure-that-correct-hctx-next_cpu-is.patch + patches.kernel.org/4.16.3-043-blk-mq-don-t-keep-offline-CPUs-mapped-to-hctx-.patch + patches.kernel.org/4.16.3-044-ovl-Set-d-last-properly-during-lookup.patch + patches.kernel.org/4.16.3-045-ovl-fix-lookup-with-middle-layer-opaque-dir-an.patch + patches.kernel.org/4.16.3-046-ovl-set-i_ino-to-the-value-of-st_ino-for-NFS-e.patch + patches.kernel.org/4.16.3-047-ovl-set-lower-layer-st_dev-only-if-setting-low.patch + patches.kernel.org/4.16.3-048-xen-xenbus_dev_frontend-Fix-XS_TRANSACTION_END.patch + patches.kernel.org/4.16.3-049-hugetlbfs-fix-bug-in-pgoff-overflow-checking.patch + patches.kernel.org/4.16.3-050-nfsd-fix-incorrect-umasks.patch + patches.kernel.org/4.16.3-051-scsi-scsi_dh-Don-t-look-for-NULL-devices-handl.patch + patches.kernel.org/4.16.3-052-scsi-qla2xxx-Fix-small-memory-leak-in-qla2x00_.patch + patches.kernel.org/4.16.3-053-Revert-scsi-core-return-BLK_STS_OK-for-DID_OK-.patch + patches.kernel.org/4.16.3-054-apparmor-fix-logging-of-the-existence-test-for.patch + patches.kernel.org/4.16.3-055-apparmor-fix-display-of-.ns_name-for-container.patch + patches.kernel.org/4.16.3-056-apparmor-fix-resource-audit-messages-when-audi.patch + patches.kernel.org/4.16.3-057-block-loop-fix-deadlock-after-loop_set_status.patch + patches.kernel.org/4.16.3-058-nfit-fix-region-registration-vs-block-data-win.patch + patches.kernel.org/4.16.3-059-s390-qdio-don-t-retry-EQBS-after-CCQ-96.patch + patches.kernel.org/4.16.3-060-s390-qdio-don-t-merge-ERROR-output-buffers.patch + patches.kernel.org/4.16.3-061-s390-ipl-ensure-loadparm-valid-flag-is-set.patch + patches.kernel.org/4.16.3-062-s390-compat-fix-setup_frame32.patch + patches.kernel.org/4.16.3-063-get_user_pages_fast-return-EFAULT-on-access_ok.patch + patches.kernel.org/4.16.3-064-mm-gup_benchmark-handle-gup-failures.patch + patches.kernel.org/4.16.3-065-getname_kernel-needs-to-make-sure-that-name-in.patch + patches.kernel.org/4.16.3-066-Bluetooth-Fix-connection-if-directed-advertisi.patch + patches.kernel.org/4.16.3-067-Bluetooth-hci_bcm-Treat-Interrupt-ACPI-resourc.patch + patches.kernel.org/4.16.3-068-rtl8187-Fix-NULL-pointer-dereference-in-priv-c.patch + patches.kernel.org/4.16.3-069-Linux-4.16.3.patch ######################################################## # Build fixes that apply to the vanilla kernel too. @@ -86,6 +155,7 @@ ######################################################## patches.rpmify/powerpc-Blacklist-GCC-5.4-6.1-and-6.2.patch patches.rpmify/Add-ksym-provides-tool.patch + patches.rpmify/objtool-perf-Fix-GCC-8-Wrestrict-error.patch ######################################################## # kABI consistency patches @@ -351,11 +421,11 @@ ######################################################## # DRM/Video ######################################################## + patches.suse/Revert-drm-amd-display-disable-CRTCs-with-NULL-FB.patch ######################################################## # video4linux ######################################################## - patches.suse/media-v4l2-core-fix-size-of-devnode_nums-bitarray.patch ######################################################## # Network @@ -380,6 +450,7 @@ ######################################################## # PCI and PCI hotplug ######################################################## + patches.suse/resource-fix-integer-overflow-at-reallocation ######################################################## # sysfs / driver core ++++++ source-timestamp ++++++ --- /var/tmp/diff_new_pack.yGFdqI/_old 2018-04-22 14:38:55.534518011 +0200 +++ /var/tmp/diff_new_pack.yGFdqI/_new 2018-04-22 14:38:55.546517576 +0200 @@ -1,3 +1,3 @@ -2018-04-12 14:54:16 +0200 -GIT Revision: 7b2d22b118d1ce275f762e1458e957a45ff84018 +2018-04-19 22:56:06 +0200 +GIT Revision: 2fd48c572fd197b449f996338b5f5dba6e054711 GIT Branch: stable ++++++ supported.conf ++++++ ++++ 4112 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/kernel-source/supported.conf ++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/supported.conf
