[linux] 03/04: Fix ABI changes in 3.16.7-ckt17
debian-kernel at lists.debian.org
debian-kernel at lists.debian.org
Tue Sep 22 19:19:41 UTC 2015
This is an automated email from the git hooks/post-receive script.
benh pushed a commit to branch jessie
in repository linux.
commit 97d874e2f440461cd49b2305664f2671d676cb7e
Author: Ben Hutchings <ben at decadent.org.uk>
Date: Tue Sep 22 18:28:24 2015 +0200
Fix ABI changes in 3.16.7-ckt17
---
debian/config/defines | 1 +
.../bh-avoid-abi-change-in-3.16.7-ckt17.patch | 98 ++++++++++++++++++++++
...et-sched-avoid-abi-change-in-3.16.7-ckt17.patch | 39 +++++++++
.../x86-mm-avoid-abi-change-in-3.16.7-ckt17.patch | 28 +++++++
debian/patches/series | 4 +
5 files changed, 170 insertions(+)
diff --git a/debian/config/defines b/debian/config/defines
index 27fc48e..2d6f738 100644
--- a/debian/config/defines
+++ b/debian/config/defines
@@ -11,6 +11,7 @@ ignore-changes:
module:drivers/target/iscsi/iscsi_target_mod
module:drivers/target/target_core_mod
module:drivers/usb/musb/*
+ module:sound/firewire/snd-firewire-lib
module:sound/i2c/other/snd-ak4113
module:sound/i2c/other/snd-ak4114
module:sound/pci/emu10k1/*
diff --git a/debian/patches/debian/bh-avoid-abi-change-in-3.16.7-ckt17.patch b/debian/patches/debian/bh-avoid-abi-change-in-3.16.7-ckt17.patch
new file mode 100644
index 0000000..3a76664
--- /dev/null
+++ b/debian/patches/debian/bh-avoid-abi-change-in-3.16.7-ckt17.patch
@@ -0,0 +1,98 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Mon, 21 Sep 2015 13:38:09 +0200
+Subject: bh: Avoid ABI change in 3.16.7-ckt17
+Forwarded: not-needed
+
+__bread() and __getblk() were changed into inline wrappers for the
+corresponding functions with the _gfp suffix. As they were exported,
+we need to change them back to avoid an ABI break.
+
+---
+--- a/fs/buffer.c
++++ b/fs/buffer.c
+@@ -1381,6 +1381,13 @@ __find_get_block(struct block_device *bd
+ }
+ EXPORT_SYMBOL(__find_get_block);
+
++struct buffer_head *__getblk(struct block_device *bdev, sector_t block,
++ unsigned size)
++{
++ return __getblk_gfp(bdev, block, size, __GFP_MOVABLE);
++}
++EXPORT_SYMBOL(__getblk);
++
+ /*
+ * __getblk_gfp() will locate (and, if necessary, create) the buffer_head
+ * which corresponds to the passed block_device, block and size. The
+@@ -1416,6 +1423,23 @@ void __breadahead(struct block_device *b
+ EXPORT_SYMBOL(__breadahead);
+
+ /**
++ * __bread() - reads a specified block and returns the bh
++ * @bdev: the block_device to read from
++ * @block: number of block
++ * @size: size (in bytes) to read
++ *
++ * Reads a specified block, and returns buffer head that contains it.
++ * The page cache is allocated from movable area so that it can be migrated.
++ * It returns NULL if the block was unreadable.
++ */
++struct buffer_head *
++__bread(struct block_device *bdev, sector_t block, unsigned size)
++{
++ return __bread_gfp(bdev, block, size, __GFP_MOVABLE);
++}
++EXPORT_SYMBOL(__bread);
++
++/**
+ * __bread_gfp() - reads a specified block and returns the bh
+ * @bdev: the block_device to read from
+ * @block: number of block
+--- a/include/linux/buffer_head.h
++++ b/include/linux/buffer_head.h
+@@ -175,11 +175,15 @@ void __wait_on_buffer(struct buffer_head
+ wait_queue_head_t *bh_waitq_head(struct buffer_head *bh);
+ struct buffer_head *__find_get_block(struct block_device *bdev, sector_t block,
+ unsigned size);
++struct buffer_head *__getblk(struct block_device *bdev, sector_t block,
++ unsigned size);
+ struct buffer_head *__getblk_gfp(struct block_device *bdev, sector_t block,
+ unsigned size, gfp_t gfp);
+ void __brelse(struct buffer_head *);
+ void __bforget(struct buffer_head *);
+ void __breadahead(struct block_device *, sector_t block, unsigned int size);
++struct buffer_head *
++__bread(struct block_device *bdev, sector_t block, unsigned size);
+ struct buffer_head *__bread_gfp(struct block_device *,
+ sector_t block, unsigned size, gfp_t gfp);
+ void invalidate_bh_lrus(void);
+@@ -365,29 +369,6 @@ static inline struct buffer_head *getblk
+ return __getblk_gfp(bdev, block, size, 0);
+ }
+
+-static inline struct buffer_head *__getblk(struct block_device *bdev,
+- sector_t block,
+- unsigned size)
+-{
+- return __getblk_gfp(bdev, block, size, __GFP_MOVABLE);
+-}
+-
+-/**
+- * __bread() - reads a specified block and returns the bh
+- * @bdev: the block_device to read from
+- * @block: number of block
+- * @size: size (in bytes) to read
+- *
+- * Reads a specified block, and returns buffer head that contains it.
+- * The page cache is allocated from movable area so that it can be migrated.
+- * It returns NULL if the block was unreadable.
+- */
+-static inline struct buffer_head *
+-__bread(struct block_device *bdev, sector_t block, unsigned size)
+-{
+- return __bread_gfp(bdev, block, size, __GFP_MOVABLE);
+-}
+-
+ extern int __set_page_dirty_buffers(struct page *page);
+
+ #else /* CONFIG_BLOCK */
diff --git a/debian/patches/debian/net-sched-avoid-abi-change-in-3.16.7-ckt17.patch b/debian/patches/debian/net-sched-avoid-abi-change-in-3.16.7-ckt17.patch
new file mode 100644
index 0000000..3214452
--- /dev/null
+++ b/debian/patches/debian/net-sched-avoid-abi-change-in-3.16.7-ckt17.patch
@@ -0,0 +1,39 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Tue, 22 Sep 2015 21:08:03 +0200
+Subject: net/sched: Avoid ABI change in 3.16.7-ckt17
+Forwarded: not-needed
+
+tcf_hash_release() was changed into an inline wrapper for
+__tcf_hash_release(). As it was exported, we need to change it back
+to avoid an ABI break.
+
+--- a/include/net/act_api.h
++++ b/include/net/act_api.h
+@@ -107,11 +107,7 @@ void tcf_hash_cleanup(struct tc_action *
+ void tcf_hash_insert(struct tc_action *a);
+
+ int __tcf_hash_release(struct tc_action *a, bool bind, bool strict);
+-
+-static inline int tcf_hash_release(struct tc_action *a, bool bind)
+-{
+- return __tcf_hash_release(a, bind, false);
+-}
++int tcf_hash_release(struct tc_action *a, int bind);
+
+ int tcf_register_action(struct tc_action_ops *a, unsigned int mask);
+ int tcf_unregister_action(struct tc_action_ops *a);
+--- a/net/sched/act_api.c
++++ b/net/sched/act_api.c
+@@ -45,6 +45,12 @@ void tcf_hash_destroy(struct tc_action *
+ }
+ EXPORT_SYMBOL(tcf_hash_destroy);
+
++int tcf_hash_release(struct tc_action *a, int bind)
++{
++ return __tcf_hash_release(a, bind, false);
++}
++EXPORT_SYMBOL(tcf_hash_release);
++
+ int __tcf_hash_release(struct tc_action *a, bool bind, bool strict)
+ {
+ struct tcf_common *p = a->priv;
diff --git a/debian/patches/debian/x86-mm-avoid-abi-change-in-3.16.7-ckt17.patch b/debian/patches/debian/x86-mm-avoid-abi-change-in-3.16.7-ckt17.patch
new file mode 100644
index 0000000..01937d2
--- /dev/null
+++ b/debian/patches/debian/x86-mm-avoid-abi-change-in-3.16.7-ckt17.patch
@@ -0,0 +1,28 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Tue, 22 Sep 2015 18:19:39 +0200
+Subject: x86/mm: Avoid ABI change in 3.16.7-ckt17
+Forwarded: not-needed
+
+Commit 37868fe113ff "x86/ldt: Make modify_ldt synchronous" was
+backported in 3.16.7-ckt17 and made an incompatible change to
+mm_context_t. Luckily it shrank the structure so we can just insert
+padding to preserve the old layout. No modular code should be
+touching the members which have changed.
+
+---
+--- a/arch/x86/include/asm/mmu.h
++++ b/arch/x86/include/asm/mmu.h
+@@ -9,7 +9,13 @@
+ * we put the segment information here.
+ */
+ typedef struct {
++#ifdef __GENKSYMS__
++ void *ldt;
++ int size;
++#else
+ struct ldt_struct *ldt;
++ int pad;
++#endif
+
+ #ifdef CONFIG_X86_64
+ /* True if mm supports a task running in 32 bit compatibility mode. */
diff --git a/debian/patches/series b/debian/patches/series
index 890c21e..0a440de 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -626,6 +626,10 @@ debian/procfs-avoid-abi-change-in-3.16.7-ckt8.patch
debian/revert-libata-ignore-spurious-phy-event-on-lpm-polic.patch
debian/udp-fix-abi-change-in-3.16.7-ckt14.patch
debian/revert-acpica-utilities-split-io-address-types-from-.patch
+debian/x86-mm-avoid-abi-change-in-3.16.7-ckt17.patch
+debian/bh-avoid-abi-change-in-3.16.7-ckt17.patch
+debian/net-sched-avoid-abi-change-in-3.16.7-ckt17.patch
+
bugfix/all/ipv6-addrconf-validate-new-MTU-before-applying-it.patch
bugfix/all/virtio-net-drop-netif_f_fraglist.patch
bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.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