1. 25 Jul, 2022 21 commits
  2. 23 Jul, 2022 15 commits
    • Jakub Kicinski's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue · 502c6f8c
      Jakub Kicinski authored
      Tony Nguyen says:
      
      ====================
      100GbE Intel Wired LAN Driver Updates 2022-07-21
      
      This series contains updates to ice driver only.
      
      Karol adds implementation for GNSS write; data is written to the GNSS
      module through TTY device using u-blox UBX protocol.
      
      * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue:
        ice: add write functionality for GNSS TTY
        ice: add i2c write command
      ====================
      
      Link: https://lore.kernel.org/r/20220721202842.3276257-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      502c6f8c
    • Matthias May's avatar
      ip_tunnels: allow VXLAN/GENEVE to inherit TOS/TTL from VLAN · 7074732c
      Matthias May authored
      The current code allows for VXLAN and GENEVE to inherit the TOS
      respective the TTL when skb-protocol is ETH_P_IP or ETH_P_IPV6.
      However when the payload is VLAN encapsulated, then this inheriting
      does not work, because the visible skb-protocol is of type
      ETH_P_8021Q or ETH_P_8021AD.
      
      Instead of skb->protocol use skb_protocol().
      Signed-off-by: default avatarMatthias May <matthias.may@westermo.com>
      Link: https://lore.kernel.org/r/20220721202718.10092-1-matthias.may@westermo.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7074732c
    • Jakub Kicinski's avatar
      Merge branch 'net-usb-ax88179_178a-improvements-and-bug-fixes' · 7446b157
      Jakub Kicinski authored
      Justin Chen says:
      
      ====================
      net: usb: ax88179_178a: improvements and bug fixes
      
      Power management was partially broken. There were two issues when dropping
      into a sleep state.
      1. Resume was not doing a fully HW restore. Only a partial restore. This
      lead to a couple things being broken on resume. One of them being tcp rx.
      2. wolopt was not being restored properly on resume.
      
      Also did some general improvements and clean up to make it easier to fix
      the issues mentioned above.
      ====================
      
      Link: https://lore.kernel.org/r/1658363296-15734-1-git-send-email-justinpopo6@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7446b157
    • Justin Chen's avatar
      net: usb: ax88179_178a: wol optimizations · 50505316
      Justin Chen authored
      - Check if wol is supported on reset instead of everytime get_wol
      is called.
      - Save wolopts in private data instead of relying on the HW to save it.
      - Defer enabling WoL until suspend instead of enabling it everytime
      set_wol is called.
      Signed-off-by: default avatarJustin Chen <justinpopo6@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      50505316
    • Justin Chen's avatar
      net: usb: ax88179_178a: move priv to driver_priv · 2bcbd3d8
      Justin Chen authored
      We need more space to save WoL context. So lets allocate memory
      for ax88179_data instead of using struct usbnet data field which
      only supports 5 words. We continue to use the struct usbnet data
      field for multicast filters. However since we no longer have the
      private data stored there, we can shift it to the beginning.
      Signed-off-by: default avatarJustin Chen <justinpopo6@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2bcbd3d8
    • Justin Chen's avatar
      net: usb: ax88179_178a: restore state on resume · c4bf747c
      Justin Chen authored
      The hardware state was only partially restored, which meant certain
      functionality was broken on resume. Do a full HW reset on resume to
      fix this.
      Signed-off-by: default avatarJustin Chen <justinpopo6@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c4bf747c
    • Justin Chen's avatar
      net: usb: ax88179_178a: clean up pm calls · 843f9205
      Justin Chen authored
      Instead of passing in_pm flags all over the place, use the private
      struct to handle in_pm mode.
      Signed-off-by: default avatarJustin Chen <justinpopo6@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      843f9205
    • Justin Chen's avatar
      net: usb: ax88179_178a: remove redundant init code · 9718f9ce
      Justin Chen authored
      Bind and reset are basically doing the same thing. Remove the duplicate
      code and have bind call into reset.
      Signed-off-by: default avatarJustin Chen <justinpopo6@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      9718f9ce
    • Jakub Kicinski's avatar
      Merge tag 'for-net-next-2022-07-22' of... · 4a934eca
      Jakub Kicinski authored
      Merge tag 'for-net-next-2022-07-22' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
      
      Luiz Augusto von Dentz says:
      
      ====================
      bluetooth-next pull request for net-next:
      
       - Add support for IM Networks PID 0x3568
       - Add support for BCM4349B1
       - Add support for CYW55572
       - Add support for MT7922 VID/PID 0489/e0e2
       - Add support for Realtek RTL8852C
       - Initial support for Isochronous Channels/ISO sockets
       - Remove HCI_QUIRK_BROKEN_ERR_DATA_REPORTING quirk
      
      * tag 'for-net-next-2022-07-22' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next: (58 commits)
        Bluetooth: btusb: Detect if an ACL packet is in fact an ISO packet
        Bluetooth: btusb: Add support for ISO packets
        Bluetooth: ISO: Add broadcast support
        Bluetooth: Add initial implementation of BIS connections
        Bluetooth: Add BTPROTO_ISO socket type
        Bluetooth: Add initial implementation of CIS connections
        Bluetooth: hci_core: Introduce hci_recv_event_data
        Bluetooth: Convert delayed discov_off to hci_sync
        Bluetooth: Remove update_scan hci_request dependancy
        Bluetooth: Remove dead code from hci_request.c
        Bluetooth: btrtl: Fix typo in comment
        Bluetooth: MGMT: Fix holding hci_conn reference while command is queued
        Bluetooth: mgmt: Fix using hci_conn_abort
        Bluetooth: Use bt_status to convert from errno
        Bluetooth: Add bt_status
        Bluetooth: hci_sync: Split hci_dev_open_sync
        Bluetooth: hci_sync: Refactor remove Adv Monitor
        Bluetooth: hci_sync: Refactor add Adv Monitor
        Bluetooth: hci_sync: Remove HCI_QUIRK_BROKEN_ERR_DATA_REPORTING
        Bluetooth: btusb: Remove HCI_QUIRK_BROKEN_ERR_DATA_REPORTING for fake CSR
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20220723002232.964796-1-luiz.dentz@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      4a934eca
    • Luiz Augusto von Dentz's avatar
      Bluetooth: btusb: Detect if an ACL packet is in fact an ISO packet · 14202eff
      Luiz Augusto von Dentz authored
      Fix up the packet type if ISO packets are sent over the bulk endpoint.
      
      Note: This is a stopgap since the Bluetooth specification currently
      doesn't define any endpoint to transport ISO packets.
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      14202eff
    • Luiz Augusto von Dentz's avatar
      Bluetooth: btusb: Add support for ISO packets · 70405f02
      Luiz Augusto von Dentz authored
      This enabled btusb driver to properly transmit ISO packets.
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      70405f02
    • Luiz Augusto von Dentz's avatar
      Bluetooth: ISO: Add broadcast support · f764a6c2
      Luiz Augusto von Dentz authored
      This adds broadcast support for BTPROTO_ISO by extending the
      sockaddr_iso with a new struct sockaddr_iso_bc where the socket user
      can set the broadcast address when receiving, the SID and the BIS
      indexes it wants to synchronize.
      
      When using BTPROTO_ISO for broadcast the roles are:
      
      Broadcaster -> uses connect with address set to BDADDR_ANY:
      > tools/isotest -s 00:00:00:00:00:00
      
      Broadcast Receiver -> uses listen with address set to broadcaster:
      > tools/isotest -d 00:AA:01:00:00:00
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      f764a6c2
    • Luiz Augusto von Dentz's avatar
      Bluetooth: Add initial implementation of BIS connections · eca0ae4a
      Luiz Augusto von Dentz authored
      This adds initial support for BIS/BIG which includes:
      
      == Broadcaster role: Setup a periodic advertising and create a BIG ==
      
      > tools/isotest -s 00:00:00:00:00:00
      isotest[63]: Connected [00:00:00:00:00:00]
      isotest[63]: QoS BIG 0x00 BIS 0x00 Packing 0x00 Framing 0x00]
      isotest[63]: Output QoS [Interval 10000 us Latency 10 ms SDU 40 PHY 0x02
      RTN 2]
      isotest[63]: Sending ...
      isotest[63]: Number of packets: 1
      isotest[63]: Socket jitter buffer: 80 buffer
      < HCI Command: LE Set Perio.. (0x08|0x003e) plen 7
      ...
      > HCI Event: Command Complete (0x0e) plen 4
            LE Set Periodic Advertising Parameters (0x08|0x003e) ncmd 1
              Status: Success (0x00)
      < HCI Command: LE Set Perio.. (0x08|0x003f) plen 7
      ...
      > HCI Event: Command Complete (0x0e) plen 4
            LE Set Periodic Advertising Data (0x08|0x003f) ncmd 1
              Status: Success (0x00)
      < HCI Command: LE Set Perio.. (0x08|0x0040) plen 2
      ...
      > HCI Event: Command Complete (0x0e) plen 4
            LE Set Periodic Advertising Enable (0x08|0x0040) ncmd 1
              Status: Success (0x00)
      < HCI Command: LE Create B.. (0x08|0x0068) plen 31
      ...
      > HCI Event: Command Status (0x0f) plen 4
            LE Create Broadcast Isochronous Group (0x08|0x0068) ncmd 1
              Status: Success (0x00)
      > HCI Event: LE Meta Event (0x3e) plen 21
            LE Broadcast Isochronous Group Complete (0x1b)
            ...
      
      == Broadcast Receiver role: Create a PA Sync and BIG Sync ==
      
      > tools/isotest -i hci1 -d 00:AA:01:00:00:00
      isotest[66]: Waiting for connection 00:AA:01:00:00:00...
      < HCI Command: LE Periodic Advert.. (0x08|0x0044) plen 14
      ...
      > HCI Event: Command Status (0x0f) plen 4
            LE Periodic Advertising Create Sync (0x08|0x0044) ncmd 1
              Status: Success (0x00)
      < HCI Command: LE Set Extended Sca.. (0x08|0x0041) plen 8
      ...
      > HCI Event: Command Complete (0x0e) plen 4
            LE Set Extended Scan Parameters (0x08|0x0041) ncmd 1
              Status: Success (0x00)
      < HCI Command: LE Set Extended Sca.. (0x08|0x0042) plen 6
      ...
      > HCI Event: Command Complete (0x0e) plen 4
            LE Set Extended Scan Enable (0x08|0x0042) ncmd 1
              Status: Success (0x00)
      > HCI Event: LE Meta Event (0x3e) plen 29
            LE Extended Advertising Report (0x0d)
            ...
      > HCI Event: LE Meta Event (0x3e) plen 16
            LE Periodic Advertising Sync Established (0x0e)
            ...
      < HCI Command: LE Broadcast Isoch.. (0x08|0x006b) plen 25
      ...
      > HCI Event: Command Status (0x0f) plen 4
            LE Broadcast Isochronous Group Create Sync (0x08|0x006b) ncmd 1
              Status: Success (0x00)
      > HCI Event: LE Meta Event (0x3e) plen 17
            LE Broadcast Isochronous Group Sync Estabilished (0x1d)
            ...
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      eca0ae4a
    • Luiz Augusto von Dentz's avatar
      Bluetooth: Add BTPROTO_ISO socket type · ccf74f23
      Luiz Augusto von Dentz authored
      This introduces a new socket type BTPROTO_ISO which can be enabled with
      use of ISO Socket experiemental UUID, it can used to initiate/accept
      connections and transfer packets between userspace and kernel similarly
      to how BTPROTO_SCO works:
      
      Central -> uses connect with address set to destination bdaddr:
      > tools/isotest -s 00:AA:01:00:00:00
      
      Peripheral -> uses listen:
      > tools/isotest -d
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      ccf74f23
    • Luiz Augusto von Dentz's avatar
      Bluetooth: Add initial implementation of CIS connections · 26afbd82
      Luiz Augusto von Dentz authored
      This adds the initial implementation of CIS connections and introduces
      the ISO packets/links.
      
      == Central: Set CIG Parameters, create a CIS and Setup Data Path ==
      
      > tools/isotest -s <address>
      
      < HCI Command: LE Extended Create... (0x08|0x0043) plen 26
      ...
      > HCI Event: Command Status (0x0f) plen 4
            LE Extended Create Connection (0x08|0x0043) ncmd 1
              Status: Success (0x00)
      > HCI Event: LE Meta Event (0x3e) plen 31
            LE Enhanced Connection Complete (0x0a)
            ...
      < HCI Command: LE Create Connected... (0x08|0x0064) plen 5
      ...
      > HCI Event: Command Status (0x0f) plen 4
            LE Create Connected Isochronous Stream (0x08|0x0064) ncmd 1
              Status: Success (0x00)
      > HCI Event: LE Meta Event (0x3e) plen 29
            LE Connected Isochronous Stream Established (0x19)
            ...
      < HCI Command: LE Setup Isochronou.. (0x08|0x006e) plen 13
      ...
      > HCI Event: Command Complete (0x0e) plen 6
            LE Setup Isochronous Data Path (0x08|0x006e) ncmd 1
              Status: Success (0x00)
              Handle: 257
      < HCI Command: LE Setup Isochronou.. (0x08|0x006e) plen 13
      ...
      > HCI Event: Command Complete (0x0e) plen 6
            LE Setup Isochronous Data Path (0x08|0x006e) ncmd 1
              Status: Success (0x00)
              Handle: 257
      
      == Peripheral: Accept CIS and Setup Data Path ==
      
      > tools/isotest -d
      
       HCI Event: LE Meta Event (0x3e) plen 7
            LE Connected Isochronous Stream Request (0x1a)
      ...
      < HCI Command: LE Accept Co.. (0x08|0x0066) plen 2
      ...
      > HCI Event: LE Meta Event (0x3e) plen 29
            LE Connected Isochronous Stream Established (0x19)
      ...
      < HCI Command: LE Setup Is.. (0x08|0x006e) plen 13
      ...
      > HCI Event: Command Complete (0x0e) plen 6
            LE Setup Isochronous Data Path (0x08|0x006e) ncmd 1
              Status: Success (0x00)
              Handle: 257
      < HCI Command: LE Setup Is.. (0x08|0x006e) plen 13
      ...
      > HCI Event: Command Complete (0x0e) plen 6
            LE Setup Isochronous Data Path (0x08|0x006e) ncmd 1
              Status: Success (0x00)
              Handle: 257
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      26afbd82
  3. 22 Jul, 2022 4 commits
    • Jakub Kicinski's avatar
      Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · b3fce974
      Jakub Kicinski authored
      Daniel Borkmann says:
      
      ====================
      bpf-next 2022-07-22
      
      We've added 73 non-merge commits during the last 12 day(s) which contain
      a total of 88 files changed, 3458 insertions(+), 860 deletions(-).
      
      The main changes are:
      
      1) Implement BPF trampoline for arm64 JIT, from Xu Kuohai.
      
      2) Add ksyscall/kretsyscall section support to libbpf to simplify tracing kernel
         syscalls through kprobe mechanism, from Andrii Nakryiko.
      
      3) Allow for livepatch (KLP) and BPF trampolines to attach to the same kernel
         function, from Song Liu & Jiri Olsa.
      
      4) Add new kfunc infrastructure for netfilter's CT e.g. to insert and change
         entries, from Kumar Kartikeya Dwivedi & Lorenzo Bianconi.
      
      5) Add a ksym BPF iterator to allow for more flexible and efficient interactions
         with kernel symbols, from Alan Maguire.
      
      6) Bug fixes in libbpf e.g. for uprobe binary path resolution, from Dan Carpenter.
      
      7) Fix BPF subprog function names in stack traces, from Alexei Starovoitov.
      
      8) libbpf support for writing custom perf event readers, from Jon Doron.
      
      9) Switch to use SPDX tag for BPF helper man page, from Alejandro Colomar.
      
      10) Fix xsk send-only sockets when in busy poll mode, from Maciej Fijalkowski.
      
      11) Reparent BPF maps and their charging on memcg offlining, from Roman Gushchin.
      
      12) Multiple follow-up fixes around BPF lsm cgroup infra, from Stanislav Fomichev.
      
      13) Use bootstrap version of bpftool where possible to speed up builds, from Pu Lehui.
      
      14) Cleanup BPF verifier's check_func_arg() handling, from Joanne Koong.
      
      15) Make non-prealloced BPF map allocations low priority to play better with
          memcg limits, from Yafang Shao.
      
      16) Fix BPF test runner to reject zero-length data for skbs, from Zhengchao Shao.
      
      17) Various smaller cleanups and improvements all over the place.
      
      * https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (73 commits)
        bpf: Simplify bpf_prog_pack_[size|mask]
        bpf: Support bpf_trampoline on functions with IPMODIFY (e.g. livepatch)
        bpf, x64: Allow to use caller address from stack
        ftrace: Allow IPMODIFY and DIRECT ops on the same function
        ftrace: Add modify_ftrace_direct_multi_nolock
        bpf/selftests: Fix couldn't retrieve pinned program in xdp veth test
        bpf: Fix build error in case of !CONFIG_DEBUG_INFO_BTF
        selftests/bpf: Fix test_verifier failed test in unprivileged mode
        selftests/bpf: Add negative tests for new nf_conntrack kfuncs
        selftests/bpf: Add tests for new nf_conntrack kfuncs
        selftests/bpf: Add verifier tests for trusted kfunc args
        net: netfilter: Add kfuncs to set and change CT status
        net: netfilter: Add kfuncs to set and change CT timeout
        net: netfilter: Add kfuncs to allocate and insert CT
        net: netfilter: Deduplicate code in bpf_{xdp,skb}_ct_lookup
        bpf: Add documentation for kfuncs
        bpf: Add support for forcing kfunc args to be trusted
        bpf: Switch to new kfunc flags infrastructure
        tools/resolve_btfids: Add support for 8-byte BTF sets
        bpf: Introduce 8-byte BTF set
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20220722221218.29943-1-daniel@iogearbox.netSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b3fce974
    • Jakub Kicinski's avatar
      Merge branch 'io_uring-zerocopy-send' of git://git.kernel.org/pub/scm/linux/kernel/git/kuba/linux · 3c47fb2f
      Jakub Kicinski authored
      Pull in Pavel's patch from a shared branch.
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3c47fb2f
    • Pavel Begunkov's avatar
      net: fix uninitialised msghdr->sg_from_iter · 2829a267
      Pavel Begunkov authored
      Because of how struct msghdr is usually initialised some fields and
      sg_from_iter in particular might be left out not initialised, so we
      can't safely use it in __zerocopy_sg_from_iter().
      
      For now use the callback only when there is ->msg_ubuf set relying on
      the fact that they're used together and we properly zero ->msg_ubuf.
      
      Fixes: ebe73a28 ("net: Allow custom iter handler in msghdr")
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Message-Id: <ce8b68b41351488f79fd998b032b3c56e9b1cc6c.1658401817.git.asml.silence@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2829a267
    • Jiri Pirko's avatar
      mlxsw: core: Fix use-after-free calling devl_unlock() in mlxsw_core_bus_device_unregister() · 1b5995e3
      Jiri Pirko authored
      Do devl_unlock() before freeing the devlink in
      mlxsw_core_bus_device_unregister() function.
      Reported-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Fixes: 72a4c8c9 ("mlxsw: convert driver to use unlocked devlink API during init/fini")
      Signed-off-by: default avatarJiri Pirko <jiri@nvidia.com>
      Reviewed-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Link: https://lore.kernel.org/r/20220721142424.3975704-1-jiri@resnulli.usSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      1b5995e3