1. Nov 03, 2018
    • Daniel Borkmann's avatar
      Merge branch 'bpf-accurate-prog-addr' · b0970f23
      Daniel Borkmann authored
      
      
      Song Liu says:
      
      ====================
      Changes v1 -> v2:
      1. Added main program length to bpf_prog_info->jited_fun_lens (3/3).
      2. Updated commit message of 1/3 and 2/3 with more background about the
         address masking, and why it is still save after the changes.
      3. Replace "ulong" with "unsigned long".
      
      This set improves bpf program address showed in /proc/kallsyms and in
      bpf_prog_info. First, real program address is showed instead of page
      address. Second, when there is no subprogram, bpf_prog_info->jited_ksyms
      and bpf_prog_info->jited_fun_lens returns the main prog address and
      length.
      ====================
      
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      b0970f23
    • Song Liu's avatar
      bpf: show main program address and length in bpf_prog_info · ff1889fc
      Song Liu authored
      
      
      Currently, when there is no subprog (prog->aux->func_cnt == 0),
      bpf_prog_info does not return any jited_ksyms or jited_func_lens. This
      patch adds main program address (prog->bpf_func) and main program
      length (prog->jited_len) to bpf_prog_info.
      
      Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      ff1889fc
    • Song Liu's avatar
      bpf: show real jited address in bpf_prog_info->jited_ksyms · de57e99c
      Song Liu authored
      
      
      Currently, jited_ksyms in bpf_prog_info shows page addresses of jited
      bpf program. The main reason here is to not expose randomized start
      address. However, this is not ideal for detailed profiling (find hot
      instructions from stack traces). This patch replaces the page address
      with real prog start address.
      
      This change is OK because bpf_prog_get_info_by_fd() is only available
      to root.
      
      Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      de57e99c
    • Song Liu's avatar
      bpf: show real jited prog address in /proc/kallsyms · df073470
      Song Liu authored
      
      
      Currently, /proc/kallsyms shows page address of jited bpf program. The
      main reason here is to not expose randomized start address. However,
      This is not ideal for detailed profiling (find hot instructions from
      stack traces). This patch replaces the page address with real prog start
      address.
      
      This change is OK because these addresses are still protected by sysctl
      kptr_restrict (see kallsyms_show_value()), and only programs loaded by
      root are added to kallsyms (see bpf_prog_kallsyms_add()).
      
      Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      df073470
  2. Nov 02, 2018
    • Cong Wang's avatar
      net: drop skb on failure in ip_check_defrag() · 7de414a9
      Cong Wang authored
      Most callers of pskb_trim_rcsum() simply drop the skb when
      it fails, however, ip_check_defrag() still continues to pass
      the skb up to stack. This is suspicious.
      
      In ip_check_defrag(), after we learn the skb is an IP fragment,
      passing the skb to callers makes no sense, because callers expect
      fragments are defrag'ed on success. So, dropping the skb when we
      can't defrag it is reasonable.
      
      Note, prior to commit 88078d98, this is not a big problem as
      checksum will be fixed up anyway. After it, the checksum is not
      correct on failure.
      
      Found this during code review.
      
      Fixes: 88078d98
      
       ("net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends")
      Cc: Eric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7de414a9
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 7c6c54b5
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "I2C has a core bugfix & cleanup as well as an ID addition and
        MAINTAINERS update for you"
      
      * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        MAINTAINERS: add maintainer for IMX LPI2C driver
        dt-bindings: i2c: i2c-imx-lpi2c: add imx8qxp compatible string
        i2c: Clear client->irq in i2c_device_remove
        i2c: Remove unnecessary call to irq_find_mapping
      7c6c54b5
    • Linus Torvalds's avatar
      Merge branch 'for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu · 6444ccfd
      Linus Torvalds authored
      Pull percpu fixes from Dennis Zhou:
       "Two small things for v4.20.
      
        The first fixes a clang uninitialized variable warning for arm64 in
        the default path calls BUILD_BUG(). The second removes an unnecessary
        unlikely() in a WARN_ON() use"
      
      * 'for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu:
        arm64: percpu: Initialize ret in the default case
        mm: percpu: remove unnecessary unlikely()
      6444ccfd
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 82aa4671
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) BPF verifier fixes from Daniel Borkmann.
      
       2) HNS driver fixes from Huazhong Tan.
      
       3) FDB only works for ethernet devices, reject attempts to install FDB
          rules for others. From Ido Schimmel.
      
       4) Fix spectre V1 in vhost, from Jason Wang.
      
       5) Don't pass on-stack object to irq_set_affinity_hint() in mvpp2
          driver, from Marc Zyngier.
      
       6) Fix mlx5e checksum handling when RXFCS is enabled, from Eric
          Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (49 commits)
        openvswitch: Fix push/pop ethernet validation
        net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules
        bpf: test make sure to run unpriv test cases in test_verifier
        bpf: add various test cases to test_verifier
        bpf: don't set id on after map lookup with ptr_to_map_val return
        bpf: fix partial copy of map_ptr when dst is scalar
        libbpf: Fix compile error in libbpf_attach_type_by_name
        kselftests/bpf: use ping6 as the default ipv6 ping binary if it exists
        selftests: mlxsw: qos_mc_aware: Add a test for UC awareness
        selftests: mlxsw: qos_mc_aware: Tweak for min shaper
        mlxsw: spectrum: Set minimum shaper on MC TCs
        mlxsw: reg: QEEC: Add minimum shaper fields
        net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset()
        net: hns3: bugfix for rtnl_lock's range in the hclge_reset()
        net: hns3: bugfix for handling mailbox while the command queue reinitialized
        net: hns3: fix incorrect return value/type of some functions
        net: hns3: bugfix for hclge_mdio_write and hclge_mdio_read
        net: hns3: bugfix for is_valid_csq_clean_head()
        net: hns3: remove unnecessary queue reset in the hns3_uninit_all_ring()
        net: hns3: bugfix for the initialization of command queue's spin lock
        ...
      82aa4671
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · ffb845db
      Linus Torvalds authored
      Pull sparc fixes from David Miller:
       "Two small fixes"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Wire up compat getpeername and getsockname.
        sparc64: Remvoe set_fs() from perf_callchain_user().
      ffb845db
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-4.20-fixup-dtb' of https://github.com/c-sky/csky-linux · 5c99a8d1
      Linus Torvalds authored
      Pull csky dtb fixups from Guo Ren:
       "These fix the csky dtb Kbuild to follow the new Devicetree dtb build
        rules"
      
      * tag 'csky-for-linus-4.20-fixup-dtb' of https://github.com/c-sky/csky-linux:
        csky: use common dtb build rules
        csky: remove builtin-dtb Kbuild
      5c99a8d1
  3. Nov 01, 2018