[linux] 01/08: Fix ABI changes in 4.4.5

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Tue Mar 15 02:04:02 UTC 2016


This is an automated email from the git hooks/post-receive script.

benh pushed a commit to branch sid
in repository linux.

commit 20994ffba490a88ede3e16e841961ab79d1501e4
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Mon Mar 14 23:33:23 2016 +0000

    Fix ABI changes in 4.4.5
---
 debian/changelog                                   |  3 +-
 .../debian/module-fix-abi-change-in-4.4.5.patch    | 40 ++++++++++++++++++++++
 ...bata-align-ata_device-s-id-on-a-cacheline.patch | 24 +++++++++++++
 debian/patches/series                              |  2 ++
 4 files changed, 68 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index 32d2036..ebb6063 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -30,7 +30,6 @@ linux (4.4.5-1) UNRELEASED; urgency=medium
     - [x86] drm/amdgpu/gfx8: specify which engine to wait before vm flush
     - [x86] drm/amdgpu: return from atombios_dp_get_dpcd only when error
     - libata: fix HDIO_GET_32BIT ioctl
-    - libata: Align ata_device's id on a cacheline
     - writeback: flush inode cgroup wb switches instead of pinning super_block
     - Adding Intel Lewisburg device IDs for SATA
     - [arm64] vmemmap: use virtual projection of linear region
@@ -72,6 +71,8 @@ linux (4.4.5-1) UNRELEASED; urgency=medium
 
   [ Ben Hutchings ]
   * [x86] drm/i915: Fix oops caused by fbdev initialization failure
+  * module: Fix ABI change in 4.4.5
+  * Revert "libata: Align ata_device's id on a cacheline" to avoid ABI change
 
   [ Ian Campbell ]
   * [arm64] Enable ARCH_HISI (Hisilicon) and the set of currently available
diff --git a/debian/patches/debian/module-fix-abi-change-in-4.4.5.patch b/debian/patches/debian/module-fix-abi-change-in-4.4.5.patch
new file mode 100644
index 0000000..57711a2
--- /dev/null
+++ b/debian/patches/debian/module-fix-abi-change-in-4.4.5.patch
@@ -0,0 +1,40 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Mon, 14 Mar 2016 23:20:37 +0000
+Subject: module: Fix ABI change in 4.4.5
+Forwarded: not-needed
+
+Move the new kallsyms fields in struct module to the end and hide
+them from genksyms.  Restore the old fields but leave them zeroed -
+nothing outside the module loader and /proc/kallsyms implementation
+should be, or appears to be, using them.
+
+---
+--- a/include/linux/module.h
++++ b/include/linux/module.h
+@@ -417,9 +417,10 @@ struct module {
+ #endif
+ 
+ #ifdef CONFIG_KALLSYMS
+-	/* Protected by RCU and/or module_mutex: use rcu_dereference() */
+-	struct mod_kallsyms *kallsyms;
+-	struct mod_kallsyms core_kallsyms;
++	/* bwh: Old kallsyms state; now just padding for ABI compat */
++	Elf_Sym *symtab, *core_symtab;
++	unsigned int num_symtab, core_num_syms;
++	char *strtab, *core_strtab;
+ 
+ 	/* Section attributes */
+ 	struct module_sect_attrs *sect_attrs;
+@@ -482,6 +483,12 @@ struct module {
+ 	ctor_fn_t *ctors;
+ 	unsigned int num_ctors;
+ #endif
++
++#if defined(CONFIG_KALLSYMS) && !defined(__GENKSYMS__)
++	/* Protected by RCU and/or module_mutex: use rcu_dereference() */
++	struct mod_kallsyms *kallsyms;
++	struct mod_kallsyms core_kallsyms;
++#endif
+ } ____cacheline_aligned;
+ #ifndef MODULE_ARCH_INIT
+ #define MODULE_ARCH_INIT {}
diff --git a/debian/patches/debian/revert-libata-align-ata_device-s-id-on-a-cacheline.patch b/debian/patches/debian/revert-libata-align-ata_device-s-id-on-a-cacheline.patch
new file mode 100644
index 0000000..bb4f840
--- /dev/null
+++ b/debian/patches/debian/revert-libata-align-ata_device-s-id-on-a-cacheline.patch
@@ -0,0 +1,24 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Mon, 14 Mar 2016 17:47:16 +0000
+Subject: Revert "libata: Align ata_device's id on a cacheline"
+Forwarded: not-needed
+
+This reverts commit cea2cbff57c5b65375adb6fe65612c10a7301327, which
+was commit 4ee34ea3a12396f35b26d90a094c75db95080baa upstream.  It's a
+real fix but we've lived with the problem for many years and it
+doesn't seem worth breaking ABI to fix it right now.
+---
+ include/linux/libata.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/include/linux/libata.h
++++ b/include/linux/libata.h
+@@ -718,7 +718,7 @@ struct ata_device {
+ 	union {
+ 		u16		id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */
+ 		u32		gscr[SATA_PMP_GSCR_DWORDS]; /* PMP GSCR block */
+-	} ____cacheline_aligned;
++	};
+ 
+ 	/* DEVSLP Timing Variables from Identify Device Data Log */
+ 	u8			devslp_timing[ATA_LOG_DEVSLP_SIZE];
diff --git a/debian/patches/series b/debian/patches/series
index 5c5814e..51d5816 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -135,3 +135,5 @@ debian/ipv6-fix-abi-change-in-4.4.4.patch
 bugfix/all/revert-drm-radeon-call-hpd_irq_event-on-resume.patch
 bugfix/powerpc/powerpc-fix-dedotify-for-binutils-2.26.patch
 bugfix/x86/drm-i915-Fix-oops-caused-by-fbdev-initialization-fai.patch
+debian/revert-libata-align-ata_device-s-id-on-a-cacheline.patch
+debian/module-fix-abi-change-in-4.4.5.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list