1. 14 4月, 2017 9 次提交
  2. 12 4月, 2017 15 次提交
  3. 10 4月, 2017 1 次提交
  4. 09 4月, 2017 3 次提交
  5. 08 4月, 2017 2 次提交
  6. 07 4月, 2017 4 次提交
    • F
      net: ipv4: fix multipath RTM_GETROUTE behavior when iif is given · bbadb9a2
      Florian Larysch 提交于
      inet_rtm_getroute synthesizes a skeletal ICMP skb, which is passed to
      ip_route_input when iif is given. If a multipath route is present for
      the designated destination, fib_multipath_hash ends up being called with
      that skb. However, as that skb contains no information beyond the
      protocol type, the calculated hash does not match the one we would see
      for a real packet.
      
      There is currently no way to fix this for layer 4 hashing, as
      RTM_GETROUTE doesn't have the necessary information to create layer 4
      headers. To fix this for layer 3 hashing, set appropriate saddr/daddrs
      in the skb and also change the protocol to UDP to avoid special
      treatment for ICMP.
      Signed-off-by: NFlorian Larysch <fl@n621.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bbadb9a2
    • R
      L2TP:Adjust intf MTU, add underlay L3, L2 hdrs. · b784e7eb
      R. Parameswaran 提交于
      Existing L2TP kernel code does not derive the optimal MTU for Ethernet
      pseudowires and instead leaves this to a userspace L2TP daemon or
      operator. If an MTU is not specified, the existing kernel code chooses
      an MTU that does not take account of all tunnel header overheads, which
      can lead to unwanted IP fragmentation. When L2TP is used without a
      control plane (userspace daemon), we would prefer that the kernel does a
      better job of choosing a default pseudowire MTU, taking account of all
      tunnel header overheads, including IP header options, if any. This patch
      addresses this.
      
      Change-set here uses the new kernel function, kernel_sock_ip_overhead(),
      to factor the outer IP overhead on the L2TP tunnel socket (including
      IP Options, if any) when calculating the default MTU for an Ethernet
      pseudowire, along with consideration of the inner Ethernet header.
      Signed-off-by: NR. Parameswaran <rparames@brocade.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b784e7eb
    • R
      New kernel function to get IP overhead on a socket. · 113c3075
      R. Parameswaran 提交于
      A new function, kernel_sock_ip_overhead(), is provided
      to calculate the cumulative overhead imposed by the IP
      Header and IP options, if any, on a socket's payload.
      The new function returns an overhead of zero for sockets
      that do not belong to the IPv4 or IPv6 address families.
      This is used in the L2TP code path to compute the
      total outer IP overhead on the L2TP tunnel socket when
      calculating the default MTU for Ethernet pseudowires.
      Signed-off-by: NR. Parameswaran <rparames@brocade.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      113c3075
    • K
      af_unix: Use designated initializers · 82fe0d2b
      Kees Cook 提交于
      Prepare to mark sensitive kernel structures for randomization by making
      sure they're using designated initializers. These were identified during
      allyesconfig builds of x86, arm, and arm64, and the initializer fixes
      were extracted from grsecurity. In this case, NULL initialize with { }
      instead of undesignated NULLs.
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      82fe0d2b
  7. 06 4月, 2017 6 次提交
    • D
      rxrpc: Trace client call connection · 89ca6948
      David Howells 提交于
      Add a tracepoint (rxrpc_connect_call) to log the combination of rxrpc_call
      pointer, afs_call pointer/user data and wire call parameters to make it
      easier to match the tracebuffer contents to captured network packets.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      89ca6948
    • D
      rxrpc: Trace changes in a call's receive window size · 740586d2
      David Howells 提交于
      Add a tracepoint (rxrpc_rx_rwind_change) to log changes in a call's receive
      window size as imposed by the peer through an ACK packet.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      740586d2
    • D
      rxrpc: Trace received aborts · 005ede28
      David Howells 提交于
      Add a tracepoint (rxrpc_rx_abort) to record received aborts.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      005ede28
    • D
      rxrpc: Trace protocol errors in received packets · fb46f6ee
      David Howells 提交于
      Add a tracepoint (rxrpc_rx_proto) to record protocol errors in received
      packets.  The following changes are made:
      
       (1) Add a function, __rxrpc_abort_eproto(), to note a protocol error on a
           call and mark the call aborted.  This is wrapped by
           rxrpc_abort_eproto() that makes the why string usable in trace.
      
       (2) Add trace_rxrpc_rx_proto() or rxrpc_abort_eproto() to protocol error
           generation points, replacing rxrpc_abort_call() with the latter.
      
       (3) Only send an abort packet in rxkad_verify_packet*() if we actually
           managed to abort the call.
      
      Note that a trace event is also emitted if a kernel user (e.g. afs) tries
      to send data through a call when it's not in the transmission phase, though
      it's not technically a receive event.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      fb46f6ee
    • D
      rxrpc: Handle temporary errors better in rxkad security · ef68622d
      David Howells 提交于
      In the rxkad security module, when we encounter a temporary error (such as
      ENOMEM) from which we could conceivably recover, don't abort the
      connection, but rather permit retransmission of the relevant packets to
      induce a retry.
      
      Note that I'm leaving some places that could be merged together to insert
      tracing in the next patch.
      
      Signed-off-by; David Howells <dhowells@redhat.com>
      ef68622d
    • D
      rxrpc: Note a successfully aborted kernel operation · 84a4c09c
      David Howells 提交于
      Make rxrpc_kernel_abort_call() return an indication as to whether it
      actually aborted the operation or not so that kafs can trace the failure of
      the operation.  Note that 'success' in this context means changing the
      state of the call, not necessarily successfully transmitting an ABORT
      packet.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      84a4c09c