Fw: [Bug 60665] New: `int backlog` is assigned to `unsigned short sk_max_ack_backlog` -> overflow

From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2013-07-31 15:36:19


Begin forwarded message:

Date: Wed, 31 Jul 2013 06:33:07 -0700
From: "bugzilla-daemon@bugzilla.kernel.org" <redacted>
To: "stephen@networkplumber.org" <stephen@networkplumber.org>
Subject: [Bug 60665] New: `int backlog` is assigned to `unsigned short sk_max_ack_backlog` -> overflow


https://bugzilla.kernel.org/show_bug.cgi?id=60665

            Bug ID: 60665
           Summary: `int backlog` is assigned to `unsigned short
                    sk_max_ack_backlog` -> overflow
           Product: Networking
           Version: 2.5
    Kernel Version: 3.11-rc3
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: high
          Priority: P1
         Component: IPV4
          Assignee: shemminger@linux-foundation.org
          Reporter: ojab@ojab.ru
        Regression: No

I'm not sure that my analysis is correct, but:
sk_max_ack_backlog declared as unsigned short @
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/net/sock.h?id=refs/tags/v3.11-rc3#n377
and we're assigning `int backlog` to it @
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/net/ipv4/af_inet.c?id=refs/tags/v3.10.4#n239

So if we'll set sysctls "net.ipv4.tcp_abort_on_overflow=1",
"net.core.somaxconn=65536" (or larger) and backlog > 65536, we'll have real
backlog = `somaxconn mod 65536`.

So AFAIU there shouldn't be possible to set somaxconn > 65535 or this behaviour
should be fixed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help