diff --git a/debian/changelog b/debian/changelog index ff62b0941..c48c2ce66 100644 --- a/debian/changelog +++ b/debian/changelog @@ -347,6 +347,8 @@ linux (4.9.5-1) UNRELEASED; urgency=medium support (Closes: #851481) * nbd: use loff_t for blocksize and nbd_set_size args (Closes: #851533) * ath9k: fix NULL pointer dereference (Closes: #851621) + * cfg80211,memcg,power: Avoid ABI changes + * cpuhp,orinoco,xhci: Ignore ABI changes [ Salvatore Bonaccorso ] * tmpfs: clear S_ISGID when setting posix ACLs (CVE-2017-5551) diff --git a/debian/config/defines b/debian/config/defines index 07cab406c..052a71910 100644 --- a/debian/config/defines +++ b/debian/config/defines @@ -1,5 +1,9 @@ [abi] abiname: 1 +ignore-changes: + __cpuhp_* + module:drivers/net/wireless/** + module:drivers/usb/host/** [base] arches: diff --git a/debian/patches/debian/cfg80211-avoid-abi-change-in-4.9.3.patch b/debian/patches/debian/cfg80211-avoid-abi-change-in-4.9.3.patch new file mode 100644 index 000000000..0ee5fbd83 --- /dev/null +++ b/debian/patches/debian/cfg80211-avoid-abi-change-in-4.9.3.patch @@ -0,0 +1,23 @@ +From: Ben Hutchings +Date: Mon, 23 Jan 2017 15:22:56 +0000 +Subject: cfg80211: avoid ABI change in 4.9.3 +Forwarded: not-needed + +enum nl80211_attrs got a new enumerator, which should be safe (it's +meant to be extensible). But two exported functions take it as a +parameter type. Hide the change from genksyms so it doesn't consider +this to change their ABI. + +--- +--- a/include/uapi/linux/nl80211.h ++++ b/include/uapi/linux/nl80211.h +@@ -2339,7 +2339,9 @@ enum nl80211_attrs { + NL80211_ATTR_NAN_FUNC, + NL80211_ATTR_NAN_MATCH, + ++#if !defined(__KERNEL__) || !defined(__GENKSYMS__) + NL80211_ATTR_BSSID, ++#endif + + /* add attributes here, update the policy in nl80211.c */ + diff --git a/debian/patches/debian/memcg-avoid-abi-change-in-4.9.5.patch b/debian/patches/debian/memcg-avoid-abi-change-in-4.9.5.patch new file mode 100644 index 000000000..e234b7fe1 --- /dev/null +++ b/debian/patches/debian/memcg-avoid-abi-change-in-4.9.5.patch @@ -0,0 +1,25 @@ +From: Ben Hutchings +Date: Mon, 23 Jan 2017 04:28:47 +0000 +Subject: memcg: Avoid ABI change in 4.9.5 +Forwarded: not-needed + +struct mem_cgroup_per_node was changed by commit b4536f0c829c +"mm, memcg: fix the active list aging for lowmem requests when +memcg is enabled", backported into 4.9.5. This structure +isn't used by modules, so hide the change. + +--- +--- a/include/linux/memcontrol.h ++++ b/include/linux/memcontrol.h +@@ -120,7 +120,11 @@ struct mem_cgroup_reclaim_iter { + */ + struct mem_cgroup_per_node { + struct lruvec lruvec; ++#ifdef __GENKSYMS__ ++ unsigned long lru_size[NR_LRU_LISTS]; ++#else + unsigned long lru_zone_size[MAX_NR_ZONES][NR_LRU_LISTS]; ++#endif + + struct mem_cgroup_reclaim_iter iter[DEF_PRIORITY + 1]; + diff --git a/debian/patches/debian/power-avoid-abi-change-in-4.9.3.patch b/debian/patches/debian/power-avoid-abi-change-in-4.9.3.patch new file mode 100644 index 000000000..4d1170221 --- /dev/null +++ b/debian/patches/debian/power-avoid-abi-change-in-4.9.3.patch @@ -0,0 +1,28 @@ +From: Ben Hutchings +Date: Mon, 23 Jan 2017 14:34:01 +0000 +Subject: power: Fix ABI change in 4.9.3 +Forwarded: not-needed + +Commit bed570307ed7 "PM / wakeirq: Fix dedicated wakeirq for drivers +not using autosuspend" changed struct wake_irq, but it is only used +by built-in code and its definition is not exposed to OOT modules +at all. Hide the change from genksyms. + +--- + +--- a/drivers/base/power/power.h ++++ b/drivers/base/power/power.h +@@ -28,8 +28,13 @@ extern void pm_runtime_remove(struct dev + + struct wake_irq { + struct device *dev; ++#ifndef __GENKSYMS__ + unsigned int status; ++#endif + int irq; ++#ifdef __GENKSYMS__ ++ bool dedicated_irq:1; ++#endif + }; + + extern void dev_pm_arm_wake_irq(struct wake_irq *wirq); diff --git a/debian/patches/series b/debian/patches/series index 8864fae03..d23c02482 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -109,6 +109,9 @@ bugfix/powerpc/powerpc-fix-missing-crcs-add-yet-more-asm-prototypes.patch bugfix/all/module-disable-matching-missing-version-crc.patch # ABI maintenance +debian/memcg-avoid-abi-change-in-4.9.5.patch +debian/power-avoid-abi-change-in-4.9.3.patch +debian/cfg80211-avoid-abi-change-in-4.9.3.patch # Tools bug fixes bugfix/all/usbip-document-tcp-wrappers.patch