Home Home > GIT Browse > SLE12-SP5-AZURE
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Walle <bwalle@suse.de>2007-10-05 21:32:21 +0000
committerBernhard Walle <bwalle@suse.de>2007-10-05 21:32:21 +0000
commit81fcbb71f724b3fa2ff6a8d5eae7199afd85219e (patch)
treeb467a641c3807fb11843ecd6acb851502adf7cd9
parent46cf6db64166017561114c9232b702f0d597a35c (diff)
- patches.suse/kabi-safe-2.6.22.6-tcp_sendmsg:rpm-2.6.22.9-0.4
Add trampoline function also for IPv6 and fix kernel hang (331456)
-rw-r--r--kernel-source.changes7
-rw-r--r--patches.suse/kabi-safe-2.6.22.6-tcp_sendmsg52
2 files changed, 48 insertions, 11 deletions
diff --git a/kernel-source.changes b/kernel-source.changes
index 48d5d2fd9e..6e24bc171c 100644
--- a/kernel-source.changes
+++ b/kernel-source.changes
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Fri Oct 5 23:29:22 CEST 2007 - bwalle@suse.de
+
+- patches.suse/kabi-safe-2.6.22.6-tcp_sendmsg:
+ Add trampoline function also for IPv6 and fix kernel hang
+ (331456)
+
+-------------------------------------------------------------------
Fri Oct 5 01:51:15 CEST 2007 - teheo@suse.de
- patches.drivers/libata-disable-NCQ-for-ST9160821AS-3.ALD:
diff --git a/patches.suse/kabi-safe-2.6.22.6-tcp_sendmsg b/patches.suse/kabi-safe-2.6.22.6-tcp_sendmsg
index ac6e410044..2f4fe36c73 100644
--- a/patches.suse/kabi-safe-2.6.22.6-tcp_sendmsg
+++ b/patches.suse/kabi-safe-2.6.22.6-tcp_sendmsg
@@ -3,17 +3,22 @@ Subject: [PATCH] kABI: rework tcp_sendmsg fix from 2.6.22.6
References: None, proactive fix.
Patch-mainline: Never
- This patch adds a trampoline so we don't change the prototype of tcp_sendmsg.
+This patch adds a trampoline so we don't change the prototype of tcp_sendmsg.
+
+Modification from bwalle@suse.de:
+Do the same for IPv6.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
+
---
- include/net/tcp.h | 2 +-
- net/ipv4/af_inet.c | 8 +++++++-
- net/ipv4/tcp.c | 3 +--
- 3 files changed, 9 insertions(+), 4 deletions(-)
+ include/net/tcp.h | 2 +-
+ net/ipv4/af_inet.c | 8 +++++++-
+ net/ipv4/tcp.c | 3 +--
+ net/ipv6/af_inet6.c | 9 ++++++++-
+ 4 files changed, 17 insertions(+), 5 deletions(-)
---- a/include/net/tcp.h 2007-10-01 15:36:23.000000000 -0400
-+++ b/include/net/tcp.h 2007-10-01 15:38:03.000000000 -0400
+--- a/include/net/tcp.h
++++ b/include/net/tcp.h
@@ -281,7 +281,7 @@ extern int tcp_v4_remember_stamp(struc
extern int tcp_v4_tw_remember_stamp(struct inet_timewait_sock *tw);
@@ -23,8 +28,8 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
struct msghdr *msg, size_t size);
extern ssize_t tcp_sendpage(struct socket *sock, struct page *page, int offset, size_t size, int flags);
---- a/net/ipv4/af_inet.c 2007-10-01 15:36:23.000000000 -0400
-+++ b/net/ipv4/af_inet.c 2007-10-01 15:41:13.000000000 -0400
+--- a/net/ipv4/af_inet.c
++++ b/net/ipv4/af_inet.c
@@ -692,6 +692,12 @@ int inet_sendmsg(struct kiocb *iocb, str
return sk->sk_prot->sendmsg(iocb, sk, msg, size);
}
@@ -47,8 +52,8 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
.recvmsg = sock_common_recvmsg,
.mmap = sock_no_mmap,
.sendpage = tcp_sendpage,
---- a/net/ipv4/tcp.c 2007-10-01 15:36:23.000000000 -0400
-+++ b/net/ipv4/tcp.c 2007-10-01 15:38:17.000000000 -0400
+--- a/net/ipv4/tcp.c
++++ b/net/ipv4/tcp.c
@@ -658,10 +658,9 @@ static inline int select_size(struct soc
return tmp;
}
@@ -61,3 +66,28 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
struct iovec *iov;
struct tcp_sock *tp = tcp_sk(sk);
struct sk_buff *skb;
+--- a/net/ipv6/af_inet6.c
++++ b/net/ipv6/af_inet6.c
+@@ -472,6 +472,13 @@ int inet6_ioctl(struct socket *sock, uns
+
+ EXPORT_SYMBOL(inet6_ioctl);
+
++/* KABI safe workaround for 2.6.22.6 tcp_sendmsg change -bwalle, copied from ipv4 */
++static int inet_tcp_sendmsg(struct kiocb *iocb, struct socket *sock,
++ struct msghdr *msg, size_t size)
++{
++ return tcp_sendmsg(iocb, sock->sk, msg, size);
++}
++
+ const struct proto_ops inet6_stream_ops = {
+ .family = PF_INET6,
+ .owner = THIS_MODULE,
+@@ -487,7 +494,7 @@ const struct proto_ops inet6_stream_ops
+ .shutdown = inet_shutdown, /* ok */
+ .setsockopt = sock_common_setsockopt, /* ok */
+ .getsockopt = sock_common_getsockopt, /* ok */
+- .sendmsg = tcp_sendmsg, /* ok */
++ .sendmsg = inet_tcp_sendmsg, /* ok */
+ .recvmsg = sock_common_recvmsg, /* ok */
+ .mmap = sock_no_mmap,
+ .sendpage = tcp_sendpage,