1. 05 Dec, 2020 4 commits
    • Stephen Suryaputra's avatar
      vrf: packets with lladdr src needs dst at input with orig_iif when needs strict · 205704c6
      Stephen Suryaputra authored
      Depending on the order of the routes to fe80::/64 are installed on the
      VRF table, the NS for the source link-local address of the originator
      might be sent to the wrong interface.
      
      This patch ensures that packets with link-local addr source is doing a
      lookup with the orig_iif when the destination addr indicates that it
      is strict.
      
      Add the reproducer as a use case in self test script fcnal-test.sh.
      
      Fixes: b4869aa2 ("net: vrf: ipv6 support for local traffic to local addresses")
      Signed-off-by: default avatarStephen Suryaputra <ssuryaextr@gmail.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://lore.kernel.org/r/20201204030604.18828-1-ssuryaextr@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      205704c6
    • Zhang Qilong's avatar
      can: softing: softing_netdev_open(): fix error handling · 4d1be581
      Zhang Qilong authored
      If softing_netdev_open() fails, we should call close_candev() to avoid
      reference leak.
      
      Fixes: 03fd3cf5 ("can: add driver for Softing card")
      Signed-off-by: default avatarZhang Qilong <zhangqilong3@huawei.com>
      Acked-by: default avatarKurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
      Link: https://lore.kernel.org/r/20201202151632.1343786-1-zhangqilong3@huawei.comSigned-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
      Link: https://lore.kernel.org/r/20201204133508.742120-2-mkl@pengutronix.deSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      4d1be581
    • Arnd Bergmann's avatar
      ch_ktls: fix build warning for ipv4-only config · a54ba346
      Arnd Bergmann authored
      When CONFIG_IPV6 is disabled, clang complains that a variable
      is uninitialized for non-IPv4 data:
      
      drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c:1046:6: error: variable 'cntrl1' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
              if (tx_info->ip_family == AF_INET) {
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c:1059:2: note: uninitialized use occurs here
              cntrl1 |= T6_TXPKT_ETHHDR_LEN_V(maclen - ETH_HLEN) |
              ^~~~~~
      
      Replace the preprocessor conditional with the corresponding C version,
      and make the ipv4 case unconditional in this configuration to improve
      readability and avoid the warning.
      
      Fixes: 86716b51 ("ch_ktls: Update cheksum information")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Link: https://lore.kernel.org/r/20201203222641.964234-1-arnd@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a54ba346
    • Eric Dumazet's avatar
      mac80211: mesh: fix mesh_pathtbl_init() error path · 905b2032
      Eric Dumazet authored
      If tbl_mpp can not be allocated, we call mesh_table_free(tbl_path)
      while tbl_path rhashtable has not yet been initialized, which causes
      panics.
      
      Simply factorize the rhashtable_init() call into mesh_table_alloc()
      
      WARNING: CPU: 1 PID: 8474 at kernel/workqueue.c:3040 __flush_work kernel/workqueue.c:3040 [inline]
      WARNING: CPU: 1 PID: 8474 at kernel/workqueue.c:3040 __cancel_work_timer+0x514/0x540 kernel/workqueue.c:3136
      Modules linked in:
      CPU: 1 PID: 8474 Comm: syz-executor663 Not tainted 5.10.0-rc6-syzkaller #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      RIP: 0010:__flush_work kernel/workqueue.c:3040 [inline]
      RIP: 0010:__cancel_work_timer+0x514/0x540 kernel/workqueue.c:3136
      Code: 5d c3 e8 bf ae 29 00 0f 0b e9 f0 fd ff ff e8 b3 ae 29 00 0f 0b 43 80 3c 3e 00 0f 85 31 ff ff ff e9 34 ff ff ff e8 9c ae 29 00 <0f> 0b e9 dc fe ff ff 89 e9 80 e1 07 80 c1 03 38 c1 0f 8c 7d fd ff
      RSP: 0018:ffffc9000165f5a0 EFLAGS: 00010293
      RAX: ffffffff814b7064 RBX: 0000000000000001 RCX: ffff888021c80000
      RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
      RBP: ffff888024039ca0 R08: dffffc0000000000 R09: fffffbfff1dd3e64
      R10: fffffbfff1dd3e64 R11: 0000000000000000 R12: 1ffff920002cbebd
      R13: ffff888024039c88 R14: 1ffff11004807391 R15: dffffc0000000000
      FS:  0000000001347880(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000020000140 CR3: 000000002cc0a000 CR4: 00000000001506e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
       rhashtable_free_and_destroy+0x25/0x9c0 lib/rhashtable.c:1137
       mesh_table_free net/mac80211/mesh_pathtbl.c:69 [inline]
       mesh_pathtbl_init+0x287/0x2e0 net/mac80211/mesh_pathtbl.c:785
       ieee80211_mesh_init_sdata+0x2ee/0x530 net/mac80211/mesh.c:1591
       ieee80211_setup_sdata+0x733/0xc40 net/mac80211/iface.c:1569
       ieee80211_if_add+0xd5c/0x1cd0 net/mac80211/iface.c:1987
       ieee80211_add_iface+0x59/0x130 net/mac80211/cfg.c:125
       rdev_add_virtual_intf net/wireless/rdev-ops.h:45 [inline]
       nl80211_new_interface+0x563/0xb40 net/wireless/nl80211.c:3855
       genl_family_rcv_msg_doit net/netlink/genetlink.c:739 [inline]
       genl_family_rcv_msg net/netlink/genetlink.c:783 [inline]
       genl_rcv_msg+0xe4e/0x1280 net/netlink/genetlink.c:800
       netlink_rcv_skb+0x190/0x3a0 net/netlink/af_netlink.c:2494
       genl_rcv+0x24/0x40 net/netlink/genetlink.c:811
       netlink_unicast_kernel net/netlink/af_netlink.c:1304 [inline]
       netlink_unicast+0x780/0x930 net/netlink/af_netlink.c:1330
       netlink_sendmsg+0x9a8/0xd40 net/netlink/af_netlink.c:1919
       sock_sendmsg_nosec net/socket.c:651 [inline]
       sock_sendmsg net/socket.c:671 [inline]
       ____sys_sendmsg+0x519/0x800 net/socket.c:2353
       ___sys_sendmsg net/socket.c:2407 [inline]
       __sys_sendmsg+0x2b1/0x360 net/socket.c:2440
       do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
       entry_SYSCALL_64_after_hwframe+0x44/0xa9
      
      Fixes: 60854fd9 ("mac80211: mesh: convert path table to rhashtable")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Reviewed-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Link: https://lore.kernel.org/r/20201204162428.2583119-1-eric.dumazet@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      905b2032
  2. 04 Dec, 2020 10 commits
  3. 03 Dec, 2020 23 commits
  4. 02 Dec, 2020 3 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 3bb61aa6
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "I'm sad to say that we've got an unusually large arm64 fixes pull for
        rc7 which addresses numerous significant instrumentation issues with
        our entry code.
      
        Without these patches, lockdep is hopelessly unreliable in some
        configurations [1,2] and syzkaller is therefore not a lot of use
        because it's so noisy.
      
        Although much of this has always been broken, it appears to have been
        exposed more readily by other changes such as 044d0d6d ("lockdep:
        Only trace IRQ edges") and general lockdep improvements around IRQ
        tracing and NMIs.
      
        Fixing this properly required moving much of the instrumentation hooks
        from our entry assembly into C, which Mark has been working on for the
        last few weeks. We're not quite ready to move to the recently added
        generic functions yet, but the code here has been deliberately written
        to mimic that closely so we can look at cleaning things up once we
        have a bit more breathing room.
      
        Having said all that, the second version of these patches was posted
        last week and I pushed it into our CI (kernelci and cki) along with a
        commit which forced on PROVE_LOCKING, NOHZ_FULL and
        CONTEXT_TRACKING_FORCE. The result? We found a real bug in the
        md/raid10 code [3].
      
        Oh, and there's also a really silly typo patch that's unrelated.
      
        Summary:
      
         - Fix numerous issues with instrumentation and exception entry
      
         - Fix hideous typo in unused register field definition"
      
      [1] https://lore.kernel.org/r/CACT4Y+aAzoJ48Mh1wNYD17pJqyEcDnrxGfApir=-j171TnQXhw@mail.gmail.com
      [2] https://lore.kernel.org/r/20201119193819.GA2601289@elver.google.com
      [3] https://lore.kernel.org/r/94c76d5e-466a-bc5f-e6c2-a11b65c39f83@redhat.com
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mte: Fix typo in macro definition
        arm64: entry: fix EL1 debug transitions
        arm64: entry: fix NMI {user, kernel}->kernel transitions
        arm64: entry: fix non-NMI kernel<->kernel transitions
        arm64: ptrace: prepare for EL1 irq/rcu tracking
        arm64: entry: fix non-NMI user<->kernel transitions
        arm64: entry: move el1 irq/nmi logic to C
        arm64: entry: prepare ret_to_user for function call
        arm64: entry: move enter_from_user_mode to entry-common.c
        arm64: entry: mark entry code as noinstr
        arm64: mark idle code as noinstr
        arm64: syscall: exit userspace before unmasking exceptions
      3bb61aa6
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 2c6ffa9e
      Linus Torvalds authored
      Pull vdpa fixes from Michael Tsirkin:
       "A couple of fixes that surfaced at the last minute"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        vhost_vdpa: return -EFAULT if copy_to_user() fails
        vdpa: mlx5: fix vdpa/vhost dependencies
      2c6ffa9e
    • Linus Torvalds's avatar
      Merge tag 'sound-5.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · bb95d607
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Here are the pending sound fixes for 5.10: all small device-specific
        fixes, and nothing particular stands out, so far"
      
      * tag 'sound-5.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model
        ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14
        ALSA: hda/generic: Add option to enforce preferred_dacs pairs
        ALSA: usb-audio: US16x08: fix value count for level meters
        ALSA: hda/realtek - Add new codec supported for ALC897
        ASoC: rt5682: change SAR voltage threshold
        ASoC: wm_adsp: fix error return code in wm_adsp_load()
        ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294
        ASoC: qcom: Fix enabling BCLK and LRCLK in LPAIF invalid state
        ALSA: hda/realtek - Fixed Dell AIO wrong sound tone
        ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks
      bb95d607