1. 29 Nov, 2022 3 commits
    • Jakub Kicinski's avatar
      Merge tag 'wireless-2022-11-28' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless · 02f248ea
      Jakub Kicinski authored
      Kalle Valo says:
      
      ====================
      wireless fixes for v6.1
      
      Third, and hopefully final, set of fixes for v6.1. We are marking the
      rsi driver as orphan, have some Information Element parsing fixes to
      wilc1000 driver and three small fixes to the stack.
      
      * tag 'wireless-2022-11-28' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless:
        wifi: mac8021: fix possible oob access in ieee80211_get_rate_duration
        wifi: cfg80211: don't allow multi-BSSID in S1G
        wifi: cfg80211: fix buffer overflow in elem comparison
        wifi: wilc1000: validate number of channels
        wifi: wilc1000: validate length of IEEE80211_P2P_ATTR_CHANNEL_LIST attribute
        wifi: wilc1000: validate length of IEEE80211_P2P_ATTR_OPER_CHANNEL attribute
        wifi: wilc1000: validate pairwise and authentication suite offsets
        MAINTAINERS: mark rsi wifi driver as orphan
      ====================
      
      Link: https://lore.kernel.org/r/20221128113513.6F459C433C1@smtp.kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      02f248ea
    • Jakub Kicinski's avatar
      Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf · 4f4a5de1
      Jakub Kicinski authored
      Daniel Borkmann says:
      
      ====================
      bpf 2022-11-25
      
      We've added 10 non-merge commits during the last 8 day(s) which contain
      a total of 7 files changed, 48 insertions(+), 30 deletions(-).
      
      The main changes are:
      
      1) Several libbpf ringbuf fixes related to probing for its availability,
         size overflows when mmaping a 2G ringbuf and rejection of invalid
         reservationsizes, from Hou Tao.
      
      2) Fix a buggy return pointer in libbpf for attach_raw_tp function,
         from Jiri Olsa.
      
      3) Fix a local storage BPF map bug where the value's spin lock field
         can get initialized incorrectly, from Xu Kuohai.
      
      4) Two follow-up fixes in kprobe_multi BPF selftests for BPF CI,
         from Jiri Olsa.
      
      * tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf:
        selftests/bpf: Make test_bench_attach serial
        selftests/bpf: Filter out default_idle from kprobe_multi bench
        bpf: Set and check spin lock value in sk_storage_map_test
        bpf: Do not copy spin lock field from user in bpf_selem_alloc
        libbpf: Check the validity of size in user_ring_buffer__reserve()
        libbpf: Handle size overflow for user ringbuf mmap
        libbpf: Handle size overflow for ringbuf mmap
        libbpf: Use page size as max_entries when probing ring buffer map
        bpf, perf: Use subprog name when reporting subprog ksymbol
        libbpf: Use correct return pointer in attach_raw_tp
      ====================
      
      Link: https://lore.kernel.org/r/20221125001034.29473-1-daniel@iogearbox.netSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      4f4a5de1
    • Ido Schimmel's avatar
      ipv4: Fix route deletion when nexthop info is not specified · d5082d38
      Ido Schimmel authored
      When the kernel receives a route deletion request from user space it
      tries to delete a route that matches the route attributes specified in
      the request.
      
      If only prefix information is specified in the request, the kernel
      should delete the first matching FIB alias regardless of its associated
      FIB info. However, an error is currently returned when the FIB info is
      backed by a nexthop object:
      
       # ip nexthop add id 1 via 192.0.2.2 dev dummy10
       # ip route add 198.51.100.0/24 nhid 1
       # ip route del 198.51.100.0/24
       RTNETLINK answers: No such process
      
      Fix by matching on such a FIB info when legacy nexthop attributes are
      not specified in the request. An earlier check already covers the case
      where a nexthop ID is specified in the request.
      
      Add tests that cover these flows. Before the fix:
      
       # ./fib_nexthops.sh -t ipv4_fcnal
       ...
       TEST: Delete route when not specifying nexthop attributes           [FAIL]
      
       Tests passed:  11
       Tests failed:   1
      
      After the fix:
      
       # ./fib_nexthops.sh -t ipv4_fcnal
       ...
       TEST: Delete route when not specifying nexthop attributes           [ OK ]
      
       Tests passed:  12
       Tests failed:   0
      
      No regressions in other tests:
      
       # ./fib_nexthops.sh
       ...
       Tests passed: 228
       Tests failed:   0
      
       # ./fib_tests.sh
       ...
       Tests passed: 186
       Tests failed:   0
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJonas Gorski <jonas.gorski@gmail.com>
      Tested-by: default avatarJonas Gorski <jonas.gorski@gmail.com>
      Fixes: 493ced1a ("ipv4: Allow routes to use nexthop objects")
      Fixes: 6bf92d70 ("net: ipv4: fix route with nexthop object delete warning")
      Fixes: 61b91eb3 ("ipv4: Handle attempt to delete multipath route when fib_info contains an nh reference")
      Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Reviewed-by: default avatarNikolay Aleksandrov <razor@blackwall.org>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://lore.kernel.org/r/20221124210932.2470010-1-idosch@nvidia.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d5082d38
  2. 28 Nov, 2022 12 commits
  3. 27 Nov, 2022 1 commit
    • Yang Yingliang's avatar
      net: phy: fix null-ptr-deref while probe() failed · 369eb2c9
      Yang Yingliang authored
      I got a null-ptr-deref report as following when doing fault injection test:
      
      BUG: kernel NULL pointer dereference, address: 0000000000000058
      Oops: 0000 [#1] PREEMPT SMP KASAN PTI
      CPU: 1 PID: 253 Comm: 507-spi-dm9051 Tainted: G    B            N 6.1.0-rc3+
      Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014
      RIP: 0010:klist_put+0x2d/0xd0
      Call Trace:
       <TASK>
       klist_remove+0xf1/0x1c0
       device_release_driver_internal+0x23e/0x2d0
       bus_remove_device+0x1bd/0x240
       device_del+0x357/0x770
       phy_device_remove+0x11/0x30
       mdiobus_unregister+0xa5/0x140
       release_nodes+0x6a/0xa0
       devres_release_all+0xf8/0x150
       device_unbind_cleanup+0x19/0xd0
      
      //probe path:
      phy_device_register()
        device_add()
      
      phy_connect
        phy_attach_direct() //set device driver
          probe() //it's failed, driver is not bound
          device_bind_driver() // probe failed, it's not called
      
      //remove path:
      phy_device_remove()
        device_del()
          device_release_driver_internal()
            __device_release_driver() //dev->drv is not NULL
              klist_remove() <- knode_driver is not added yet, cause null-ptr-deref
      
      In phy_attach_direct(), after setting the 'dev->driver', probe() fails,
      device_bind_driver() is not called, so the knode_driver->n_klist is not
      set, then it causes null-ptr-deref in __device_release_driver() while
      deleting device. Fix this by setting dev->driver to NULL in the error
      path in phy_attach_direct().
      
      Fixes: e1393456 ("[PATCH] PHY Layer fixup")
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      369eb2c9
  4. 25 Nov, 2022 11 commits
  5. 24 Nov, 2022 13 commits