11 Feb, 2016

1 commit

  • In order to support fast reuseport lookups in TCP, the hash function
    defined in struct proto must be capable of returning an error code.
    This patch changes the function signature of all related hash functions
    to return an integer and handles or propagates this return value at
    all call sites.

    Signed-off-by: Craig Gallek
    Signed-off-by: David S. Miller

    Craig Gallek
     

18 Jun, 2012

1 commit


03 May, 2011

1 commit

  • Four years ago, Patrick made a change to hold rtnl mutex during netlink
    dump callbacks.

    I believe it was a wrong move. This slows down concurrent dumps, making
    good old /proc/net/ files faster than rtnetlink in some situations.

    This occurred to me because one "ip link show dev ..." was _very_ slow
    on a workload adding/removing network devices in background.

    All dump callbacks are able to use RCU locking now, so this patch does
    roughly a revert of commits :

    1c2d670f366 : [RTNETLINK]: Hold rtnl_mutex during netlink dump callbacks
    6313c1e0992 : [RTNETLINK]: Remove unnecessary locking in dump callbacks

    This let writers fight for rtnl mutex and readers going full speed.

    It also takes care of phonet : phonet_route_get() is now called from rcu
    read section. I renamed it to phonet_route_get_rcu()

    Signed-off-by: Eric Dumazet
    Cc: Patrick McHardy
    Cc: Remi Denis-Courmont
    Acked-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Eric Dumazet
     

10 Mar, 2011

1 commit


26 Feb, 2011

5 commits


11 Jan, 2011

1 commit

  • Dan Rosenberg pointed out that there were some signed comparison bugs
    in the phonet protocol.

    http://marc.info/?l=full-disclosure&m=129424528425330&w=2

    The problem is that we check for array overflows but "protocol" is
    signed and we don't check for array underflows. If you have already
    have CAP_SYS_ADMIN then you could use the bugs to get root, or someone
    could cause an oops by mistake.

    Signed-off-by: Dan Carpenter
    Acked-by: Rémi Denis-Courmont
    Signed-off-by: David S. Miller

    Dan Carpenter
     

14 Oct, 2010

1 commit

  • Based on suggestion by Rémi Denis-Courmont to implement 'connect'
    for Pipe controller logic, this patch implements 'connect' socket
    call for the Pipe controller logic.
    The patch does following:-
    - Removes setsockopts for PNPIPE_CREATE and PNPIPE_DESTROY
    - Adds setsockopt for setting the Pipe handle value
    - Implements connect socket call
    - Updates the Pipe controller logic

    User-space should now follow below sequence with Pipe controller:-
    -socket
    -bind
    -setsockopt for PNPIPE_PIPE_HANDLE
    -connect
    -setsockopt for PNPIPE_ENCAP_IP
    -setsockopt for PNPIPE_ENABLE

    GPRS/3G data has been tested working fine with this.

    Signed-off-by: Kumar Sanghvi
    Acked-by: Rémi Denis-Courmont
    Signed-off-by: David S. Miller

    Kumar Sanghvi
     

28 Sep, 2010

1 commit

  • Phonet stack assumes the presence of Pipe Controller, either in Modem or
    on Application Processing Engine user-space for the Pipe data.
    Nokia Slim Modems like WG2.5 used in ST-Ericsson U8500 platform do not
    implement Pipe controller in them.
    This patch adds Pipe Controller implemenation to Phonet stack to support
    Pipe data over Phonet stack for Nokia Slim Modems.

    Signed-off-by: Kumar Sanghvi
    Acked-by: Linus Walleij
    Signed-off-by: David S. Miller

    Kumar Sanghvi
     

16 Sep, 2010

3 commits

  • Signed-off-by: Rémi Denis-Courmont
    Signed-off-by: David S. Miller

    Rémi Denis-Courmont
     
  • When both destination device and object are nul, Phonet routes the
    packet according to the resource field. In fact, this is the most
    common pattern when sending Phonet "request" packets. In this case,
    the packet is delivered to whichever endpoint (socket) has
    registered the resource.

    This adds a new table so that Linux processes can register their
    Phonet sockets to Phonet resources, if they have adequate privileges.

    (Namespace support is not implemented at the moment.)

    Signed-off-by: Rémi Denis-Courmont
    Signed-off-by: David S. Miller

    Rémi Denis-Courmont
     
  • Closing a pipe endpoint is not normally allowed by the Phonet pipe,
    other than as a side after-effect of removing the pipe between two
    endpoints. But there is no way to prevent Linux userspace processes
    from being killed or suffering from bugs, so this can still happen.
    We might as well forcefully close Phonet pipe endpoints then.

    The cellular modem supports only a few existing pipes at a time. So we
    really should not leak them. This change instructs the modem to destroy
    the pipe if either of the pipe's endpoint (Linux socket) is closed too
    early.

    Signed-off-by: Rémi Denis-Courmont
    Signed-off-by: David S. Miller

    Rémi Denis-Courmont
     

10 Jun, 2010

1 commit


07 Jan, 2010

2 commits


19 Nov, 2009

1 commit


11 Nov, 2009

1 commit


15 Oct, 2009

3 commits


24 Jul, 2009

1 commit


25 Jun, 2009

1 commit


27 Jan, 2009

3 commits


18 Dec, 2008

1 commit


04 Dec, 2008

1 commit


27 Oct, 2008

1 commit


06 Oct, 2008

4 commits


23 Sep, 2008

5 commits