Fix or ignore ABI changes as appropriate

svn path=/dists/sid/linux/; revision=22784
This commit is contained in:
Ben Hutchings 2015-07-01 03:35:52 +00:00
parent 559b3b0d22
commit 74af9f304e
5 changed files with 92 additions and 0 deletions

2
debian/changelog vendored
View File

@ -115,6 +115,8 @@ linux (4.0.7-1) UNRELEASED; urgency=medium
[ Ben Hutchings ]
* mm: Re-enable ZBUD as module (Closes: #789094)
* mm: Change ZSMALLOC from built-in to module
* Revert "tcp: fix child sockets to use system default congestion control if
not set" to avoid ABI change
-- Ben Hutchings <ben@decadent.org.uk> Sun, 21 Jun 2015 03:30:39 +0100

View File

@ -3,6 +3,9 @@ abiname: 2
ignore-changes:
# Should not be used from OOT
module:arch/x86/kvm/kvm
module:drivers/usb/host/xhci-hcd
# Apparently not used from OOT
bdi_unregister
[base]
arches:

View File

@ -0,0 +1,66 @@
From: Ben Hutchings <ben@decadent.org.uk>
Subject: Revert "tcp: fix child sockets to use system default congestion control if not set"
Forwarded: not-needed
This reverts commit 89a2c6772dbb9f328db729e16374a9361da2420a, which
changes ABI.
---
include/net/inet_connection_sock.h | 3 +--
net/ipv4/tcp_cong.c | 5 +----
net/ipv4/tcp_minisocks.c | 5 +----
3 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h
index 9fe865c..5976bde 100644
--- a/include/net/inet_connection_sock.h
+++ b/include/net/inet_connection_sock.h
@@ -98,8 +98,7 @@ struct inet_connection_sock {
const struct tcp_congestion_ops *icsk_ca_ops;
const struct inet_connection_sock_af_ops *icsk_af_ops;
unsigned int (*icsk_sync_mss)(struct sock *sk, u32 pmtu);
- __u8 icsk_ca_state:6,
- icsk_ca_setsockopt:1,
+ __u8 icsk_ca_state:7,
icsk_ca_dst_locked:1;
__u8 icsk_retransmits;
__u8 icsk_pending;
diff --git a/net/ipv4/tcp_cong.c b/net/ipv4/tcp_cong.c
index 9d2fbd8..62856e1 100644
--- a/net/ipv4/tcp_cong.c
+++ b/net/ipv4/tcp_cong.c
@@ -187,7 +187,6 @@ static void tcp_reinit_congestion_control(struct sock *sk,
tcp_cleanup_congestion_control(sk);
icsk->icsk_ca_ops = ca;
- icsk->icsk_ca_setsockopt = 1;
if (sk->sk_state != TCP_CLOSE && icsk->icsk_ca_ops->init)
icsk->icsk_ca_ops->init(sk);
@@ -336,10 +335,8 @@ int tcp_set_congestion_control(struct sock *sk, const char *name)
rcu_read_lock();
ca = __tcp_ca_find_autoload(name);
/* No change asking for existing value */
- if (ca == icsk->icsk_ca_ops) {
- icsk->icsk_ca_setsockopt = 1;
+ if (ca == icsk->icsk_ca_ops)
goto out;
- }
if (!ca)
err = -ENOENT;
else if (!((ca->flags & TCP_CONG_NON_RESTRICTED) ||
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
index 50277af..1143748 100644
--- a/net/ipv4/tcp_minisocks.c
+++ b/net/ipv4/tcp_minisocks.c
@@ -437,10 +437,7 @@ void tcp_ca_openreq_child(struct sock *sk, const struct dst_entry *dst)
rcu_read_unlock();
}
- /* If no valid choice made yet, assign current system default ca. */
- if (!ca_got_dst &&
- (!icsk->icsk_ca_setsockopt ||
- !try_module_get(icsk->icsk_ca_ops->owner)))
+ if (!ca_got_dst && !try_module_get(icsk->icsk_ca_ops->owner))
tcp_assign_congestion_control(sk);
tcp_set_ca_state(sk, TCP_CA_Open);

View File

@ -0,0 +1,19 @@
From: Ben Hutchings <ben@decadent.org.uk>
Subject: udp: Fix ABI change in 4.0.6
Forwarded: not-needed
Hide the new #include from genksyms.
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -90,7 +90,9 @@
#include <linux/socket.h>
#include <linux/sockios.h>
#include <linux/igmp.h>
+#ifndef __GENKSYMS__
#include <linux/inetdevice.h>
+#endif
#include <linux/in.h>
#include <linux/errno.h>
#include <linux/timer.h>

View File

@ -78,3 +78,5 @@ features/all/e1000e/0004-e1000e-nvm-write-protect-access-removed-from-spt-hw.pat
# Fix ABI changes
debian/revert-libata-ignore-spurious-phy-event-on-lpm-polic.patch
debian/ktime-fix-abi-change-in-4.0.5.patch
debian/revert-tcp-fix-child-sockets-to-use-system-default-c.patch
debian/udp-fix-abi-change-in-4.0.6.patch