Skip to content
  1. Mar 19, 2022
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2022-03-18' of git://anongit.freedesktop.org/drm/drm · cced5148
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "A few minor changes to finish things off, one mgag200 regression, imx
        fix and couple of panel changes.
      
        imx:
         - Don't test bus flags in atomic check
      
        mgag200:
         - Fix PLL setup on some models
      
        panel:
         - Fix bpp settings on Innolux G070Y2-L01
         - Fix DRM_PANEL_EDP Kconfig dependencies"
      
      * tag 'drm-fixes-2022-03-18' of git://anongit.freedesktop.org/drm/drm:
        drm: Don't make DRM_PANEL_BRIDGE dependent on DRM_KMS_HELPERS
        drm/panel: simple: Fix Innolux G070Y2-L01 BPP settings
        drm/imx: parallel-display: Remove bus flags check in imx_pd_bridge_atomic_check()
        drm/mgag200: Fix PLL setup for g200wb and g200ew
      cced5148
  2. Mar 18, 2022
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2022-03-17' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · ca5a5761
      Dave Airlie authored
      
      
       * drm/imx: Don't test bus flags in atomic check
       * drm/mgag200: Fix PLL setup on some models
       * drm/panel: Fix bpp settings on Innolux G070Y2-L01; Fix DRM_PANEL_EDP
         Kconfig dependencies
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thomas Zimmermann <tzimmermann@suse.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/YjMNcqOuDFDoe+EN@linux-uq9g
      ca5a5761
    • Linus Torvalds's avatar
      Merge tag 'net-5.17-final' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 551acdc3
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from netfilter, ipsec, and wireless.
      
        A few last minute revert / disable and fix patches came down from our
        sub-trees. We're not waiting for any fixes at this point.
      
        Current release - regressions:
      
         - Revert "netfilter: nat: force port remap to prevent shadowing
           well-known ports", restore working conntrack on asymmetric paths
      
         - Revert "ath10k: drop beacon and probe response which leak from
           other channel", restore working AP and mesh mode on QCA9984
      
         - eth: intel: fix hang during reboot/shutdown
      
        Current release - new code bugs:
      
         - netfilter: nf_tables: disable register tracking, it needs more work
           to cover all corner cases
      
        Previous releases - regressions:
      
         - ipv6: fix skb_over_panic in __ip6_append_data when (admin-only)
           extension headers get specified
      
         - esp6: fix ESP over TCP/UDP, interpret ipv6_skip_exthdr's return
           value more selectively
      
         - bnx2x: fix driver load failure when FW not present in initrd
      
        Previous releases - always broken:
      
         - vsock: stop destroying unrelated sockets in nested virtualization
      
         - packet: fix slab-out-of-bounds access in packet_recvmsg()
      
        Misc:
      
         - add Paolo Abeni to networking maintainers!"
      
      * tag 'net-5.17-final' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (26 commits)
        iavf: Fix hang during reboot/shutdown
        net: mscc: ocelot: fix backwards compatibility with single-chain tc-flower offload
        net: bcmgenet: skip invalid partial checksums
        bnx2x: fix built-in kernel driver load failure
        net: phy: mscc: Add MODULE_FIRMWARE macros
        net: dsa: Add missing of_node_put() in dsa_port_parse_of
        net: handle ARPHRD_PIMREG in dev_is_mac_header_xmit()
        Revert "ath10k: drop beacon and probe response which leak from other channel"
        hv_netvsc: Add check for kvmalloc_array
        iavf: Fix double free in iavf_reset_task
        ice: destroy flow director filter mutex after releasing VSIs
        ice: fix NULL pointer dereference in ice_update_vsi_tx_ring_stats()
        Add Paolo Abeni to networking maintainers
        atm: eni: Add check for dma_map_single
        net/packet: fix slab-out-of-bounds access in packet_recvmsg()
        net: mdio: mscc-miim: fix duplicate debugfs entry
        net: phy: marvell: Fix invalid comparison in the resume and suspend functions
        esp6: fix check on ipv6_skip_exthdr's return value
        net: dsa: microchip: add spi_device_id tables
        netfilter: nf_tables: disable register tracking
        ...
      551acdc3
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.17-rc9' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c81801eb
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "Revert recent commit that caused multiple systems to misbehave due to
        firmware issues"
      
      * tag 'acpi-5.17-rc9' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Revert "ACPI: scan: Do not add device IDs from _CID if _HID is not valid"
      c81801eb
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 2ab99e54
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "Four patches.
      
        Subsystems affected by this patch series: mm/swap, kconfig, ocfs2, and
        selftests"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        selftests: vm: fix clang build error multiple output files
        ocfs2: fix crash when initialize filecheck kobj fails
        configs/debug: restore DEBUG_INFO=y for overriding
        mm: swap: get rid of livelock in swapin readahead
      2ab99e54
    • Yosry Ahmed's avatar
      selftests: vm: fix clang build error multiple output files · 1c4debc4
      Yosry Ahmed authored
      When building the vm selftests using clang, some errors are seen due to
      having headers in the compilation command:
      
        clang -Wall -I ../../../../usr/include  -no-pie    gup_test.c ../../../../mm/gup_test.h -lrt -lpthread -o .../tools/testing/selftests/vm/gup_test
        clang: error: cannot specify -o when generating multiple output files
        make[1]: *** [../lib.mk:146: .../tools/testing/selftests/vm/gup_test] Error 1
      
      Rework to add the header files to LOCAL_HDRS before including ../lib.mk,
      since the dependency is evaluated in '$(OUTPUT)/%:%.c $(LOCAL_HDRS)' in
      file lib.mk.
      
      Link: https://lkml.kernel.org/r/20220304000645.1888133-1-yosryahmed@google.com
      
      
      Signed-off-by: default avatarYosry Ahmed <yosryahmed@google.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1c4debc4
    • Joseph Qi's avatar
      ocfs2: fix crash when initialize filecheck kobj fails · 7b0b1332
      Joseph Qi authored
      Once s_root is set, genric_shutdown_super() will be called if
      fill_super() fails.  That means, we will call ocfs2_dismount_volume()
      twice in such case, which can lead to kernel crash.
      
      Fix this issue by initializing filecheck kobj before setting s_root.
      
      Link: https://lkml.kernel.org/r/20220310081930.86305-1-joseph.qi@linux.alibaba.com
      Fixes: 5f483c4a
      
       ("ocfs2: add kobject for online file check")
      Signed-off-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Changwei Ge <gechangwei@live.cn>
      Cc: Gang He <ghe@suse.com>
      Cc: Jun Piao <piaojun@huawei.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7b0b1332
    • Qian Cai's avatar
      configs/debug: restore DEBUG_INFO=y for overriding · 8208257d
      Qian Cai authored
      Previously, I failed to realize that Kees' patch [1] has not been merged
      into the mainline yet, and dropped DEBUG_INFO=y too eagerly from the
      mainline.  As the results, "make debug.config" won't be able to flip
      DEBUG_INFO=n from the existing .config.  This should close the gaps of a
      few weeks before Kees' patch is there, and work regardless of their
      merging status anyway.
      
      Link: https://lore.kernel.org/all/20220125075126.891825-1-keescook@chromium.org/ [1]
      Link: https://lkml.kernel.org/r/20220308153524.8618-1-quic_qiancai@quicinc.com
      
      
      Signed-off-by: default avatarQian Cai <quic_qiancai@quicinc.com>
      Reported-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Reviewed-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Cc: Kees Cook <keescook@chromium.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8208257d
    • Guo Ziliang's avatar
      mm: swap: get rid of livelock in swapin readahead · 029c4628
      Guo Ziliang authored
      In our testing, a livelock task was found.  Through sysrq printing, same
      stack was found every time, as follows:
      
        __swap_duplicate+0x58/0x1a0
        swapcache_prepare+0x24/0x30
        __read_swap_cache_async+0xac/0x220
        read_swap_cache_async+0x58/0xa0
        swapin_readahead+0x24c/0x628
        do_swap_page+0x374/0x8a0
        __handle_mm_fault+0x598/0xd60
        handle_mm_fault+0x114/0x200
        do_page_fault+0x148/0x4d0
        do_translation_fault+0xb0/0xd4
        do_mem_abort+0x50/0xb0
      
      The reason for the livelock is that swapcache_prepare() always returns
      EEXIST, indicating that SWAP_HAS_CACHE has not been cleared, so that it
      cannot jump out of the loop.  We suspect that the task that clears the
      SWAP_HAS_CACHE flag never gets a chance to run.  We try to lower the
      priority of the task stuck in a livelock so that the task that clears
      the SWAP_HAS_CACHE flag will run.  The results show that the system
      returns to normal after the priority is lowered.
      
      In our testing, multiple real-time tasks are bound to the same core, and
      the task in the livelock is the highest priority task of the core, so
      the livelocked task cannot be preempted.
      
      Although cond_resched() is used by __read_swap_cache_async, it is an
      empty function in the preemptive system and cannot achieve the purpose
      of releasing the CPU.  A high-priority task cannot release the CPU
      unless preempted by a higher-priority task.  But when this task is
      already the highest priority task on this core, other tasks will not be
      able to be scheduled.  So we think we should replace cond_resched() with
      schedule_timeout_uninterruptible(1), schedule_timeout_interruptible will
      call set_current_state first to set the task state, so the task will be
      removed from the running queue, so as to achieve the purpose of giving
      up the CPU and prevent it from running in kernel mode for too long.
      
      (akpm: ugly hack becomes uglier.  But it fixes the issue in a
      backportable-to-stable fashion while we hopefully work on something
      better)
      
      Link: https://lkml.kernel.org/r/20220221111749.1928222-1-cgel.zte@gmail.com
      
      
      Signed-off-by: default avatarGuo Ziliang <guo.ziliang@zte.com.cn>
      Reported-by: default avatarZeal Robot <zealci@zte.com.cn>
      Reviewed-by: default avatarRan Xiaokai <ran.xiaokai@zte.com.cn>
      Reviewed-by: default avatarJiang Xuexin <jiang.xuexin@zte.com.cn>
      Reviewed-by: default avatarYang Yang <yang.yang29@zte.com.cn>
      Acked-by: default avatarHugh Dickins <hughd@google.com>
      Cc: Naoya Horiguchi <naoya.horiguchi@nec.com>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Roger Quadros <rogerq@kernel.org>
      Cc: Ziliang Guo <guo.ziliang@zte.com.cn>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      029c4628
    • Ivan Vecera's avatar
      iavf: Fix hang during reboot/shutdown · b04683ff
      Ivan Vecera authored
      Recent commit 97457801 ("iavf: Add waiting so the port is
      initialized in remove") adds a wait-loop at the beginning of
      iavf_remove() to ensure that port initialization is finished
      prior unregistering net device. This causes a regression
      in reboot/shutdown scenario because in this case callback
      iavf_shutdown() is called and this callback detaches the device,
      makes it down if it is running and sets its state to __IAVF_REMOVE.
      Later shutdown callback of associated PF driver (e.g. ice_shutdown)
      is called. That callback calls among other things sriov_disable()
      that calls indirectly iavf_remove() (see stack trace below).
      As the adapter state is already __IAVF_REMOVE then the mentioned
      loop is end-less and shutdown process hangs.
      
      The patch fixes this by checking adapter's state at the beginning
      of iavf_remove() and skips the rest of the function if the adapter
      is already in remove state (shutdown is in progress).
      
      Reproducer:
      1. Create VF on PF driven by ice or i40e driver
      2. Ensure that the VF is bound to iavf driver
      3. Reboot
      
      [52625.981294] sysrq: SysRq : Show Blocked State
      [52625.988377] task:reboot          state:D stack:    0 pid:17359 ppid:     1 f2
      [52625.996732] Call Trace:
      [52625.999187]  __schedule+0x2d1/0x830
      [52626.007400]  schedule+0x35/0xa0
      [52626.010545]  schedule_hrtimeout_range_clock+0x83/0x100
      [52626.020046]  usleep_range+0x5b/0x80
      [52626.023540]  iavf_remove+0x63/0x5b0 [iavf]
      [52626.027645]  pci_device_remove+0x3b/0xc0
      [52626.031572]  device_release_driver_internal+0x103/0x1f0
      [52626.036805]  pci_stop_bus_device+0x72/0xa0
      [52626.040904]  pci_stop_and_remove_bus_device+0xe/0x20
      [52626.045870]  pci_iov_remove_virtfn+0xba/0x120
      [52626.050232]  sriov_disable+0x2f/0xe0
      [52626.053813]  ice_free_vfs+0x7c/0x340 [ice]
      [52626.057946]  ice_remove+0x220/0x240 [ice]
      [52626.061967]  ice_shutdown+0x16/0x50 [ice]
      [52626.065987]  pci_device_shutdown+0x34/0x60
      [52626.070086]  device_shutdown+0x165/0x1c5
      [52626.074011]  kernel_restart+0xe/0x30
      [52626.077593]  __do_sys_reboot+0x1d2/0x210
      [52626.093815]  do_syscall_64+0x5b/0x1a0
      [52626.097483]  entry_SYSCALL_64_after_hwframe+0x65/0xca
      
      Fixes: 97457801
      
       ("iavf: Add waiting so the port is initialized in remove")
      Signed-off-by: default avatarIvan Vecera <ivecera@redhat.com>
      Link: https://lore.kernel.org/r/20220317104524.2802848-1-ivecera@redhat.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b04683ff
    • Vladimir Oltean's avatar
      net: mscc: ocelot: fix backwards compatibility with single-chain tc-flower offload · 8e0341ae
      Vladimir Oltean authored
      ACL rules can be offloaded to VCAP IS2 either through chain 0, or, since
      the blamed commit, through a chain index whose number encodes a specific
      PAG (Policy Action Group) and lookup number.
      
      The chain number is translated through ocelot_chain_to_pag() into a PAG,
      and through ocelot_chain_to_lookup() into a lookup number.
      
      The problem with the blamed commit is that the above 2 functions don't
      have special treatment for chain 0. So ocelot_chain_to_pag(0) returns
      filter->pag = 224, which is in fact -32, but the "pag" field is an u8.
      
      So we end up programming the hardware with VCAP IS2 entries having a PAG
      of 224. But the way in which the PAG works is that it defines a subset
      of VCAP IS2 filters which should match on a packet. The default PAG is
      0, and previous VCAP IS1 rules (which we offload using 'goto') can
      modify it. So basically, we are installing filters with a PAG on which
      no packet will ever match. This is the hardware equivalent of adding
      filters to a chain which has no 'goto' to it.
      
      Restore the previous functionality by making ACL filters offloaded to
      chain 0 go to PAG 0 and lookup number 0. The choice of PAG is clearly
      correct, but the choice of lookup number isn't "as before" (which was to
      leave the lookup a "don't care"). However, lookup 0 should be fine,
      since even though there are ACL actions (policers) which have a
      requirement to be used in a specific lookup, that lookup is 0.
      
      Fixes: 226e9cd8
      
       ("net: mscc: ocelot: only install TCAM entries into a specific lookup and PAG")
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Link: https://lore.kernel.org/r/20220316192117.2568261-1-vladimir.oltean@nxp.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8e0341ae
    • Doug Berger's avatar
      net: bcmgenet: skip invalid partial checksums · 0f643c88
      Doug Berger authored
      The RXCHK block will return a partial checksum of 0 if it encounters
      a problem while receiving a packet. Since a 1's complement sum can
      only produce this result if no bits are set in the received data
      stream it is fair to treat it as an invalid partial checksum and
      not pass it up the stack.
      
      Fixes: 81015539
      
       ("net: bcmgenet: use CHECKSUM_COMPLETE for NETIF_F_RXCSUM")
      Signed-off-by: default avatarDoug Berger <opendmb@gmail.com>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Link: https://lore.kernel.org/r/20220317012812.1313196-1-opendmb@gmail.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      0f643c88
    • Manish Chopra's avatar
      bnx2x: fix built-in kernel driver load failure · 424e7834
      Manish Chopra authored
      Commit b7a49f73 ("bnx2x: Utilize firmware 7.13.21.0")
      added request_firmware() logic in probe() which caused
      load failure when firmware file is not present in initrd (below),
      as access to firmware file is not feasible during probe.
      
        Direct firmware load for bnx2x/bnx2x-e2-7.13.15.0.fw failed with error -2
        Direct firmware load for bnx2x/bnx2x-e2-7.13.21.0.fw failed with error -2
      
      This patch fixes this issue by -
      
      1. Removing request_firmware() logic from the probe()
         such that .ndo_open() handle it as it used to handle
         it earlier
      
      2. Given request_firmware() is removed from probe(), so
         driver has to relax FW version comparisons a bit against
         the already loaded FW version (by some other PFs of same
         adapter) to allow different compatible/close enough FWs with which
         multiple PFs may run with (in different environments), as the
         given PF who is in probe flow has no idea now with which firmware
         file version it is going to initialize the device in ndo_open()
      
      Link: https://lore.kernel.org/all/46f2d9d9-ae7f-b332-ddeb-b59802be2bab@molgen.mpg.de/
      
      
      Reported-by: default avatarPaul Menzel <pmenzel@molgen.mpg.de>
      Tested-by: default avatarPaul Menzel <pmenzel@molgen.mpg.de>
      Fixes: b7a49f73
      
       ("bnx2x: Utilize firmware 7.13.21.0")
      Signed-off-by: default avatarManish Chopra <manishc@marvell.com>
      Signed-off-by: default avatarAriel Elior <aelior@marvell.com>
      Link: https://lore.kernel.org/r/20220316214613.6884-1-manishc@marvell.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      424e7834
    • Juerg Haefliger's avatar
      net: phy: mscc: Add MODULE_FIRMWARE macros · f1858c27
      Juerg Haefliger authored
      The driver requires firmware so define MODULE_FIRMWARE so that modinfo
      provides the details.
      
      Fixes: fa164e40
      
       ("net: phy: mscc: split the driver into separate files")
      Signed-off-by: default avatarJuerg Haefliger <juergh@canonical.com>
      Link: https://lore.kernel.org/r/20220316151835.88765-1-juergh@canonical.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f1858c27
  3. Mar 17, 2022
  4. Mar 16, 2022
  5. Mar 15, 2022
    • 蒋家盛's avatar
      atm: eni: Add check for dma_map_single · 0f74b29a
      蒋家盛 authored
      As the potential failure of the dma_map_single(),
      it should be better to check it and return error
      if fails.
      
      Fixes: 1da177e4
      
       ("Linux-2.6.12-rc2")
      Signed-off-by: default avatarJiasheng Jiang <jiasheng@iscas.ac.cn>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0f74b29a
    • Eric Dumazet's avatar
      net/packet: fix slab-out-of-bounds access in packet_recvmsg() · c700525f
      Eric Dumazet authored
      syzbot found that when an AF_PACKET socket is using PACKET_COPY_THRESH
      and mmap operations, tpacket_rcv() is queueing skbs with
      garbage in skb->cb[], triggering a too big copy [1]
      
      Presumably, users of af_packet using mmap() already gets correct
      metadata from the mapped buffer, we can simply make sure
      to clear 12 bytes that might be copied to user space later.
      
      BUG: KASAN: stack-out-of-bounds in memcpy include/linux/fortify-string.h:225 [inline]
      BUG: KASAN: stack-out-of-bounds in packet_recvmsg+0x56c/0x1150 net/packet/af_packet.c:3489
      Write of size 165 at addr ffffc9000385fb78 by task syz-executor233/3631
      
      CPU: 0 PID: 3631 Comm: syz-executor233 Not tainted 5.17.0-rc7-syzkaller-02396-g0b3660695e80 #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      Call Trace:
       <TASK>
       __dump_stack lib/dump_stack.c:88 [inline]
       dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106
       print_address_description.constprop.0.cold+0xf/0x336 mm/kasan/report.c:255
       __kasan_report mm/kasan/report.c:442 [inline]
       kasan_report.cold+0x83/0xdf mm/kasan/report.c:459
       check_region_inline mm/kasan/generic.c:183 [inline]
       kasan_check_range+0x13d/0x180 mm/kasan/generic.c:189
       memcpy+0x39/0x60 mm/kasan/shadow.c:66
       memcpy include/linux/fortify-string.h:225 [inline]
       packet_recvmsg+0x56c/0x1150 net/packet/af_packet.c:3489
       sock_recvmsg_nosec net/socket.c:948 [inline]
       sock_recvmsg net/socket.c:966 [inline]
       sock_recvmsg net/socket.c:962 [inline]
       ____sys_recvmsg+0x2c4/0x600 net/socket.c:2632
       ___sys_recvmsg+0x127/0x200 net/socket.c:2674
       __sys_recvmsg+0xe2/0x1a0 net/socket.c:2704
       do_syscall_x64 arch/x86/entry/common.c:50 [inline]
       do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
       entry_SYSCALL_64_after_hwframe+0x44/0xae
      RIP: 0033:0x7fdfd5954c29
      Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 41 15 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
      RSP: 002b:00007ffcf8e71e48 EFLAGS: 00000246 ORIG_RAX: 000000000000002f
      RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007fdfd5954c29
      RDX: 0000000000000000 RSI: 0000000020000500 RDI: 0000000000000005
      RBP: 0000000000000000 R08: 000000000000000d R09: 000000000000000d
      R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffcf8e71e60
      R13: 00000000000f4240 R14: 000000000000c1ff R15: 00007ffcf8e71e54
       </TASK>
      
      addr ffffc9000385fb78 is located in stack of task syz-executor233/3631 at offset 32 in frame:
       ____sys_recvmsg+0x0/0x600 include/linux/uio.h:246
      
      this frame has 1 object:
       [32, 160) 'addr'
      
      Memory state around the buggy address:
       ffffc9000385fa80: 00 04 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00 00
       ffffc9000385fb00: 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00
      >ffffc9000385fb80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f3
                                                                      ^
       ffffc9000385fc00: f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 f1
       ffffc9000385fc80: f1 f1 f1 00 f2 f2 f2 00 f2 f2 f2 00 00 00 00 00
      ==================================================================
      
      Fixes: 0fb375fb
      
       ("[AF_PACKET]: Allow for > 8 byte hardware addresses.")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Link: https://lore.kernel.org/r/20220312232958.3535620-1-eric.dumazet@gmail.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c700525f
    • Michael Walle's avatar
      net: mdio: mscc-miim: fix duplicate debugfs entry · 0f8946ae
      Michael Walle authored
      This driver can have up to two regmaps. If the second one is registered
      its debugfs entry will have the same name as the first one and the
      following error will be printed:
      
      [    3.833521] debugfs: Directory 'e200413c.mdio' with parent 'regmap' already present!
      
      Give the second regmap a name to avoid this.
      
      Fixes: a27a7628
      
       ("net: mdio: mscc-miim: convert to a regmap implementation")
      Signed-off-by: default avatarMichael Walle <michael@walle.cc>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Link: https://lore.kernel.org/r/20220312224140.4173930-1-michael@walle.cc
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      0f8946ae
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf · 15d70392
      Jakub Kicinski authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter fixes for net
      
      The following patchset contains Netfilter fixes for net coming late
      in the 5.17-rc process:
      
      1) Revert port remap to mitigate shadowing service ports, this is causing
         problems in existing setups and this mitigation can be achieved with
         explicit ruleset, eg.
      
      	... tcp sport < 16386 tcp dport >= 32768 masquerade random
      
        This patches provided a built-in policy similar to the one described above.
      
      2) Disable register tracking infrastructure in nf_tables. Florian reported
         two issues:
      
         - Existing expressions with no implemented .reduce interface
           that causes data-store on register should cancel the tracking.
         - Register clobbering might be possible storing data on registers that
           are larger than 32-bits.
      
         This might lead to generating incorrect ruleset bytecode. These two
         issues are scheduled to be addressed in the next release cycle.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:
        netfilter: nf_tables: disable register tracking
        Revert "netfilter: conntrack: tag conntracks picked up in local out hook"
        Revert "netfilter: nat: force port remap to prevent shadowing well-known ports"
      ====================
      
      Link: https://lore.kernel.org/r/20220312220315.64531-1-pablo@netfilter.org
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      15d70392
    • Kurt Cancemi's avatar
      net: phy: marvell: Fix invalid comparison in the resume and suspend functions · 837d9e49
      Kurt Cancemi authored
      This bug resulted in only the current mode being resumed and suspended when
      the PHY supported both fiber and copper modes and when the PHY only supported
      copper mode the fiber mode would incorrectly be attempted to be resumed and
      suspended.
      
      Fixes: 3758be3d
      
       ("Marvell phy: add functions to suspend and resume both interfaces: fiber and copper links.")
      Signed-off-by: default avatarKurt Cancemi <kurt@x64architecture.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Link: https://lore.kernel.org/r/20220312201512.326047-1-kurt@x64architecture.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      837d9e49
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 6665ca15
      Linus Torvalds authored
      Pull virtio fix from Michael Tsirkin:
       "A last minute regression fix.
      
        I thought we did a lot of testing, but a regression still managed to
        sneak in. The fix seems trivial"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        vhost: allow batching hint without size
      6665ca15
  6. Mar 14, 2022
    • Sabrina Dubroca's avatar
      esp6: fix check on ipv6_skip_exthdr's return value · 4db4075f
      Sabrina Dubroca authored
      Commit 5f9c55c8 ("ipv6: check return value of ipv6_skip_exthdr")
      introduced an incorrect check, which leads to all ESP packets over
      either TCPv6 or UDPv6 encapsulation being dropped. In this particular
      case, offset is negative, since skb->data points to the ESP header in
      the following chain of headers, while skb->network_header points to
      the IPv6 header:
      
          IPv6 | ext | ... | ext | UDP | ESP | ...
      
      That doesn't seem to be a problem, especially considering that if we
      reach esp6_input_done2, we're guaranteed to have a full set of headers
      available (otherwise the packet would have been dropped earlier in the
      stack). However, it means that the return value will (intentionally)
      be negative. We can make the test more specific, as the expected
      return value of ipv6_skip_exthdr will be the (negated) size of either
      a UDP header, or a TCP header with possible options.
      
      In the future, we should probably either make ipv6_skip_exthdr
      explicitly accept negative offsets (and adjust its return value for
      error cases), or make ipv6_skip_exthdr only take non-negative
      offsets (and audit all callers).
      
      Fixes: 5f9c55c8
      
       ("ipv6: check return value of ipv6_skip_exthdr")
      Reported-by: default avatarXiumei Mu <xmu@redhat.com>
      Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
      Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
      4db4075f