Fix/ignore ABI changes in 4.9.3-4.9.5 as appropriate

This commit is contained in:
Ben Hutchings 2017-01-23 04:30:40 +00:00
parent 8e8857bdc8
commit ef0901f1ca
6 changed files with 85 additions and 0 deletions

2
debian/changelog vendored
View File

@ -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)

View File

@ -1,5 +1,9 @@
[abi]
abiname: 1
ignore-changes:
__cpuhp_*
module:drivers/net/wireless/**
module:drivers/usb/host/**
[base]
arches:

View File

@ -0,0 +1,23 @@
From: Ben Hutchings <ben@decadent.org.uk>
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 */

View File

@ -0,0 +1,25 @@
From: Ben Hutchings <ben@decadent.org.uk>
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];

View File

@ -0,0 +1,28 @@
From: Ben Hutchings <ben@decadent.org.uk>
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);

View File

@ -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