1. 09 Jul, 2019 3 commits
    • Al Viro's avatar
      coallocate socket_wq with socket itself · 333f7909
      Al Viro authored
      socket->wq is assign-once, set when we are initializing both
      struct socket it's in and struct socket_wq it points to.  As the
      matter of fact, the only reason for separate allocation was the
      ability to RCU-delay freeing of socket_wq.  RCU-delaying the
      freeing of socket itself gets rid of that need, so we can just
      fold struct socket_wq into the end of struct socket and simplify
      the life both for sock_alloc_inode() (one allocation instead of
      two) and for tun/tap oddballs, where we used to embed struct socket
      and struct socket_wq into the same structure (now - embedding just
      the struct socket).
      
      Note that reference to struct socket_wq in struct sock does remain
      a reference - that's unchanged.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      333f7909
    • Al Viro's avatar
      sockfs: switch to ->free_inode() · 6d7855c5
      Al Viro authored
      we do have an RCU-delayed part there already (freeing the wq),
      so it's not like the pipe situation; moreover, it might be
      worth considering coallocating wq with the rest of struct sock_alloc.
      ->sk_wq in struct sock would remain a pointer as it is, but
      the object it normally points to would be coallocated with
      struct socket...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6d7855c5
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · 17ccf9e3
      David S. Miller authored
      Daniel Borkmann says:
      
      ====================
      pull-request: bpf-next 2019-07-09
      
      The following pull-request contains BPF updates for your *net-next* tree.
      
      The main changes are:
      
      1) Lots of libbpf improvements: i) addition of new APIs to attach BPF
         programs to tracing entities such as {k,u}probes or tracepoints,
         ii) improve specification of BTF-defined maps by eliminating the
         need for data initialization for some of the members, iii) addition
         of a high-level API for setting up and polling perf buffers for
         BPF event output helpers, all from Andrii.
      
      2) Add "prog run" subcommand to bpftool in order to test-run programs
         through the kernel testing infrastructure of BPF, from Quentin.
      
      3) Improve verifier for BPF sockaddr programs to support 8-byte stores
         for user_ip6 and msg_src_ip6 members given clang tends to generate
         such stores, from Stanislav.
      
      4) Enable the new BPF JIT zero-extension optimization for further
         riscv64 ALU ops, from Luke.
      
      5) Fix a bpftool json JIT dump crash on powerpc, from Jiri.
      
      6) Fix an AF_XDP race in generic XDP's receive path, from Ilya.
      
      7) Various smaller fixes from Ilya, Yue and Arnd.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      17ccf9e3
  2. 08 Jul, 2019 37 commits