netdev
[Top] [All Lists]

Re: [PATCH]: Fix off-by-one in max protocol-type check

To: "David S. Miller" <davem@xxxxxxxxxx>
Subject: Re: [PATCH]: Fix off-by-one in max protocol-type check
From: Patrick McHardy <kaber@xxxxxxxxx>
Date: Mon, 31 May 2004 01:41:05 +0200
Cc: netdev@xxxxxxxxxxx
In-reply-to: <20040529123829.10778ffe.davem@xxxxxxxxxx>
References: <40B71A1C.5080400@xxxxxxxxx> <40B71ABD.5060600@xxxxxxxxx> <20040529123829.10778ffe.davem@xxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040413 Debian/1.6-5
Hi Dave,

David S. Miller wrote:
Patrick McHardy wrote:

This patch fixes an off-by-one in inet_register_protosw and
inet6_register_protosw. inetsw is an array of size SOCK_MAX,
the check allows access to index SOCK_MAX. Patch applies
to 2.4 and 2.6.

Forgot the patch, sorry ;)


Applied.


Judging from 2.4.27-pre4 changelog, you forgot to apply this
patch to 2.4. Patch from 2.6 attached, it applies with some
offset.

Regards
Patrick
ChangeSet 1.1763, 2004/05/29 12:38:17-07:00, kaber@xxxxxxxxx

        [IPV4,6]: Fix off-by-one in max protocol-type check



 ipv4/af_inet.c  |    2 +-
 ipv6/af_inet6.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)


diff -Nru a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
--- a/net/ipv4/af_inet.c        2004-05-29 14:14:46 -07:00
+++ b/net/ipv4/af_inet.c        2004-05-29 14:14:46 -07:00
@@ -978,7 +978,7 @@
 
        spin_lock_bh(&inetsw_lock);
 
-       if (p->type > SOCK_MAX)
+       if (p->type >= SOCK_MAX)
                goto out_illegal;
 
        /* If we are trying to override a permanent protocol, bail. */
diff -Nru a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
--- a/net/ipv6/af_inet6.c       2004-05-29 14:14:46 -07:00
+++ b/net/ipv6/af_inet6.c       2004-05-29 14:14:46 -07:00
@@ -572,7 +572,7 @@
 
        spin_lock_bh(&inetsw6_lock);
 
-       if (p->type > SOCK_MAX)
+       if (p->type >= SOCK_MAX)
                goto out_illegal;
 
        /* If we are trying to override a permanent protocol, bail. */
<Prev in Thread] Current Thread [Next in Thread>