r2010 - in trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches: . series
Simon Horman
horms@haydn.debian.org
Mon, 20 Dec 2004 20:23:33 -0700
Author: horms
Date: 2004-12-20 20:23:04 -0700 (Mon, 20 Dec 2004)
New Revision: 2010
Added:
trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/116-cmsg-validation-checks.div
Removed:
trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/116-cmsg-validation-checks.patch
Modified:
trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-7
Log:
foo
Copied: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/116-cmsg-validation-checks.div (from rev 2009, trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/116-cmsg-validation-checks.patch)
Deleted: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/116-cmsg-validation-checks.patch
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/116-cmsg-validation-checks.patch 2004-12-19 12:43:53 UTC (rev 2009)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/116-cmsg-validation-checks.patch 2004-12-21 03:23:04 UTC (rev 2010)
@@ -1,112 +0,0 @@
-# origin: herbert@gondor.apana.org.au
-# cset: 1.1516.6.2
-# inclusion: backport
-# revision date: 2004-12-14
-# description: Fix CMSG validation checks wrt. signedness.
-
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-# 2004/12/08 13:13:56-08:00 herbert@gondor.apana.org.au
-# [NET]: Fix CMSG validation checks wrt. signedness.
-#
-# Noticed by Georgi Guninski.
-#
-# Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-# Signed-off-by: David S. Miller <davem@davemloft.net>
-#
-# include/linux/socket.h
-# 2004/12/08 13:13:07-08:00 herbert@gondor.apana.org.au +4 -0
-# [NET]: Fix CMSG validation checks wrt. signedness.
-#
-# net/core/scm.c
-# 2004/12/08 13:13:07-08:00 herbert@gondor.apana.org.au +1 -3
-# [NET]: Fix CMSG validation checks wrt. signedness.
-#
-# net/ipv4/ip_sockglue.c
-# 2004/12/08 13:13:07-08:00 herbert@gondor.apana.org.au +1 -4
-# [NET]: Fix CMSG validation checks wrt. signedness.
-#
-# net/ipv6/datagram.c
-# 2004/12/08 13:13:07-08:00 herbert@gondor.apana.org.au +1 -3
-# [NET]: Fix CMSG validation checks wrt. signedness.
-#
-# net/sctp/socket.c
-# 2004/12/08 13:13:08-08:00 herbert@gondor.apana.org.au +1 -5
-# [NET]: Fix CMSG validation checks wrt. signedness.
-#
-diff -Nru a/include/linux/socket.h b/include/linux/socket.h
---- a/include/linux/socket.h 2004-12-15 19:38:09 -08:00
-+++ b/include/linux/socket.h 2004-12-15 19:38:09 -08:00
-@@ -87,6 +87,10 @@
- (struct cmsghdr *)(ctl) : \
- (struct cmsghdr *)NULL)
- #define CMSG_FIRSTHDR(msg) __CMSG_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
-+#define CMSG_OK(mhdr, cmsg) ((cmsg)->cmsg_len >= sizeof(struct cmsghdr) && \
-+ (cmsg)->cmsg_len <= (unsigned long) \
-+ ((mhdr)->msg_controllen - \
-+ ((char *)(cmsg) - (char *)(mhdr)->msg_control)))
-
- /*
- * This mess will go away with glibc
-diff -Nru a/net/core/scm.c b/net/core/scm.c
---- a/net/core/scm.c 2004-12-15 19:38:09 -08:00
-+++ b/net/core/scm.c 2004-12-15 19:38:09 -08:00
-@@ -124,9 +124,7 @@
- for too short ancillary data object at all! Oops.
- OK, let's add it...
- */
-- if (cmsg->cmsg_len < sizeof(struct cmsghdr) ||
-- (unsigned long)(((char*)cmsg - (char*)msg->msg_control)
-- + cmsg->cmsg_len) > msg->msg_controllen)
-+ if (!CMSG_OK(msg, cmsg))
- goto error;
-
- if (cmsg->cmsg_level != SOL_SOCKET)
-diff -Nru a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
---- a/net/ipv4/ip_sockglue.c 2004-12-15 19:38:09 -08:00
-+++ b/net/ipv4/ip_sockglue.c 2004-12-15 19:38:09 -08:00
-@@ -143,11 +143,8 @@
- struct cmsghdr *cmsg;
-
- for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) {
-- if (cmsg->cmsg_len < sizeof(struct cmsghdr) ||
-- (unsigned long)(((char*)cmsg - (char*)msg->msg_control)
-- + cmsg->cmsg_len) > msg->msg_controllen) {
-+ if (!CMSG_OK(msg, cmsg))
- return -EINVAL;
-- }
- if (cmsg->cmsg_level != SOL_IP)
- continue;
- switch (cmsg->cmsg_type) {
-diff -Nru a/net/ipv6/datagram.c b/net/ipv6/datagram.c
---- a/net/ipv6/datagram.c 2004-12-15 19:38:09 -08:00
-+++ b/net/ipv6/datagram.c 2004-12-15 19:38:09 -08:00
-@@ -260,9 +260,7 @@
-
- for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) {
-
-- if (cmsg->cmsg_len < sizeof(struct cmsghdr) ||
-- (unsigned long)(((char*)cmsg - (char*)msg->msg_control)
-- + cmsg->cmsg_len) > msg->msg_controllen) {
-+ if (!CMSG_OK(msg, cmsg)) {
- err = -EINVAL;
- goto exit_f;
- }
-diff -Nru a/net/sctp/socket.c b/net/sctp/socket.c
---- a/net/sctp/socket.c 2004-12-15 19:38:09 -08:00
-+++ b/net/sctp/socket.c 2004-12-15 19:38:09 -08:00
-@@ -4090,12 +4090,8 @@
- for (cmsg = CMSG_FIRSTHDR(msg);
- cmsg != NULL;
- cmsg = CMSG_NXTHDR((struct msghdr*)msg, cmsg)) {
-- /* Check for minimum length. The SCM code has this check. */
-- if (cmsg->cmsg_len < sizeof(struct cmsghdr) ||
-- (unsigned long)(((char*)cmsg - (char*)msg->msg_control)
-- + cmsg->cmsg_len) > msg->msg_controllen) {
-+ if (!CMSG_OK(msg, cmsg))
- return -EINVAL;
-- }
-
- /* Should we parse this header or ignore? */
- if (cmsg->cmsg_level != IPPROTO_SCTP)
Modified: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-7
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-7 2004-12-19 12:43:53 UTC (rev 2009)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-7 2004-12-21 03:23:04 UTC (rev 2010)
@@ -1,6 +1,6 @@
+ 113-unix-serialization.diff
+ 114-binfmt_aout-CAN-2004-1074.diff
+ 115_tty_lockup-3.diff
-+ 116-cmsg-validation-checks.patch
-+ 117-igmp-source-filter-fixes.patch
-+ 118-cmsg-validation-checks-compat.patch
++ 116-cmsg-validation-checks.diff
++ 116-cmsg-validation-checks-compat.diff
++ 117-igmp-source-filter-fixes.diff