1. 16 Feb, 2023 10 commits
    • Linus Torvalds's avatar
      Merge tag 'net-6.2-final' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 3ac88fa4
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Fixes from the main networking tree only, probably because all
        sub-trees have backed off and haven't submitted their changes.
      
        None of the fixes here are particularly scary and no outstanding
        regressions. In an ideal world the "current release" sections would be
        empty at this stage but that never happens.
      
        Current release - regressions:
      
         - fix unwanted sign extension in netdev_stats_to_stats64()
      
        Current release - new code bugs:
      
         - initialize net->notrefcnt_tracker earlier
      
         - devlink: fix netdev notifier chain corruption
      
         - nfp: make sure mbox accesses in IPsec code are atomic
      
         - ice: fix check for weight and priority of a scheduling node
      
        Previous releases - regressions:
      
         - ice: xsk: fix cleaning of XDP_TX frame, prevent inf loop
      
         - igb: fix I2C bit banging config with external thermal sensor
      
        Previous releases - always broken:
      
         - sched: tcindex: update imperfect hash filters respecting rcu
      
         - mpls: fix stale pointer if allocation fails during device rename
      
         - dccp/tcp: avoid negative sk_forward_alloc by ipv6_pinfo.pktoptions
      
         - remove WARN_ON_ONCE(sk->sk_forward_alloc) from
           sk_stream_kill_queues()
      
         - af_key: fix heap information leak
      
         - ipv6: fix socket connection with DSCP (correct interpretation of
           the tclass field vs fib rule matching)
      
         - tipc: fix kernel warning when sending SYN message
      
         - vmxnet3: read RSS information from the correct descriptor (eop)"
      
      * tag 'net-6.2-final' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (35 commits)
        devlink: Fix netdev notifier chain corruption
        igb: conditionalize I2C bit banging on external thermal sensor support
        net: mpls: fix stale pointer if allocation fails during device rename
        net/sched: tcindex: search key must be 16 bits
        tipc: fix kernel warning when sending SYN message
        igb: Fix PPS input and output using 3rd and 4th SDP
        net: use a bounce buffer for copying skb->mark
        ixgbe: add double of VLAN header when computing the max MTU
        i40e: add double of VLAN header when computing the max MTU
        ixgbe: allow to increase MTU to 3K with XDP enabled
        net: stmmac: Restrict warning on disabling DMA store and fwd mode
        net/sched: act_ctinfo: use percpu stats
        net: stmmac: fix order of dwmac5 FlexPPS parametrization sequence
        ice: fix lost multicast packets in promisc mode
        ice: Fix check for weight and priority of a scheduling node
        bnxt_en: Fix mqprio and XDP ring checking logic
        net: Fix unwanted sign extension in netdev_stats_to_stats64()
        net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path
        net: openvswitch: fix possible memory leak in ovs_meter_cmd_set()
        af_key: Fix heap information leak
        ...
      3ac88fa4
    • Linus Torvalds's avatar
      Merge tag 'block-6.2-2023-02-16' of git://git.kernel.dk/linux · d3d6f0eb
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Just a few NVMe fixes that should go into the 6.2 release, adding a
        quirk and fixing two issues introduced in this release:
      
         - NVMe fixes via Christoph:
             - Always return an ERR_PTR from nvme_pci_alloc_dev (Irvin Cote)
             - Add bogus ID quirk for ADATA SX6000PNP (Daniel Wagner)
             - Set the DMA mask earlier (Christoph Hellwig)"
      
      * tag 'block-6.2-2023-02-16' of git://git.kernel.dk/linux:
        nvme-pci: always return an ERR_PTR from nvme_pci_alloc_dev
        nvme-pci: set the DMA mask earlier
        nvme-pci: add bogus ID quirk for ADATA SX6000PNP
      d3d6f0eb
    • Linus Torvalds's avatar
      Merge tag 'spi-v6.2-rc8-abi' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · b5596f1d
      Linus Torvalds authored
      Pull spi fix from Mark Brown:
       "One more last minute patch for v6.2 updating the parsing of the newly
        added spi-cs-setup-delay-ns.
      
        It's been pointed out that due to the way DT parsing works the change
        in property size is ABI visible so let's not let a release go out
        without it being fixed. The change got split from some earlier ABI
        related fixes to the property since the first version sent had a build
        error"
      
      * tag 'spi-v6.2-rc8-abi' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: Use a 32-bit DT property for spi-cs-setup-delay-ns
      b5596f1d
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 18902059
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - fix a potential Kconfig issue with gpio-mlxbf2 not selecting
         GPIOLIB_IRQCHIP
      
       - another immutable irqchip conversion, this time for gpio-vf610
      
       - fix a wakeup issue on Clevo NH5xAx
      
      * tag 'gpio-fixes-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: mlxbf2: select GPIOLIB_IRQCHIP
        gpiolib: acpi: Add a ignore wakeup quirk for Clevo NH5xAx
        gpio: vf610: make irq_chip immutable
        gpiolib: acpi: remove redundant declaration
      18902059
    • Christoph Hellwig's avatar
      stop mainaining UUID · 88d35583
      Christoph Hellwig authored
      The uuid code is very low maintainance now that the major overhaul
      has completed, and doesn't need it's own tree.  All the recent work
      has been done by Andy who'd like to stay on as a reviewer without an
      explicit tree.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: default avatarAndy Shevchenko <andy@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      88d35583
    • Christoph Hellwig's avatar
      orphan sysvfs · a8cd2990
      Christoph Hellwig authored
      This code has been stale for years and I have no way to test it.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a8cd2990
    • Bartosz Golaszewski's avatar
      Merge tag 'intel-gpio-v6.2-2' of... · b8b3b0bf
      Bartosz Golaszewski authored
      Merge tag 'intel-gpio-v6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel into gpio/for-current
      
      intel-gpio for v6.2-2
      
      * Ignore spurious wakeup by touchpad on Clevo NH5xAx
      * Miscellaneous fix(es)
      b8b3b0bf
    • Ido Schimmel's avatar
      devlink: Fix netdev notifier chain corruption · b20b8aec
      Ido Schimmel authored
      Cited commit changed devlink to register its netdev notifier block on
      the global netdev notifier chain instead of on the per network namespace
      one.
      
      However, when changing the network namespace of the devlink instance,
      devlink still tries to unregister its notifier block from the chain of
      the old namespace and register it on the chain of the new namespace.
      This results in corruption of the notifier chains, as the same notifier
      block is registered on two different chains: The global one and the per
      network namespace one. In turn, this causes other problems such as the
      inability to dismantle namespaces due to netdev reference count issues.
      
      Fix by preventing devlink from moving its notifier block between
      namespaces.
      
      Reproducer:
      
       # echo "10 1" > /sys/bus/netdevsim/new_device
       # ip netns add test123
       # devlink dev reload netdevsim/netdevsim10 netns test123
       # ip netns del test123
       [   71.935619] unregister_netdevice: waiting for lo to become free. Usage count = 2
       [   71.938348] leaked reference.
      
      Fixes: 565b4824 ("devlink: change port event netdev notifier from per-net to global")
      Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
      Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Reviewed-by: default avatarJakub Kicinski <kuba@kernel.org>
      Link: https://lore.kernel.org/r/20230215073139.1360108-1-idosch@nvidia.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      b20b8aec
    • Corinna Vinschen's avatar
      igb: conditionalize I2C bit banging on external thermal sensor support · 5d54cb17
      Corinna Vinschen authored
      Commit a97f8783 ("igb: unbreak I2C bit-banging on i350") introduced
      code to change I2C settings to bit banging unconditionally.
      
      However, this patch introduced a regression:  On an Intel S2600CWR
      Server Board with three NICs:
      
      - 1x dual-port copper
        Intel I350 Gigabit Network Connection [8086:1521] (rev 01)
        fw 1.63, 0x80000dda
      
      - 2x quad-port SFP+ with copper SFP Avago ABCU-5700RZ
        Intel I350 Gigabit Fiber Network Connection [8086:1522] (rev 01)
        fw 1.52.0
      
      the SFP NICs no longer get link at all.  Reverting commit a97f8783
      or switching to the Intel out-of-tree driver both fix the problem.
      
      Per the igb out-of-tree driver, I2C bit banging on i350 depends on
      support for an external thermal sensor (ETS).  However, commit
      a97f8783 added bit banging unconditionally.  Additionally, the
      out-of-tree driver always calls init_thermal_sensor_thresh on probe,
      while our driver only calls init_thermal_sensor_thresh only in
      igb_reset(), and only if an ETS is present, ignoring the internal
      thermal sensor.  The affected SFPs don't provide an ETS.  Per Intel,
      the behaviour is a result of i350 firmware requirements.
      
      This patch fixes the problem by aligning the behaviour to the
      out-of-tree driver:
      
      - split igb_init_i2c() into two functions:
        - igb_init_i2c() only performs the basic I2C initialization.
        - igb_set_i2c_bb() makes sure that E1000_CTRL_I2C_ENA is set
          and enables bit-banging.
      
      - igb_probe() only calls igb_set_i2c_bb() if an ETS is present.
      
      - igb_probe() calls init_thermal_sensor_thresh() unconditionally.
      
      - igb_reset() aligns its behaviour to igb_probe(), i. e., call
        igb_set_i2c_bb() if an ETS is present and call
        init_thermal_sensor_thresh() unconditionally.
      
      Fixes: a97f8783 ("igb: unbreak I2C bit-banging on i350")
      Tested-by: default avatarMateusz Palczewski <mateusz.palczewski@intel.com>
      Co-developed-by: default avatarJamie Bainbridge <jbainbri@redhat.com>
      Signed-off-by: default avatarJamie Bainbridge <jbainbri@redhat.com>
      Signed-off-by: default avatarCorinna Vinschen <vinschen@redhat.com>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      Link: https://lore.kernel.org/r/20230214185549.1306522-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5d54cb17
    • Jakub Kicinski's avatar
      Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue · dee4bf71
      Jakub Kicinski authored
      Tony Nguyen says:
      
      ====================
      Intel Wired LAN Driver Updates 2023-02-14 (ixgbe, i40e)
      
      This series contains updates to ixgbe and i40e drivers.
      
      Jason Xing corrects comparison of frame sizes for setting MTU with XDP on
      ixgbe and adjusts frame size to account for a second VLAN header on ixgbe
      and i40e.
      
      * '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
        ixgbe: add double of VLAN header when computing the max MTU
        i40e: add double of VLAN header when computing the max MTU
        ixgbe: allow to increase MTU to 3K with XDP enabled
      ====================
      
      Link: https://lore.kernel.org/r/20230214185146.1305819-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      dee4bf71
  2. 15 Feb, 2023 15 commits
    • Linus Torvalds's avatar
      Merge tag 'apparmor-v6.2-rc9' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor · 033c40a8
      Linus Torvalds authored
      Pull apparmor fix from John Johansen:
       "Regression fix for getattr mediation of old policy"
      
      * tag 'apparmor-v6.2-rc9' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor:
        apparmor: Fix regression in compat permissions for getattr
      033c40a8
    • Jens Axboe's avatar
      Merge tag 'nvme-6.2-2023-02-15' of git://git.infradead.org/nvme into block-6.2 · 9a28b92c
      Jens Axboe authored
      Pull NVMe fixes from Christoph:
      
      "nvme fixes for Linux 6.2
      
       - always return an ERR_PTR from nvme_pci_alloc_dev (Irvin Cote)
       - add bogus ID quirk for ADATA SX6000PNP (Daniel Wagner)
       - set the DMA mask earlier (Christoph Hellwig)"
      
      * tag 'nvme-6.2-2023-02-15' of git://git.infradead.org/nvme:
        nvme-pci: always return an ERR_PTR from nvme_pci_alloc_dev
        nvme-pci: set the DMA mask earlier
        nvme-pci: add bogus ID quirk for ADATA SX6000PNP
      9a28b92c
    • Linus Torvalds's avatar
      Merge tag 'nfsd-6.2-6' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · 3402351a
      Linus Torvalds authored
      Pull nfsd fix from Chuck Lever:
      
       - Fix a teardown bug in the new nfs4_file hashtable
      
      * tag 'nfsd-6.2-6' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
        nfsd: don't destroy global nfs4_file table in per-net shutdown
      3402351a
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.2-rc7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · ca5ca227
      Linus Torvalds authored
      Pull tracing fixlet from Steven Rostedt:
       "Make trace_define_field_ext() static.
      
        Just after the fix to TASK_COMM_LEN not converted to its value in
        trace_events was pulled, the kernel test robot reported that the
        helper function trace_define_field_ext() added to that change was only
        used in the file it was defined in but was not declared static.
      
        Make it a local function"
      
      * tag 'trace-v6.2-rc7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing: Make trace_define_field_ext() static
      ca5ca227
    • John Johansen's avatar
      apparmor: Fix regression in compat permissions for getattr · cbb13e12
      John Johansen authored
      This fixes a regression in mediation of getattr when old policy built
      under an older ABI is loaded and mapped to internal permissions.
      
      The regression does not occur for all getattr permission requests,
      only appearing if state zero is the final state in the permission
      lookup.  This is because despite the first state (index 0) being
      guaranteed to not have permissions in both newer and older permission
      formats, it may have to carry permissions that were not mediated as
      part of an older policy. These backward compat permissions are
      mapped here to avoid special casing the mediation code paths.
      
      Since the mapping code already takes into account backwards compat
      permission from older formats it can be applied to state 0 to fix
      the regression.
      
      Fixes: 408d53e9 ("apparmor: compute file permissions on profile load")
      Reported-by: default avatarPhilip Meulengracht <the_meulengracht@hotmail.com>
      Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
      cbb13e12
    • Linus Walleij's avatar
      gpio: mlxbf2: select GPIOLIB_IRQCHIP · 2f43f602
      Linus Walleij authored
      This driver uncondictionally uses the GPIOLIB_IRQCHIP so
      select it.
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
      2f43f602
    • Werner Sembach's avatar
      gpiolib: acpi: Add a ignore wakeup quirk for Clevo NH5xAx · a69982c3
      Werner Sembach authored
      The commit 1796f808 ("HID: i2c-hid: acpi: Stop setting wakeup_capable")
      changed the policy such that I2C touchpads may be able to wake up the
      system by default if the system is configured as such.
      
      However for some devices there is a bug, that is causing the touchpad to
      instantly wake up the device again once it gets deactivated. The root cause
      is still under investigation (see Link tag).
      
      To workaround this problem for the time being, introduce a quirk for this
      model that will prevent the wakeup capability for being set for GPIO 16.
      
      Fixes: 1796f808 ("HID: i2c-hid: acpi: Stop setting wakeup_capable")
      Link: https://lore.kernel.org/linux-acpi/20230210164636.628462-1-wse@tuxedocomputers.com/Signed-off-by: default avatarWerner Sembach <wse@tuxedocomputers.com>
      Cc: <stable@vger.kernel.org> # v6.1+
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      a69982c3
    • Alexander Stein's avatar
      gpio: vf610: make irq_chip immutable · e6ef4f8e
      Alexander Stein authored
      Since recently, the kernel is nagging about mutable irq_chips:
      
          "not an immutable chip, please consider fixing it!"
      
      Drop the unneeded copy, flag it as IRQCHIP_IMMUTABLE, add the new
      helper functions and call the appropriate gpiolib functions.
      Signed-off-by: default avatarAlexander Stein <alexander.stein@ew.tq-group.com>
      Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
      e6ef4f8e
    • Raag Jadav's avatar
      gpiolib: acpi: remove redundant declaration · b61494d0
      Raag Jadav authored
      Remove acpi_device declaration, as it is no longer needed.
      Signed-off-by: default avatarRaag Jadav <raag.jadav@intel.com>
      Reviewed-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      b61494d0
    • Jakub Kicinski's avatar
      net: mpls: fix stale pointer if allocation fails during device rename · fda6c89f
      Jakub Kicinski authored
      lianhui reports that when MPLS fails to register the sysctl table
      under new location (during device rename) the old pointers won't
      get overwritten and may be freed again (double free).
      
      Handle this gracefully. The best option would be unregistering
      the MPLS from the device completely on failure, but unfortunately
      mpls_ifdown() can fail. So failing fully is also unreliable.
      
      Another option is to register the new table first then only
      remove old one if the new one succeeds. That requires more
      code, changes order of notifications and two tables may be
      visible at the same time.
      
      sysctl point is not used in the rest of the code - set to NULL
      on failures and skip unregister if already NULL.
      Reported-by: default avatarlianhui tang <bluetlh@gmail.com>
      Fixes: 0fae3bf0 ("mpls: handle device renames for per-device sysctls")
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fda6c89f
    • Pedro Tammela's avatar
      net/sched: tcindex: search key must be 16 bits · 42018a32
      Pedro Tammela authored
      Syzkaller found an issue where a handle greater than 16 bits would trigger
      a null-ptr-deref in the imperfect hash area update.
      
      general protection fault, probably for non-canonical address
      0xdffffc0000000015: 0000 [#1] PREEMPT SMP KASAN
      KASAN: null-ptr-deref in range [0x00000000000000a8-0x00000000000000af]
      CPU: 0 PID: 5070 Comm: syz-executor456 Not tainted
      6.2.0-rc7-syzkaller-00112-gc68f345b #0
      Hardware name: Google Google Compute Engine/Google Compute Engine,
      BIOS Google 01/21/2023
      RIP: 0010:tcindex_set_parms+0x1a6a/0x2990 net/sched/cls_tcindex.c:509
      Code: 01 e9 e9 fe ff ff 4c 8b bd 28 fe ff ff e8 0e 57 7d f9 48 8d bb
      a8 00 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c
      02 00 0f 85 94 0c 00 00 48 8b 85 f8 fd ff ff 48 8b 9b a8 00
      RSP: 0018:ffffc90003d3ef88 EFLAGS: 00010202
      RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000
      RDX: 0000000000000015 RSI: ffffffff8803a102 RDI: 00000000000000a8
      RBP: ffffc90003d3f1d8 R08: 0000000000000001 R09: 0000000000000000
      R10: 0000000000000001 R11: 0000000000000000 R12: ffff88801e2b10a8
      R13: dffffc0000000000 R14: 0000000000030000 R15: ffff888017b3be00
      FS: 00005555569af300(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
      CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 000056041c6d2000 CR3: 000000002bfca000 CR4: 00000000003506f0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
      <TASK>
      tcindex_change+0x1ea/0x320 net/sched/cls_tcindex.c:572
      tc_new_tfilter+0x96e/0x2220 net/sched/cls_api.c:2155
      rtnetlink_rcv_msg+0x959/0xca0 net/core/rtnetlink.c:6132
      netlink_rcv_skb+0x165/0x440 net/netlink/af_netlink.c:2574
      netlink_unicast_kernel net/netlink/af_netlink.c:1339 [inline]
      netlink_unicast+0x547/0x7f0 net/netlink/af_netlink.c:1365
      netlink_sendmsg+0x91b/0xe10 net/netlink/af_netlink.c:1942
      sock_sendmsg_nosec net/socket.c:714 [inline]
      sock_sendmsg+0xd3/0x120 net/socket.c:734
      ____sys_sendmsg+0x334/0x8c0 net/socket.c:2476
      ___sys_sendmsg+0x110/0x1b0 net/socket.c:2530
      __sys_sendmmsg+0x18f/0x460 net/socket.c:2616
      __do_sys_sendmmsg net/socket.c:2645 [inline]
      __se_sys_sendmmsg net/socket.c:2642 [inline]
      __x64_sys_sendmmsg+0x9d/0x100 net/socket.c:2642
      do_syscall_x64 arch/x86/entry/common.c:50 [inline]
      do_syscall_64+0x39/0xb0 arch/x86/entry/common.c:80
      
      Fixes: ee059170 ("net/sched: tcindex: update imperfect hash filters respecting rcu")
      Signed-off-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarPedro Tammela <pctammela@mojatatu.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      42018a32
    • Tung Nguyen's avatar
      tipc: fix kernel warning when sending SYN message · 11a4d6f6
      Tung Nguyen authored
      When sending a SYN message, this kernel stack trace is observed:
      
      ...
      [   13.396352] RIP: 0010:_copy_from_iter+0xb4/0x550
      ...
      [   13.398494] Call Trace:
      [   13.398630]  <TASK>
      [   13.398630]  ? __alloc_skb+0xed/0x1a0
      [   13.398630]  tipc_msg_build+0x12c/0x670 [tipc]
      [   13.398630]  ? shmem_add_to_page_cache.isra.71+0x151/0x290
      [   13.398630]  __tipc_sendmsg+0x2d1/0x710 [tipc]
      [   13.398630]  ? tipc_connect+0x1d9/0x230 [tipc]
      [   13.398630]  ? __local_bh_enable_ip+0x37/0x80
      [   13.398630]  tipc_connect+0x1d9/0x230 [tipc]
      [   13.398630]  ? __sys_connect+0x9f/0xd0
      [   13.398630]  __sys_connect+0x9f/0xd0
      [   13.398630]  ? preempt_count_add+0x4d/0xa0
      [   13.398630]  ? fpregs_assert_state_consistent+0x22/0x50
      [   13.398630]  __x64_sys_connect+0x16/0x20
      [   13.398630]  do_syscall_64+0x42/0x90
      [   13.398630]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
      
      It is because commit a41dad90 ("iov_iter: saner checks for attempt
      to copy to/from iterator") has introduced sanity check for copying
      from/to iov iterator. Lacking of copy direction from the iterator
      viewpoint would lead to kernel stack trace like above.
      
      This commit fixes this issue by initializing the iov iterator with
      the correct copy direction when sending SYN or ACK without data.
      
      Fixes: f25dcc76 ("tipc: tipc ->sendmsg() conversion")
      Reported-by: syzbot+d43608d061e8847ec9f3@syzkaller.appspotmail.com
      Acked-by: default avatarJon Maloy <jmaloy@redhat.com>
      Signed-off-by: default avatarTung Nguyen <tung.q.nguyen@dektech.com.au>
      Link: https://lore.kernel.org/r/20230214012606.5804-1-tung.q.nguyen@dektech.com.auSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      11a4d6f6
    • Miroslav Lichvar's avatar
      igb: Fix PPS input and output using 3rd and 4th SDP · 207ce626
      Miroslav Lichvar authored
      Fix handling of the tsync interrupt to compare the pin number with
      IGB_N_SDP instead of IGB_N_EXTTS/IGB_N_PEROUT and fix the indexing to
      the perout array.
      
      Fixes: cf99c1dd ("igb: move PEROUT and EXTTS isr logic to separate functions")
      Reported-by: default avatarMatt Corallo <ntp-lists@mattcorallo.com>
      Signed-off-by: default avatarMiroslav Lichvar <mlichvar@redhat.com>
      Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      Link: https://lore.kernel.org/r/20230213185822.3960072-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      207ce626
    • Jakub Kicinski's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue · d3a37346
      Jakub Kicinski authored
      Tony Nguyen says:
      
      ====================
      Intel Wired LAN Driver Updates 2023-02-13 (ice)
      
      This series contains updates to ice driver only.
      
      Michal fixes check of scheduling node weight and priority to be done
      against desired value, not current value.
      
      Jesse adds setting of all multicast when adding promiscuous mode to
      resolve traffic being lost due to filter settings.
      
      * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
        ice: fix lost multicast packets in promisc mode
        ice: Fix check for weight and priority of a scheduling node
      ====================
      
      Link: https://lore.kernel.org/r/20230213185259.3959224-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d3a37346
    • Eric Dumazet's avatar
      net: use a bounce buffer for copying skb->mark · 2558b803
      Eric Dumazet authored
      syzbot found arm64 builds would crash in sock_recv_mark()
      when CONFIG_HARDENED_USERCOPY=y
      
      x86 and powerpc are not detecting the issue because
      they define user_access_begin.
      This will be handled in a different patch,
      because a check_object_size() is missing.
      
      Only data from skb->cb[] can be copied directly to/from user space,
      as explained in commit 79a8a642 ("net: Whitelist
      the skbuff_head_cache "cb" field")
      
      syzbot report was:
      usercopy: Kernel memory exposure attempt detected from SLUB object 'skbuff_head_cache' (offset 168, size 4)!
      ------------[ cut here ]------------
      kernel BUG at mm/usercopy.c:102 !
      Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP
      Modules linked in:
      CPU: 0 PID: 4410 Comm: syz-executor533 Not tainted 6.2.0-rc7-syzkaller-17907-g2d3827b3f393 #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/21/2023
      pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
      pc : usercopy_abort+0x90/0x94 mm/usercopy.c:90
      lr : usercopy_abort+0x90/0x94 mm/usercopy.c:90
      sp : ffff80000fb9b9a0
      x29: ffff80000fb9b9b0 x28: ffff0000c6073400 x27: 0000000020001a00
      x26: 0000000000000014 x25: ffff80000cf52000 x24: fffffc0000000000
      x23: 05ffc00000000200 x22: fffffc000324bf80 x21: ffff0000c92fe1a8
      x20: 0000000000000001 x19: 0000000000000004 x18: 0000000000000000
      x17: 656a626f2042554c x16: ffff0000c6073dd0 x15: ffff80000dbd2118
      x14: ffff0000c6073400 x13: 00000000ffffffff x12: ffff0000c6073400
      x11: ff808000081bbb4c x10: 0000000000000000 x9 : 7b0572d7cc0ccf00
      x8 : 7b0572d7cc0ccf00 x7 : ffff80000bf650d4 x6 : 0000000000000000
      x5 : 0000000000000001 x4 : 0000000000000001 x3 : 0000000000000000
      x2 : ffff0001fefbff08 x1 : 0000000100000000 x0 : 000000000000006c
      Call trace:
      usercopy_abort+0x90/0x94 mm/usercopy.c:90
      __check_heap_object+0xa8/0x100 mm/slub.c:4761
      check_heap_object mm/usercopy.c:196 [inline]
      __check_object_size+0x208/0x6b8 mm/usercopy.c:251
      check_object_size include/linux/thread_info.h:199 [inline]
      __copy_to_user include/linux/uaccess.h:115 [inline]
      put_cmsg+0x408/0x464 net/core/scm.c:238
      sock_recv_mark net/socket.c:975 [inline]
      __sock_recv_cmsgs+0x1fc/0x248 net/socket.c:984
      sock_recv_cmsgs include/net/sock.h:2728 [inline]
      packet_recvmsg+0x2d8/0x678 net/packet/af_packet.c:3482
      ____sys_recvmsg+0x110/0x3a0
      ___sys_recvmsg net/socket.c:2737 [inline]
      __sys_recvmsg+0x194/0x210 net/socket.c:2767
      __do_sys_recvmsg net/socket.c:2777 [inline]
      __se_sys_recvmsg net/socket.c:2774 [inline]
      __arm64_sys_recvmsg+0x2c/0x3c net/socket.c:2774
      __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
      invoke_syscall+0x64/0x178 arch/arm64/kernel/syscall.c:52
      el0_svc_common+0xbc/0x180 arch/arm64/kernel/syscall.c:142
      do_el0_svc+0x48/0x110 arch/arm64/kernel/syscall.c:193
      el0_svc+0x58/0x14c arch/arm64/kernel/entry-common.c:637
      el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
      el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591
      Code: 91388800 aa0903e1 f90003e8 94e6d752 (d4210000)
      
      Fixes: 6fd1d51c ("net: SO_RCVMARK socket option for SO_MARK with recvmsg()")
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Erin MacNeil <lnx.erin@gmail.com>
      Reviewed-by: default avatarAlexander Lobakin <alexandr.lobakin@intel.com>
      Link: https://lore.kernel.org/r/20230213160059.3829741-1-edumazet@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2558b803
  3. 14 Feb, 2023 11 commits
  4. 13 Feb, 2023 4 commits