[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