summaryrefslogtreecommitdiff
path: root/debian/patches/debian
diff options
context:
space:
mode:
authorBen Hutchings <benh@debian.org>2014-03-19 16:12:02 +0000
committerBen Hutchings <benh@debian.org>2014-03-19 16:12:02 +0000
commitbf709b63f460bf4bf26138dc75a0f33e58a2a522 (patch)
treee1b4b48e2d3fe97baac4d4d45c0427fe13daf5a1 /debian/patches/debian
parent5ede7acbf1338247921dbe37d6be09c593595c51 (diff)
Fix ABI changes in 3.13.6
svn path=/dists/sid/linux/; revision=21170
Diffstat (limited to 'debian/patches/debian')
-rw-r--r--debian/patches/debian/can-avoid-abi-change-in-3.13.6.patch22
-rw-r--r--debian/patches/debian/fs-avoid-abi-change-in-3.13.6.patch76
-rw-r--r--debian/patches/debian/netdev-avoid-abi-change-in-3.13.6.patch42
3 files changed, 140 insertions, 0 deletions
diff --git a/debian/patches/debian/can-avoid-abi-change-in-3.13.6.patch b/debian/patches/debian/can-avoid-abi-change-in-3.13.6.patch
new file mode 100644
index 000000000..2b572e493
--- /dev/null
+++ b/debian/patches/debian/can-avoid-abi-change-in-3.13.6.patch
@@ -0,0 +1,22 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Wed, 19 Mar 2014 16:08:27 +0000
+Subject: can: Avoid ABI change in 3.13.6
+Forwarded: not-needed
+
+Hide the new #include's from genksyms.
+
+--- a/include/linux/can/skb.h
++++ b/include/linux/can/skb.h
+@@ -11,9 +11,11 @@
+ #define CAN_SKB_H
+
+ #include <linux/types.h>
+-#include <linux/skbuff.h>
+ #include <linux/can.h>
++#ifndef __GENKSYMS__
++#include <linux/skbuff.h>
+ #include <net/sock.h>
++#endif
+
+ /*
+ * The struct can_skb_priv is used to transport additional information along
diff --git a/debian/patches/debian/fs-avoid-abi-change-in-3.13.6.patch b/debian/patches/debian/fs-avoid-abi-change-in-3.13.6.patch
new file mode 100644
index 000000000..28647ab0e
--- /dev/null
+++ b/debian/patches/debian/fs-avoid-abi-change-in-3.13.6.patch
@@ -0,0 +1,76 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Mon, 17 Mar 2014 23:51:09 +0000
+Subject: fs: Avoid ABI change in 3.13.6
+Forwarded: not-needed
+
+The second parameter to sync_inodes_sb() was removed. Add it back
+but ignore the value.
+
+diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
+index d754e3c..d9c0c0c 100644
+--- a/fs/fs-writeback.c
++++ b/fs/fs-writeback.c
+@@ -1349,12 +1349,13 @@ EXPORT_SYMBOL(try_to_writeback_inodes_sb);
+
+ /**
+ * sync_inodes_sb - sync sb inode pages
+- * @sb: the superblock
++ * @sb: the superblock
++ * @older_than_this: dummy parameter for binary compatibility
+ *
+ * This function writes and waits on any dirty inode belonging to this
+ * super_block.
+ */
+-void sync_inodes_sb(struct super_block *sb)
++void sync_inodes_sb(struct super_block *sb, unsigned long older_than_this)
+ {
+ DECLARE_COMPLETION_ONSTACK(done);
+ struct wb_writeback_work work = {
+diff --git a/fs/sync.c b/fs/sync.c
+index 6c0ca3b..5eb0185 100644
+--- a/fs/sync.c
++++ b/fs/sync.c
+@@ -30,7 +30,7 @@
+ static int __sync_filesystem(struct super_block *sb, int wait)
+ {
+ if (wait)
+- sync_inodes_sb(sb);
++ sync_inodes_sb(sb, 0);
+ else
+ writeback_inodes_sb(sb, WB_REASON_SYNC);
+
+@@ -70,7 +70,7 @@ EXPORT_SYMBOL_GPL(sync_filesystem);
+ static void sync_inodes_one_sb(struct super_block *sb, void *arg)
+ {
+ if (!(sb->s_flags & MS_RDONLY))
+- sync_inodes_sb(sb);
++ sync_inodes_sb(sb, 0);
+ }
+
+ static void sync_fs_one_sb(struct super_block *sb, void *arg)
+diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
+index d971f49..f317488 100644
+--- a/fs/xfs/xfs_super.c
++++ b/fs/xfs/xfs_super.c
+@@ -913,7 +913,7 @@ xfs_flush_inodes(
+ struct super_block *sb = mp->m_super;
+
+ if (down_read_trylock(&sb->s_umount)) {
+- sync_inodes_sb(sb);
++ sync_inodes_sb(sb, jiffies);
+ up_read(&sb->s_umount);
+ }
+ }
+diff --git a/include/linux/writeback.h b/include/linux/writeback.h
+index 021b8a3..fc0e432 100644
+--- a/include/linux/writeback.h
++++ b/include/linux/writeback.h
+@@ -97,7 +97,7 @@ void writeback_inodes_sb_nr(struct super_block *, unsigned long nr,
+ int try_to_writeback_inodes_sb(struct super_block *, enum wb_reason reason);
+ int try_to_writeback_inodes_sb_nr(struct super_block *, unsigned long nr,
+ enum wb_reason reason);
+-void sync_inodes_sb(struct super_block *);
++void sync_inodes_sb(struct super_block *sb, unsigned long older_than_this);
+ void wakeup_flusher_threads(long nr_pages, enum wb_reason reason);
+ void inode_wait_for_writeback(struct inode *inode);
+
diff --git a/debian/patches/debian/netdev-avoid-abi-change-in-3.13.6.patch b/debian/patches/debian/netdev-avoid-abi-change-in-3.13.6.patch
new file mode 100644
index 000000000..cb153b29c
--- /dev/null
+++ b/debian/patches/debian/netdev-avoid-abi-change-in-3.13.6.patch
@@ -0,0 +1,42 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Mon, 17 Mar 2014 23:57:40 +0000
+Subject: netdev: Avoid ABI change in 3.13.6
+Forwarded: not-needed
+
+netif_skb_features() was turned from an extern and exported function
+into an inline wrapper for netif_skb_dev_features().
+
+- Turn it back into an extern, exported function
+- Add the inline definition with '_inline' suffix
+- Define a function-macro so the inline function will be used by
+ newly compiled code
+
+--- a/include/linux/netdevice.h
++++ b/include/linux/netdevice.h
+@@ -2986,10 +2986,12 @@ void netif_stacked_transfer_operstate(co
+
+ netdev_features_t netif_skb_dev_features(struct sk_buff *skb,
+ const struct net_device *dev);
+-static inline netdev_features_t netif_skb_features(struct sk_buff *skb)
++netdev_features_t netif_skb_features(struct sk_buff *skb);
++static inline netdev_features_t netif_skb_features_inline(struct sk_buff *skb)
+ {
+ return netif_skb_dev_features(skb, skb->dev);
+ }
++#define netif_skb_features(skb) netif_skb_features_inline(skb)
+
+ static inline bool net_gso_ok(netdev_features_t features, int gso_type)
+ {
+--- a/net/core/dev.c
++++ b/net/core/dev.c
+@@ -6977,3 +6977,10 @@ out:
+ }
+
+ subsys_initcall(net_dev_init);
++
++#undef netif_skb_features
++netdev_features_t netif_skb_features(struct sk_buff *skb)
++{
++ return netif_skb_dev_features(skb, skb->dev);
++}
++EXPORT_SYMBOL(netif_skb_features);