1. 14 Apr, 2016 8 commits
  2. 13 Apr, 2016 20 commits
  3. 12 Apr, 2016 6 commits
  4. 11 Apr, 2016 6 commits
    • David S. Miller's avatar
      Merge branch 'rprpc-2nd-rewrite-part-1' · 7c3da7d0
      David S. Miller authored
      David Howells says:
      
      ====================
      RxRPC: 2nd rewrite part 1
      
      Okay, I'm in the process of rewriting the RxRPC rewrite.  The primary aim of
      this second rewrite is to strictly control the number of active connections we
      know about and to get rid of connections we don't need much more quickly.
      
      On top of this, there are fixes to the protocol handling which will all occur
      in later parts.
      
      Here's the first set of patches from the second go, aimed at net-next.  These
      are all fixes and cleanups preparatory to the main event.
      
      Notable parts of this set include:
      
       (1) A fix for the AFS filesystem to wait for outstanding calls to complete
           before closing the RxRPC socket.
      
       (2) Differentiation of local and remote abort codes.  At a future point
           userspace will get to see this via control message data on recvmsg().
      
       (3) Absorb the rxkad module into the af_rxrpc module to prevent a dependency
           loop.
      
       (4) Create a null security module and unconditionalise calls into the
           security module that's in force (there will always be a security module
           applied to a connection, even if it's just the null one).
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7c3da7d0
    • David Howells's avatar
      rxrpc: Create a null security type and get rid of conditional calls · e0e4d82f
      David Howells authored
      Create a null security type for security index 0 and get rid of all
      conditional calls to the security operations.  We expect normally to be
      using security, so this should be of little negative impact.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e0e4d82f
    • David Howells's avatar
      rxrpc: Absorb the rxkad security module · 648af7fc
      David Howells authored
      Absorb the rxkad security module into the af_rxrpc module so that there's
      only one module file.  This avoids a circular dependency whereby rxkad pins
      af_rxrpc and cached connections pin rxkad but can't be manually evicted
      (they will expire eventually and cease pinning).
      
      With this change, af_rxrpc can just be unloaded, despite having cached
      connections.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      648af7fc
    • David Howells's avatar
      rxrpc: Don't assume transport address family and size when using it · 6dd050f8
      David Howells authored
      Don't assume transport address family and size when using the peer address
      to send a packet.  Instead, use the start of the transport address rather
      than any particular element of the union and use the transport address
      length noted inside the sockaddr_rxrpc struct.
      
      This will be necessary when IPv6 support is introduced.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6dd050f8
    • David Howells's avatar
      rxrpc: Don't pass gfp around in incoming call handling functions · 843099ca
      David Howells authored
      Don't pass gfp around in incoming call handling functions, but rather hard
      code it at the points where we actually need it since the value comes from
      within the rxrpc driver and is always the same.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      843099ca
    • David Howells's avatar
      rxrpc: Differentiate local and remote abort codes in structs · dc44b3a0
      David Howells authored
      In the rxrpc_connection and rxrpc_call structs, there's one field to hold
      the abort code, no matter whether that value was generated locally to be
      sent or was received from the peer via an abort packet.
      
      Split the abort code fields in two for cleanliness sake and add an error
      field to hold the Linux error number to the rxrpc_call struct too
      (sometimes this is generated in a context where we can't return it to
      userspace directly).
      
      Furthermore, add a skb mark to indicate a packet that caused a local abort
      to be generated so that recvmsg() can pick up the correct abort code.  A
      future addition will need to be to indicate to userspace the difference
      between aborts via a control message.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dc44b3a0