1. 20 Jun, 2012 5 commits
    • Sven Eckelmann's avatar
      batman-adv: Prefix bat_sysfs non-static functions with batadv_ · 5853e22c
      Sven Eckelmann authored
      batman-adv can be compiled as part of the kernel instead of an module. In that
      case the linker will see all non-static symbols of batman-adv and all other
      non-static symbols of the kernel. This could lead to symbol collisions. A
      prefix for the batman-adv symbols that defines their private namespace avoids
      such a problem.
      Reported-by: default avatarDavid Miller <davem@davemloft.net>
      Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
      5853e22c
    • Sven Eckelmann's avatar
      batman-adv: Prefix bat_debugfs non-static functions with batadv_ · 40a072d7
      Sven Eckelmann authored
      batman-adv can be compiled as part of the kernel instead of an module. In that
      case the linker will see all non-static symbols of batman-adv and all other
      non-static symbols of the kernel. This could lead to symbol collisions. A
      prefix for the batman-adv symbols that defines their private namespace avoids
      such a problem.
      Reported-by: default avatarDavid Miller <davem@davemloft.net>
      Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
      40a072d7
    • Sven Eckelmann's avatar
      batman-adv: Prefix bat_algo non-static functions with batadv_ · 81c524f7
      Sven Eckelmann authored
      batman-adv can be compiled as part of the kernel instead of an module. In that
      case the linker will see all non-static symbols of batman-adv and all other
      non-static symbols of the kernel. This could lead to symbol collisions. A
      prefix for the batman-adv symbols that defines their private namespace avoids
      such a problem.
      Reported-by: default avatarDavid Miller <davem@davemloft.net>
      Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
      81c524f7
    • David S. Miller's avatar
      ipv4: Early TCP socket demux. · 41063e9d
      David S. Miller authored
      Input packet processing for local sockets involves two major demuxes.
      One for the route and one for the socket.
      
      But we can optimize this down to one demux for certain kinds of local
      sockets.
      
      Currently we only do this for established TCP sockets, but it could
      at least in theory be expanded to other kinds of connections.
      
      If a TCP socket is established then it's identity is fully specified.
      
      This means that whatever input route was used during the three-way
      handshake must work equally well for the rest of the connection since
      the keys will not change.
      
      Once we move to established state, we cache the receive packet's input
      route to use later.
      
      Like the existing cached route in sk->sk_dst_cache used for output
      packets, we have to check for route invalidations using dst->obsolete
      and dst->ops->check().
      
      Early demux occurs outside of a socket locked section, so when a route
      invalidation occurs we defer the fixup of sk->sk_rx_dst until we are
      actually inside of established state packet processing and thus have
      the socket locked.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      41063e9d
    • David S. Miller's avatar
      inet: Sanitize inet{,6} protocol demux. · f9242b6b
      David S. Miller authored
      Don't pretend that inet_protos[] and inet6_protos[] are hashes, thay
      are just a straight arrays.  Remove all unnecessary hash masking.
      
      Document MAX_INET_PROTOS.
      
      Use RAW_HTABLE_SIZE when appropriate.
      Reported-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f9242b6b
  2. 19 Jun, 2012 35 commits