Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux 5.18.6 #159

Closed
wants to merge 10,000 commits into from
Closed

Linux 5.18.6 #159

wants to merge 10,000 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jun 14, 2022

  1. drm/amd/pm: fix a potential gpu_metrics_table memory leak

    [ Upstream commit d2f4460 ]
    
    gpu_metrics_table is allocated in yellow_carp_init_smc_tables() but
    not freed in yellow_carp_fini_smc_tables().
    
    Signed-off-by: Gong Yuanjun <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    AnnYugawa authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    359bdb1 View commit details
    Browse the repository at this point in the history
  2. drm/amd/pm: Fix missing thermal throttler status

    [ Upstream commit b0f4d66 ]
    
    On aldebaran, when thermal throttling happens due to excessive GPU
    temperature, the reason for throttling event is missed in warning
    message. This patch fixes it.
    
    Signed-off-by: Lijo Lazar <[email protected]>
    Reviewed-by: Yang Wang <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Lijo Lazar authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    1712b06 View commit details
    Browse the repository at this point in the history
  3. drm/amd/pm: correct the metrics version for SMU 11.0.11/12/13

    [ Upstream commit 396beb9 ]
    
    Correct the metrics version used for SMU 11.0.11/12/13.
    Fixes misreported GPU metrics (e.g., fan speed, etc.) depending
    on which version of SMU firmware is loaded.
    
    Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1925
    Signed-off-by: Evan Quan <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Evan Quan authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    11b9a1e View commit details
    Browse the repository at this point in the history
  4. um: line: Use separate IRQs per line

    [ Upstream commit d5a9597 ]
    
    Today, all possible serial lines (ssl*=) as well as all
    possible consoles (con*=) each share a single interrupt
    (with a fixed number) with others of the same type.
    
    Now, if you have two lines, say ssl0 and ssl1, and one
    of them is connected to an fd you cannot read (e.g. a
    file), but the other gets a read interrupt, then both
    of them get the interrupt since it's shared. Then, the
    read() call will return EOF, since it's a file being
    written and there's nothing to read (at least not at
    the current offset, at the end).
    
    Unfortunately, this is treated as a read error, and we
    close this line, losing all the possible output.
    
    It might be possible to work around this and make the
    IRQ sharing work, however, now that we have dynamically
    allocated IRQs that are easy to use, simply use that to
    achieve separating between the events; then there's no
    interrupt for that line and we never attempt the read
    in the first place, thus not closing the line.
    
    This manifested itself in the wifi hostap/hwsim tests
    where the parallel script communicates via one serial
    console and the kernel messages go to another (a file)
    and sending data on the communication console caused
    the kernel messages to stop flowing into the file.
    
    Reported-by: Jouni Malinen <[email protected]>
    Signed-off-by: Johannes Berg <[email protected]>
    Acked-By: anton ivanov <[email protected]>
    Signed-off-by: Richard Weinberger <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    jmberg-intel authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    bf867a0 View commit details
    Browse the repository at this point in the history
  5. modpost: fix undefined behavior of is_arm_mapping_symbol()

    [ Upstream commit d6b7326 ]
    
    The return value of is_arm_mapping_symbol() is unpredictable when "$"
    is passed in.
    
    strchr(3) says:
      The strchr() and strrchr() functions return a pointer to the matched
      character or NULL if the character is not found. The terminating null
      byte is considered part of the string, so that if c is specified as
      '\0', these functions return a pointer to the terminator.
    
    When str[1] is '\0', strchr("axtd", str[1]) is not NULL, and str[2] is
    referenced (i.e. buffer overrun).
    
    Test code
    ---------
    
      char str1[] = "abc";
      char str2[] = "ab";
    
      strcpy(str1, "$");
      strcpy(str2, "$");
    
      printf("test1: %d\n", is_arm_mapping_symbol(str1));
      printf("test2: %d\n", is_arm_mapping_symbol(str2));
    
    Result
    ------
    
      test1: 0
      test2: 1
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    Reviewed-by: Nick Desaulniers <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    masahir0y authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    487dc59 View commit details
    Browse the repository at this point in the history
  6. objtool: Mark __ubsan_handle_builtin_unreachable() as noreturn

    [ Upstream commit 385bd43 ]
    
      fs/ntfs3/ntfs3.prelink.o: warning: objtool: ni_read_frame() falls through to next function ni_readpage_cmpr.cold()
    
    That is in fact:
    
    000000000000124a <ni_read_frame.cold>:
        124a:       44 89 e0                mov    %r12d,%eax
        124d:       0f b6 55 98             movzbl -0x68(%rbp),%edx
        1251:       48 c7 c7 00 00 00 00    mov    $0x0,%rdi        1254: R_X86_64_32S      .data+0x1380
        1258:       48 89 c6                mov    %rax,%rsi
        125b:       e8 00 00 00 00          call   1260 <ni_read_frame.cold+0x16>   125c: R_X86_64_PLT32    __ubsan_handle_shift_out_of_bounds-0x4
        1260:       48 8d 7d cc             lea    -0x34(%rbp),%rdi
        1264:       e8 00 00 00 00          call   1269 <ni_read_frame.cold+0x1f>   1265: R_X86_64_PLT32    __tsan_read4-0x4
        1269:       8b 45 cc                mov    -0x34(%rbp),%eax
        126c:       e9 00 00 00 00          jmp    1271 <ni_read_frame.cold+0x27>   126d: R_X86_64_PC32     .text+0x19109
        1271:       48 8b 75 a0             mov    -0x60(%rbp),%rsi
        1275:       48 63 d0                movslq %eax,%rdx
        1278:       48 c7 c7 00 00 00 00    mov    $0x0,%rdi        127b: R_X86_64_32S      .data+0x13a0
        127f:       89 45 88                mov    %eax,-0x78(%rbp)
        1282:       e8 00 00 00 00          call   1287 <ni_read_frame.cold+0x3d>   1283: R_X86_64_PLT32    __ubsan_handle_shift_out_of_bounds-0x4
        1287:       8b 45 88                mov    -0x78(%rbp),%eax
        128a:       e9 00 00 00 00          jmp    128f <ni_read_frame.cold+0x45>   128b: R_X86_64_PC32     .text+0x19098
        128f:       48 c7 c7 00 00 00 00    mov    $0x0,%rdi        1292: R_X86_64_32S      .data+0x11f0
        1296:       e8 00 00 00 00          call   129b <ni_readpage_cmpr.cold>     1297: R_X86_64_PLT32    __ubsan_handle_builtin_unreachable-0x4
    
    000000000000129b <ni_readpage_cmpr.cold>:
    
    Tell objtool that __ubsan_handle_builtin_unreachable() is a noreturn.
    
    Reported-by: kernel test robot <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Link: https://lkml.kernel.org/r/[email protected]
    Signed-off-by: Sasha Levin <[email protected]>
    Peter Zijlstra authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    b5cd416 View commit details
    Browse the repository at this point in the history
  7. x86/cpu: Elide KCSAN for cpu_has() and friends

    [ Upstream commit a6a5eb2 ]
    
    As x86 uses the <asm-generic/bitops/instrumented-*.h> headers, the
    regular forms of all bitops are instrumented with explicit calls to
    KASAN and KCSAN checks. As these are explicit calls, these are not
    suppressed by the noinstr function attribute.
    
    This can result in calls to those check functions in noinstr code, which
    objtool warns about:
    
    vmlinux.o: warning: objtool: enter_from_user_mode+0x24: call to __kcsan_check_access() leaves .noinstr.text section
    vmlinux.o: warning: objtool: syscall_enter_from_user_mode+0x28: call to __kcsan_check_access() leaves .noinstr.text section
    vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare+0x24: call to __kcsan_check_access() leaves .noinstr.text section
    vmlinux.o: warning: objtool: irqentry_enter_from_user_mode+0x24: call to __kcsan_check_access() leaves .noinstr.text section
    
    Prevent this by using the arch_*() bitops, which are the underlying
    bitops without explciit instrumentation.
    
    [null: Changelog]
    Reported-by: kernel test robot <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Link: https://lkml.kernel.org/r/[email protected]
    Signed-off-by: Sasha Levin <[email protected]>
    Peter Zijlstra authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    5ac122e View commit details
    Browse the repository at this point in the history
  8. jump_label,noinstr: Avoid instrumentation for JUMP_LABEL=n builds

    [ Upstream commit 656d054 ]
    
    When building x86_64 with JUMP_LABEL=n it's possible for
    instrumentation to sneak into noinstr:
    
    vmlinux.o: warning: objtool: exit_to_user_mode+0x14: call to static_key_count.constprop.0() leaves .noinstr.text section
    vmlinux.o: warning: objtool: syscall_exit_to_user_mode+0x2d: call to static_key_count.constprop.0() leaves .noinstr.text section
    vmlinux.o: warning: objtool: irqentry_exit_to_user_mode+0x1b: call to static_key_count.constprop.0() leaves .noinstr.text section
    
    Switch to arch_ prefixed atomic to avoid the explicit instrumentation.
    
    Reported-by: kernel test robot <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Peter Zijlstra authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    eee5b97 View commit details
    Browse the repository at this point in the history
  9. nbd: call genl_unregister_family() first in nbd_cleanup()

    [ Upstream commit 06c4da8 ]
    
    Otherwise there may be race between module removal and the handling of
    netlink command, which can lead to the oops as shown below:
    
      BUG: kernel NULL pointer dereference, address: 0000000000000098
      Oops: 0002 [#1] SMP PTI
      CPU: 1 PID: 31299 Comm: nbd-client Tainted: G            E     5.14.0-rc4
      Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)
      RIP: 0010:down_write+0x1a/0x50
      Call Trace:
       start_creating+0x89/0x130
       debugfs_create_dir+0x1b/0x130
       nbd_start_device+0x13d/0x390 [nbd]
       nbd_genl_connect+0x42f/0x748 [nbd]
       genl_family_rcv_msg_doit.isra.0+0xec/0x150
       genl_rcv_msg+0xe5/0x1e0
       netlink_rcv_skb+0x55/0x100
       genl_rcv+0x29/0x40
       netlink_unicast+0x1a8/0x250
       netlink_sendmsg+0x21b/0x430
       ____sys_sendmsg+0x2a4/0x2d0
       ___sys_sendmsg+0x81/0xc0
       __sys_sendmsg+0x62/0xb0
       __x64_sys_sendmsg+0x1f/0x30
       do_syscall_64+0x3b/0xc0
       entry_SYSCALL_64_after_hwframe+0x44/0xae
      Modules linked in: nbd(E-)
    
    Signed-off-by: Hou Tao <[email protected]>
    Signed-off-by: Yu Kuai <[email protected]>
    Reviewed-by: Josef Bacik <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Yu Kuai authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    3d5da1f View commit details
    Browse the repository at this point in the history
  10. nbd: fix race between nbd_alloc_config() and module removal

    [ Upstream commit c55b2b9 ]
    
    When nbd module is being removing, nbd_alloc_config() may be
    called concurrently by nbd_genl_connect(), although try_module_get()
    will return false, but nbd_alloc_config() doesn't handle it.
    
    The race may lead to the leak of nbd_config and its related
    resources (e.g, recv_workq) and oops in nbd_read_stat() due
    to the unload of nbd module as shown below:
    
      BUG: kernel NULL pointer dereference, address: 0000000000000040
      Oops: 0000 [#1] SMP PTI
      CPU: 5 PID: 13840 Comm: kworker/u17:33 Not tainted 5.14.0+ #1
      Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)
      Workqueue: knbd16-recv recv_work [nbd]
      RIP: 0010:nbd_read_stat.cold+0x130/0x1a4 [nbd]
      Call Trace:
       recv_work+0x3b/0xb0 [nbd]
       process_one_work+0x1ed/0x390
       worker_thread+0x4a/0x3d0
       kthread+0x12a/0x150
       ret_from_fork+0x22/0x30
    
    Fixing it by checking the return value of try_module_get()
    in nbd_alloc_config(). As nbd_alloc_config() may return ERR_PTR(-ENODEV),
    assign nbd->config only when nbd_alloc_config() succeeds to ensure
    the value of nbd->config is binary (valid or NULL).
    
    Also adding a debug message to check the reference counter
    of nbd_config during module removal.
    
    Signed-off-by: Hou Tao <[email protected]>
    Signed-off-by: Yu Kuai <[email protected]>
    Reviewed-by: Josef Bacik <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Yu Kuai authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    d095257 View commit details
    Browse the repository at this point in the history
  11. nbd: fix io hung while disconnecting device

    [ Upstream commit 09dadb5 ]
    
    In our tests, "qemu-nbd" triggers a io hung:
    
    INFO: task qemu-nbd:11445 blocked for more than 368 seconds.
          Not tainted 5.18.0-rc3-next-20220422-00003-g2176915513ca torvalds#884
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    task:qemu-nbd        state:D stack:    0 pid:11445 ppid:     1 flags:0x00000000
    Call Trace:
     <TASK>
     __schedule+0x480/0x1050
     ? _raw_spin_lock_irqsave+0x3e/0xb0
     schedule+0x9c/0x1b0
     blk_mq_freeze_queue_wait+0x9d/0xf0
     ? ipi_rseq+0x70/0x70
     blk_mq_freeze_queue+0x2b/0x40
     nbd_add_socket+0x6b/0x270 [nbd]
     nbd_ioctl+0x383/0x510 [nbd]
     blkdev_ioctl+0x18e/0x3e0
     __x64_sys_ioctl+0xac/0x120
     do_syscall_64+0x35/0x80
     entry_SYSCALL_64_after_hwframe+0x44/0xae
    RIP: 0033:0x7fd8ff706577
    RSP: 002b:00007fd8fcdfebf8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
    RAX: ffffffffffffffda RBX: 0000000040000000 RCX: 00007fd8ff706577
    RDX: 000000000000000d RSI: 000000000000ab00 RDI: 000000000000000f
    RBP: 000000000000000f R08: 000000000000fbe8 R09: 000055fe497c62b0
    R10: 00000002aff20000 R11: 0000000000000246 R12: 000000000000006d
    R13: 0000000000000000 R14: 00007ffe82dc5e70 R15: 00007fd8fcdff9c0
    
    "qemu-ndb -d" will call ioctl 'NBD_DISCONNECT' first, however, following
    message was found:
    
    block nbd0: Send disconnect failed -32
    
    Which indicate that something is wrong with the server. Then,
    "qemu-nbd -d" will call ioctl 'NBD_CLEAR_SOCK', however ioctl can't clear
    requests after commit 2516ab1("nbd: only clear the queue on device
    teardown"). And in the meantime, request can't complete through timeout
    because nbd_xmit_timeout() will always return 'BLK_EH_RESET_TIMER', which
    means such request will never be completed in this situation.
    
    Now that the flag 'NBD_CMD_INFLIGHT' can make sure requests won't
    complete multiple times, switch back to call nbd_clear_sock() in
    nbd_clear_sock_ioctl(), so that inflight requests can be cleared.
    
    Signed-off-by: Yu Kuai <[email protected]>
    Reviewed-by: Josef Bacik <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Yu Kuai authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    141318e View commit details
    Browse the repository at this point in the history
  12. Revert "PCI: brcmstb: Do not turn off WOL regulators on suspend"

    [ Upstream commit 7894025 ]
    
    This reverts commit 11ed8b8.
    
    This is part of a revert of the following commits:
    
      11ed8b8 ("PCI: brcmstb: Do not turn off WOL regulators on suspend")
      93e41f3 ("PCI: brcmstb: Add control of subdevice voltage regulators")
      67211aa ("PCI: brcmstb: Add mechanism to turn on subdev regulators")
      830aa6f ("PCI: brcmstb: Split brcm_pcie_setup() into two funcs")
    
    Cyril reported that 830aa6f ("PCI: brcmstb: Split brcm_pcie_setup()
    into two funcs"), which appeared in v5.17-rc1, broke booting on the
    Raspberry Pi Compute Module 4.  Apparently 830aa6f panics with an
    Asynchronous SError Interrupt, and after further commits here is a black
    screen on HDMI and no output on the serial console.
    
    This does not seem to affect the Raspberry Pi 4 B.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=215925
    Link: https://lore.kernel.org/r/[email protected]
    Reported-by: Cyril Brulebois <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    bjorn-helgaas authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    101bbb0 View commit details
    Browse the repository at this point in the history
  13. Revert "PCI: brcmstb: Add control of subdevice voltage regulators"

    [ Upstream commit 2129426 ]
    
    This reverts commit 93e41f3.
    
    This is part of a revert of the following commits:
    
      11ed8b8 ("PCI: brcmstb: Do not turn off WOL regulators on suspend")
      93e41f3 ("PCI: brcmstb: Add control of subdevice voltage regulators")
      67211aa ("PCI: brcmstb: Add mechanism to turn on subdev regulators")
      830aa6f ("PCI: brcmstb: Split brcm_pcie_setup() into two funcs")
    
    Cyril reported that 830aa6f ("PCI: brcmstb: Split brcm_pcie_setup()
    into two funcs"), which appeared in v5.17-rc1, broke booting on the
    Raspberry Pi Compute Module 4.  Apparently 830aa6f panics with an
    Asynchronous SError Interrupt, and after further commits here is a black
    screen on HDMI and no output on the serial console.
    
    This does not seem to affect the Raspberry Pi 4 B.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=215925
    Link: https://lore.kernel.org/r/[email protected]
    Reported-by: Cyril Brulebois <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    bjorn-helgaas authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    8ba46fe View commit details
    Browse the repository at this point in the history
  14. Revert "PCI: brcmstb: Add mechanism to turn on subdev regulators"

    [ Upstream commit 420be2f ]
    
    This reverts commit 67211aa.
    
    This is part of a revert of the following commits:
    
      11ed8b8 ("PCI: brcmstb: Do not turn off WOL regulators on suspend")
      93e41f3 ("PCI: brcmstb: Add control of subdevice voltage regulators")
      67211aa ("PCI: brcmstb: Add mechanism to turn on subdev regulators")
      830aa6f ("PCI: brcmstb: Split brcm_pcie_setup() into two funcs")
    
    Cyril reported that 830aa6f ("PCI: brcmstb: Split brcm_pcie_setup()
    into two funcs"), which appeared in v5.17-rc1, broke booting on the
    Raspberry Pi Compute Module 4.  Apparently 830aa6f panics with an
    Asynchronous SError Interrupt, and after further commits here is a black
    screen on HDMI and no output on the serial console.
    
    This does not seem to affect the Raspberry Pi 4 B.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=215925
    Link: https://lore.kernel.org/r/[email protected]
    Reported-by: Cyril Brulebois <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    bjorn-helgaas authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    8975fc6 View commit details
    Browse the repository at this point in the history
  15. Revert "PCI: brcmstb: Split brcm_pcie_setup() into two funcs"

    [ Upstream commit f4fd559 ]
    
    This reverts commit 830aa6f.
    
    This is part of a revert of the following commits:
    
      11ed8b8 ("PCI: brcmstb: Do not turn off WOL regulators on suspend")
      93e41f3 ("PCI: brcmstb: Add control of subdevice voltage regulators")
      67211aa ("PCI: brcmstb: Add mechanism to turn on subdev regulators")
      830aa6f ("PCI: brcmstb: Split brcm_pcie_setup() into two funcs")
    
    Cyril reported that 830aa6f ("PCI: brcmstb: Split brcm_pcie_setup()
    into two funcs"), which appeared in v5.17-rc1, broke booting on the
    Raspberry Pi Compute Module 4.  Apparently 830aa6f panics with an
    Asynchronous SError Interrupt, and after further commits here is a black
    screen on HDMI and no output on the serial console.
    
    This does not seem to affect the Raspberry Pi 4 B.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=215925
    Link: https://lore.kernel.org/r/[email protected]
    Reported-by: Cyril Brulebois <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    bjorn-helgaas authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    4fd49d9 View commit details
    Browse the repository at this point in the history
  16. cifs: fix potential deadlock in direct reclaim

    [ Upstream commit cc391b6 ]
    
    The srv_mutex is used during writeback so cifs should ensure that
    allocations done when that mutex is held are done with GFP_NOFS, to
    avoid having direct reclaim ending up waiting for the same mutex and
    causing a deadlock.  This is detected by lockdep with the splat below:
    
     ======================================================
     WARNING: possible circular locking dependency detected
     5.18.0 #70 Not tainted
     ------------------------------------------------------
     kswapd0/49 is trying to acquire lock:
     ffff8880195782e0 (&tcp_ses->srv_mutex){+.+.}-{3:3}, at: compound_send_recv
    
     but task is already holding lock:
     ffffffffa98e66c0 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat
    
     which lock already depends on the new lock.
    
     the existing dependency chain (in reverse order) is:
    
     -> #1 (fs_reclaim){+.+.}-{0:0}:
            fs_reclaim_acquire
            kmem_cache_alloc_trace
            __request_module
            crypto_alg_mod_lookup
            crypto_alloc_tfm_node
            crypto_alloc_shash
            cifs_alloc_hash
            smb311_crypto_shash_allocate
            smb311_update_preauth_hash
            compound_send_recv
            cifs_send_recv
            SMB2_negotiate
            smb2_negotiate
            cifs_negotiate_protocol
            cifs_get_smb_ses
            cifs_mount
            cifs_smb3_do_mount
            smb3_get_tree
            vfs_get_tree
            path_mount
            __x64_sys_mount
            do_syscall_64
            entry_SYSCALL_64_after_hwframe
    
     -> #0 (&tcp_ses->srv_mutex){+.+.}-{3:3}:
            __lock_acquire
            lock_acquire
            __mutex_lock
            mutex_lock_nested
            compound_send_recv
            cifs_send_recv
            SMB2_write
            smb2_sync_write
            cifs_write
            cifs_writepage_locked
            cifs_writepage
            shrink_page_list
            shrink_lruvec
            shrink_node
            balance_pgdat
            kswapd
            kthread
            ret_from_fork
    
     other info that might help us debug this:
    
      Possible unsafe locking scenario:
    
            CPU0                    CPU1
            ----                    ----
       lock(fs_reclaim);
                                    lock(&tcp_ses->srv_mutex);
                                    lock(fs_reclaim);
       lock(&tcp_ses->srv_mutex);
    
      *** DEADLOCK ***
    
     1 lock held by kswapd0/49:
      #0: ffffffffa98e66c0 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat
    
     stack backtrace:
     CPU: 2 PID: 49 Comm: kswapd0 Not tainted 5.18.0 #70
     Call Trace:
      <TASK>
      dump_stack_lvl
      dump_stack
      print_circular_bug.cold
      check_noncircular
      __lock_acquire
      lock_acquire
      __mutex_lock
      mutex_lock_nested
      compound_send_recv
      cifs_send_recv
      SMB2_write
      smb2_sync_write
      cifs_write
      cifs_writepage_locked
      cifs_writepage
      shrink_page_list
      shrink_lruvec
      shrink_node
      balance_pgdat
      kswapd
      kthread
      ret_from_fork
      </TASK>
    
    Fix this by using the memalloc_nofs_save/restore APIs around the places
    where the srv_mutex is held.  Do this in a wrapper function for the
    lock/unlock of the srv_mutex, and rename the srv_mutex to avoid missing
    call sites in the conversion.
    
    Note that there is another lockdep warning involving internal crypto
    locks, which was masked by this problem and is visible after this fix,
    see the discussion in this thread:
    
     https://lore.kernel.org/all/[email protected]/
    
    Link: https://lore.kernel.org/r/CANT5p=rqcYfYMVHirqvdnnca4Mo+JQSw5Qu12v=kPfpk5yhhmg@mail.gmail.com/
    Reported-by: Shyam Prasad N <[email protected]>
    Suggested-by: Lars Persson <[email protected]>
    Reviewed-by: Ronnie Sahlberg <[email protected]>
    Reviewed-by: Enzo Matsumiya <[email protected]>
    Signed-off-by: Vincent Whitchurch <[email protected]>
    Signed-off-by: Steve French <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    vwax authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    dfa95e7 View commit details
    Browse the repository at this point in the history
  17. s390/gmap: voluntarily schedule during key setting

    [ Upstream commit 6d59462 ]
    
    With large and many guest with storage keys it is possible to create
    large latencies or stalls during initial key setting:
    
    rcu: INFO: rcu_sched self-detected stall on CPU
    rcu:   18-....: (2099 ticks this GP) idle=54e/1/0x4000000000000002 softirq=35598716/35598716 fqs=998
           (t=2100 jiffies g=155867385 q=20879)
    Task dump for CPU 18:
    CPU 1/KVM       R  running task        0 1030947 256019 0x06000004
    Call Trace:
    sched_show_task
    rcu_dump_cpu_stacks
    rcu_sched_clock_irq
    update_process_times
    tick_sched_handle
    tick_sched_timer
    __hrtimer_run_queues
    hrtimer_interrupt
    do_IRQ
    ext_int_handler
    ptep_zap_key
    
    The mmap lock is held during the page walking but since this is a
    semaphore scheduling is still possible. Same for the kvm srcu.
    To minimize overhead do this on every segment table entry or large page.
    
    Signed-off-by: Christian Borntraeger <[email protected]>
    Reviewed-by: Alexander Gordeev <[email protected]>
    Reviewed-by: Claudio Imbrenda <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Christian Borntraeger <[email protected]>
    Signed-off-by: Heiko Carstens <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    borntraeger authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    bc748d5 View commit details
    Browse the repository at this point in the history
  18. cifs: version operations for smb20 unneeded when legacy support disabled

    [ Upstream commit 7ef93ff ]
    
    We should not be including unused smb20 specific code when legacy
    support is disabled (CONFIG_CIFS_ALLOW_INSECURE_LEGACY turned
    off).  For example smb2_operations and smb2_values aren't used
    in that case.  Over time we can move more and more SMB1/CIFS and SMB2.0
    code into the insecure legacy ifdefs
    
    Reviewed-by: Ronnie Sahlberg <[email protected]>
    Signed-off-by: Steve French <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Steve French authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    60f3f1c View commit details
    Browse the repository at this point in the history
  19. drm/amd/pm: use bitmap_{from,to}_arr32 where appropriate

    [ Upstream commit 525d651 ]
    
    The smu_v1X_0_set_allowed_mask() uses bitmap_copy() to convert
    bitmap to 32-bit array. This may be wrong due to endiannes issues.
    Fix it by switching to bitmap_{from,to}_arr32.
    
    CC: Alexander Gordeev <[email protected]>
    CC: Andy Shevchenko <[email protected]>
    CC: Christian Borntraeger <[email protected]>
    CC: Claudio Imbrenda <[email protected]>
    CC: David Hildenbrand <[email protected]>
    CC: Heiko Carstens <[email protected]>
    CC: Janosch Frank <[email protected]>
    CC: Rasmus Villemoes <[email protected]>
    CC: Sven Schnelle <[email protected]>
    CC: Vasily Gorbik <[email protected]>
    Signed-off-by: Yury Norov <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    YuryNorov authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    aa6bd4d View commit details
    Browse the repository at this point in the history
  20. nodemask: Fix return values to be unsigned

    [ Upstream commit 0dfe540 ]
    
    The nodemask routines had mixed return values that provided potentially
    signed return values that could never happen. This was leading to the
    compiler getting confusing about the range of possible return values
    (it was thinking things could be negative where they could not be). Fix
    all the nodemask routines that should be returning unsigned
    (or bool) values. Silences:
    
     mm/swapfile.c: In function ‘setup_swap_info’:
     mm/swapfile.c:2291:47: error: array subscript -1 is below array bounds of ‘struct plist_node[]’ [-Werror=array-bounds]
      2291 |                                 p->avail_lists[i].prio = 1;
           |                                 ~~~~~~~~~~~~~~^~~
     In file included from mm/swapfile.c:16:
     ./include/linux/swap.h:292:27: note: while referencing ‘avail_lists’
       292 |         struct plist_node avail_lists[]; /*
           |                           ^~~~~~~~~~~
    
    Reported-by: Christophe de Dinechin <[email protected]>
    Link: https://lore.kernel.org/lkml/[email protected]/
    Cc: Alexey Dobriyan <[email protected]>
    Cc: Yury Norov <[email protected]>
    Cc: Andy Shevchenko <[email protected]>
    Cc: Rasmus Villemoes <[email protected]>
    Cc: Andrew Morton <[email protected]>
    Cc: Zhen Lei <[email protected]>
    Signed-off-by: Kees Cook <[email protected]>
    Signed-off-by: Yury Norov <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    kees authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    69e14b7 View commit details
    Browse the repository at this point in the history
  21. scsi: lpfc: Correct BDE type for XMIT_SEQ64_WQE in lpfc_ct_reject_eve…

    …nt()
    
    [ Upstream commit 44ba978 ]
    
    A previous commit assumed all XMIT_SEQ64_WQEs are prepped with the correct
    BDE type in word 0-2.  However, lpfc_ct_reject_event() routine was missed
    and is still filling out the incorrect BDE type.
    
    Fix lpfc_ct_reject_event() routine so that type BUFF_TYPE_BDE_64 is set
    instead of BUFF_TYPE_BLP_64.
    
    Link: https://lore.kernel.org/r/[email protected]
    Fixes: 596fc8a ("scsi: lpfc: Fix dmabuf ptr assignment in lpfc_ct_reject_event()")
    Co-developed-by: Justin Tee <[email protected]>
    Signed-off-by: Justin Tee <[email protected]>
    Signed-off-by: James Smart <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    jsmart-gh authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    c2c915b View commit details
    Browse the repository at this point in the history
  22. vringh: Fix loop descriptors check in the indirect cases

    [ Upstream commit dbd29e0 ]
    
    We should use size of descriptor chain to test loop condition
    in the indirect case. And another statistical count is also introduced
    for indirect descriptors to avoid conflict with the statistical count
    of direct descriptors.
    
    Fixes: f87d0fb ("vringh: host-side implementation of virtio rings.")
    Signed-off-by: Xie Yongji <[email protected]>
    Signed-off-by: Fam Zheng <[email protected]>
    Message-Id: <[email protected]>
    Signed-off-by: Michael S. Tsirkin <[email protected]>
    Acked-by: Jason Wang <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    YongjiXie authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    8df021c View commit details
    Browse the repository at this point in the history
  23. platform/x86: barco-p50-gpio: Add check for platform_driver_register

    [ Upstream commit 011881b ]
    
    As platform_driver_register() could fail, it should be better
    to deal with the return value in order to maintain the code
    consisitency.
    
    Fixes: 86af1d0 ("platform/x86: Support for EC-connected GPIOs for identify LED/button on Barco P50 board")
    Signed-off-by: Jiasheng Jiang <[email protected]>
    Acked-by: Peter Korsgaard <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Hans de Goede <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    JiangJias authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    3cbbb2b View commit details
    Browse the repository at this point in the history
  24. scripts/gdb: change kernel config dumping method

    [ Upstream commit 1f7a6cf ]
    
    MAGIC_START("IKCFG_ST") and MAGIC_END("IKCFG_ED") are moved out
    from the kernel_config_data variable.
    
    Thus, we parse kernel_config_data directly instead of considering
    offset of MAGIC_START and MAGIC_END.
    
    Fixes: 13610aa ("kernel/configs: use .incbin directive to embed config_data.gz")
    Signed-off-by: Kuan-Ying Lee <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Kuan-Ying Lee authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    5894295 View commit details
    Browse the repository at this point in the history
  25. platform/x86: hp-wmi: Resolve WMI query failures on some devices

    [ Upstream commit dc6a6ab ]
    
    WMI queries fail on some devices where the ACPI method HWMC
    unconditionally attempts to create Fields beyond the buffer
    if the buffer is too small, this breaks essential features
    such as power profiles:
    
             CreateByteField (Arg1, 0x10, D008)
             CreateByteField (Arg1, 0x11, D009)
             CreateByteField (Arg1, 0x12, D010)
             CreateDWordField (Arg1, 0x10, D032)
             CreateField (Arg1, 0x80, 0x0400, D128)
    
    In cases where args->data had zero length, ACPI BIOS Error
    (bug): AE_AML_BUFFER_LIMIT, Field [D008] at bit
    offset/length 128/8 exceeds size of target Buffer (128 bits)
    (20211217/dsopcode-198) was obtained.
    
    ACPI BIOS Error (bug): AE_AML_BUFFER_LIMIT, Field [D009] at bit
    offset/length 136/8 exceeds size of target Buffer (136bits)
    (20211217/dsopcode-198)
    
    The original code created a buffer size of 128 bytes regardless if
    the WMI call required a smaller buffer or not.  This particular
    behavior occurs in older BIOS and reproduced in OMEN laptops.  Newer
    BIOS handles buffer sizes properly and meets the latest specification
    requirements.  This is the reason why testing with a dynamically
    allocated buffer did not uncover any failures with the test systems at
    hand.
    
    This patch was tested on several OMEN, Elite, and Zbooks.  It was
    confirmed the patch resolves HPWMI_FAN GET/SET calls in an OMEN
    Laptop 15-ek0xxx.  No problems were reported when testing on several Elite
    and Zbooks notebooks.
    
    Fixes: 4b4967c ("platform/x86: hp-wmi: Changing bios_args.data to be dynamically allocated")
    Signed-off-by: Jorge Lopez <[email protected]>
    Reviewed-by: Andy Shevchenko <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Hans de Goede <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Jorge Lopez authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    5233018 View commit details
    Browse the repository at this point in the history
  26. platform/x86: hp-wmi: Use zero insize parameter only when supported

    [ Upstream commit 65f936f ]
    
    commit be9d73e ("platform/x86: hp-wmi: Fix 0x05 error code reported by
    several WMI calls") and commit 12b19f1 ("platform/x86: hp-wmi: Fix
    hp_wmi_read_int() reporting error (0x05)") cause ACPI BIOS Error (bug):
    Attempt to CreateField of length zero (20211217/dsopcode-133) because of
    the ACPI method HWMC, which unconditionally creates a Field of
    size (insize*8) bits:
    	CreateField (Arg1, 0x80, (Local5 * 0x08), DAIN)
    In cases where args->insize = 0, the Field size is 0, resulting in
    an error.
    
    Fix this by using zero insize only if 0x5 error code is returned
    
    Tested on Omen 15 AMD (2020) board ID: 8786.
    
    Fixes: be9d73e ("platform/x86: hp-wmi: Fix 0x05 error code reported by several WMI calls")
    Signed-off-by: Bedant Patnaik <[email protected]>
    Tested-by: Jorge Lopez <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Hans de Goede <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    whyfu authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    f1b3c92 View commit details
    Browse the repository at this point in the history
  27. ALSA: usb-audio: Skip generic sync EP parse for secondary EP

    commit efb75df upstream.
    
    When ep_idx is already non-zero, it means usually a capture stream
    that is set up explicity by a fixed-format quirk, and applying the
    check for generic (non-implicit-fb) sync EPs might hit incorrectly,
    resulting in a bogus sync endpoint for the capture stream.
    
    This patch adds a check for the ep_idx and skip if it's a secondary
    endpoint.  It's a part of the fixes for regressions on Saffire 6.
    
    Fixes: 7b0efea ("ALSA: usb-audio: Add missing ep_idx in fixed EP quirks")
    Reported-and-tested-by: André Kapelrud <[email protected]>
    Cc: <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    tiwai authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    3682485 View commit details
    Browse the repository at this point in the history
  28. ALSA: usb-audio: Set up (implicit) sync for Saffire 6

    commit e0469d6 upstream.
    
    Focusrite Saffire 6 has fixed audioformat quirks with multiple
    endpoints assigned to a single altsetting.  Unfortunately the generic
    parser couldn't detect the sync endpoint correctly as the implicit
    sync due to the missing EP attribute bits.  In the former kernels, it
    used to work somehow casually, but it's been broken for a while after
    the large code change in 5.11.
    
    This patch cures the regression by the following:
    - Allow the static quirk table to provide the sync EP information;
      we just need to fill the fields and let the generic parser skipping
      parsing if sync_ep is already set.
    - Add the sync endpoint information to the entry for Saffire 6.
    
    Fixes: 7b0efea ("ALSA: usb-audio: Add missing ep_idx in fixed EP quirks")
    Reported-and-tested-by: André Kapelrud <[email protected]>
    Cc: <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    tiwai authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    bc68c6a View commit details
    Browse the repository at this point in the history
  29. ALSA: hda/conexant - Fix loopback issue with CX20632

    commit d5ea754 upstream.
    
    On a machine with CX20632, Alsamixer doesn't have 'Loopback
    Mixing' and 'Line'.
    
    Signed-off-by: huangwenhui <[email protected]>
    Cc: <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    hwithaheart authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    e0047ef View commit details
    Browse the repository at this point in the history
  30. ALSA: hda/realtek: Fix for quirk to enable speaker output on the Leno…

    …vo Yoga DuetITL 2021
    
    commit 85743a8 upstream.
    
    Enables the ALC287_FIXUP_YOGA7_14ITL_SPEAKERS quirk for the Lenovo
    Yoga DuetITL 2021 laptop to fix speaker output.
    
    [ re-sorted in the SSID order by tiwai ]
    
    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=208555
    Signed-off-by: Cameron Berkenpas <[email protected]>
    Co-authored-by: Songine <[email protected]>
    Cc: [email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    2 people authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    ab77a47 View commit details
    Browse the repository at this point in the history
  31. ALSA: hda/realtek: Add quirk for HP Dev One

    commit 5f3d696 upstream.
    
    Enables the audio mute LEDs and limits the mic boost to avoid picking up
    noise.
    
    Signed-off-by: Jeremy Soller <[email protected]>
    Signed-off-by: Tim Crawford <[email protected]>
    Cc: <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jackpot51 authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    7aabf07 View commit details
    Browse the repository at this point in the history
  32. cifs: return errors during session setup during reconnects

    commit 8ea2182 upstream.
    
    During reconnects, we check the return value from
    cifs_negotiate_protocol, and have handlers for both success
    and failures. But if that passes, and cifs_setup_session
    returns any errors other than -EACCES, we do not handle
    that. This fix adds a handler for that, so that we don't
    go ahead and try a tree_connect on a failed session.
    
    Signed-off-by: Shyam Prasad N <[email protected]>
    Reviewed-by: Enzo Matsumiya <[email protected]>
    Cc: [email protected]
    Signed-off-by: Steve French <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    sprasad-microsoft authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    e922b1d View commit details
    Browse the repository at this point in the history
  33. cifs: fix reconnect on smb3 mount types

    commit c36ee7d upstream.
    
    cifs.ko defines two file system types: cifs & smb3, and
    __cifs_get_super() was not including smb3 file system type when
    looking up superblocks, therefore failing to reconnect tcons in
    cifs_tree_connect().
    
    Fix this by calling iterate_supers_type() on both file system types.
    
    Link: https://lore.kernel.org/r/CAFrh3J9soC36+BVuwHB=g9z_KB5Og2+p2_W+BBoBOZveErz14w@mail.gmail.com
    Cc: [email protected]
    Tested-by: Satadru Pramanik <[email protected]>
    Reported-by: Satadru Pramanik <[email protected]>
    Signed-off-by: Paulo Alcantara (SUSE) <[email protected]>
    Signed-off-by: Steve French <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    pcacjr authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    6c841ad View commit details
    Browse the repository at this point in the history
  34. cifs: populate empty hostnames for extra channels

    commit 4c14d70 upstream.
    
    Currently, the secondary channels of a multichannel session
    also get hostname populated based on the info in primary channel.
    However, this will end up with a wrong resolution of hostname to
    IP address during reconnect.
    
    This change fixes this by not populating hostname info for all
    secondary channels.
    
    Fixes: 5112d80 ("cifs: populate server_hostname for extra channels")
    Cc: [email protected]
    Signed-off-by: Shyam Prasad N <[email protected]>
    Signed-off-by: Steve French <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    sprasad-microsoft authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    c190bf5 View commit details
    Browse the repository at this point in the history
  35. scsi: sd: Fix interpretation of VPD B9h length

    commit f92de9d upstream.
    
    Fixing the interpretation of the length of the B9h VPD page (Concurrent
    Positioning Ranges). Adding 4 is necessary as the first 4 bytes of the page
    is the header with page number and length information.  Adding 3 was likely
    a misinterpretation of the SBC-5 specification which sets all offsets
    starting at zero.
    
    This fixes the error in dmesg:
    
    [ 9.014456] sd 1:0:0:0: [sda] Invalid Concurrent Positioning Ranges VPD page
    
    Link: https://lore.kernel.org/r/[email protected]
    Fixes: e815d36 ("scsi: sd: add concurrent positioning ranges support")
    Cc: [email protected]
    Tested-by: Michael English <[email protected]>
    Reviewed-by: Muhammad Ahmad <[email protected]>
    Reviewed-by: Damien Le Moal <[email protected]>
    Reviewed-by: Hannes Reinecke <[email protected]>
    Signed-off-by: Tyler Erickson <[email protected]>
    Signed-off-by: Christoph Hellwig <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    vonericsen authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    e53f431 View commit details
    Browse the repository at this point in the history
  36. scsi: lpfc: Resolve some cleanup issues following abort path refactoring

    commit 24e1f05 upstream.
    
    Refactoring and consolidation of abort paths:
    
     - lpfc_sli4_abort_fcp_cmpl() and lpfc_sli_abort_fcp_cmpl() are combined
      into a single generic lpfc_sli_abort_fcp_cmpl() routine.  Thus, remove
      extraneous lpfc_sli4_abort_fcp_cmpl() prototype declaration.
    
     - lpfc_nvme_abort_fcreq_cmpl() abort completion routine is called with a
      mismatched argument type.  This may result in misleading log message
      content.  Update to the correct argument type of lpfc_iocbq instead of
      lpfc_wcqe_complete.  The lpfc_wcqe_complete should be derived from the
      lpfc_iocbq structure.
    
    Link: https://lore.kernel.org/r/[email protected]
    Fixes: 31a59f7 ("scsi: lpfc: SLI path split: Refactor Abort paths")
    Cc: <[email protected]> # v5.18
    Co-developed-by: Justin Tee <[email protected]>
    Signed-off-by: Justin Tee <[email protected]>
    Signed-off-by: James Smart <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jsmart-gh authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    dab4808 View commit details
    Browse the repository at this point in the history
  37. scsi: lpfc: Resolve some cleanup issues following SLI path refactoring

    commit e27f051 upstream.
    
    Following refactoring and consolidation in SLI processing, fix up some
    minor issues related to SLI path:
    
     - Correct the setting of LPFC_EXCHANGE_BUSY flag in response IOCB.
    
     - Fix some typographical errors.
    
     - Fix duplicate log messages.
    
    Link: https://lore.kernel.org/r/[email protected]
    Fixes: 1b64aa9 ("scsi: lpfc: SLI path split: Refactor fast and slow paths to native SLI4")
    Cc: <[email protected]> # v5.18
    Co-developed-by: Justin Tee <[email protected]>
    Signed-off-by: Justin Tee <[email protected]>
    Signed-off-by: James Smart <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jsmart-gh authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    4a5a226 View commit details
    Browse the repository at this point in the history
  38. scsi: lpfc: Address NULL pointer dereference after starget_to_rport()

    commit 6f808bd upstream.
    
    Calls to starget_to_rport() may return NULL.  Add check for NULL rport
    before dereference.
    
    Link: https://lore.kernel.org/r/[email protected]
    Fixes: bb21fc9 ("scsi: lpfc: Use fc_block_rport()")
    Cc: <[email protected]> # v5.18
    Co-developed-by: Justin Tee <[email protected]>
    Signed-off-by: Justin Tee <[email protected]>
    Signed-off-by: James Smart <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jsmart-gh authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    68fcff1 View commit details
    Browse the repository at this point in the history
  39. KVM: x86/mmu: Check every prev_roots in __kvm_mmu_free_obsolete_roots()

    commit cf4a869 upstream.
    
    When freeing obsolete previous roots, check prev_roots as intended, not
    the current root.
    
    Signed-off-by: Shaoqin Huang <[email protected]>
    Fixes: 527d5cd ("KVM: x86/mmu: Zap only obsolete roots if a root shadow page is zapped")
    Message-Id: <[email protected]>
    Cc: [email protected]
    Reviewed-by: Sean Christopherson <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    huangshaoqin authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    2609a0c View commit details
    Browse the repository at this point in the history
  40. KVM: SVM: fix tsc scaling cache logic

    commit 11d39e8 upstream.
    
    SVM uses a per-cpu variable to cache the current value of the
    tsc scaling multiplier msr on each cpu.
    
    Commit 1ab9287
    ("KVM: X86: Add vendor callbacks for writing the TSC multiplier")
    broke this caching logic.
    
    Refactor the code so that all TSC scaling multiplier writes go through
    a single function which checks and updates the cache.
    
    This fixes the following scenario:
    
    1. A CPU runs a guest with some tsc scaling ratio.
    
    2. New guest with different tsc scaling ratio starts on this CPU
       and terminates almost immediately.
    
       This ensures that the short running guest had set the tsc scaling ratio just
       once when it was set via KVM_SET_TSC_KHZ. Due to the bug,
       the per-cpu cache is not updated.
    
    3. The original guest continues to run, it doesn't restore the msr
       value back to its own value, because the cache matches,
       and thus continues to run with a wrong tsc scaling ratio.
    
    Fixes: 1ab9287 ("KVM: X86: Add vendor callbacks for writing the TSC multiplier")
    Signed-off-by: Maxim Levitsky <[email protected]>
    Message-Id: <[email protected]>
    Cc: [email protected]
    Signed-off-by: Paolo Bonzini <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Maxim Levitsky authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    d1021a1 View commit details
    Browse the repository at this point in the history
  41. filemap: Cache the value of vm_flags

    commit dcfa24b upstream.
    
    After we have unlocked the mmap_lock for I/O, the file is pinned, but
    the VMA is not.  Checking this flag after that can be a use-after-free.
    It's not a terribly interesting use-after-free as it can only read one
    bit, and it's used to decide whether to read 2MB or 4MB.  But it
    upsets the automated tools and it's generally bad practice anyway,
    so let's fix it.
    
    Reported-by: [email protected]
    Fixes: 4687fdb ("mm/filemap: Support VM_HUGEPAGE for file mappings")
    Cc: [email protected]
    Signed-off-by: Matthew Wilcox (Oracle) <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Matthew Wilcox (Oracle) authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    db58eef View commit details
    Browse the repository at this point in the history
  42. KEYS: trusted: tpm2: Fix migratable logic

    commit dda5384 upstream.
    
    When creating (sealing) a new trusted key, migratable
    trusted keys have the FIXED_TPM and FIXED_PARENT attributes
    set, and non-migratable keys don't. This is backwards, and
    also causes creation to fail when creating a migratable key
    under a migratable parent. (The TPM thinks you are trying to
    seal a non-migratable blob under a migratable parent.)
    
    The following simple patch fixes the logic, and has been
    tested for all four combinations of migratable and non-migratable
    trusted keys and parent storage keys. With this logic, you will
    get a proper failure if you try to create a non-migratable
    trusted key under a migratable parent storage key, and all other
    combinations work correctly.
    
    Cc: [email protected] # v5.13+
    Fixes: e5fb5d2 ("security: keys: trusted: Make sealed key properly interoperable")
    Signed-off-by: David Safford <[email protected]>
    Reviewed-by: Ahmad Fatoum <[email protected]>
    Reviewed-by: Jarkko Sakkinen <[email protected]>
    Signed-off-by: Jarkko Sakkinen <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    safforddr authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    361a0da View commit details
    Browse the repository at this point in the history
  43. libata: fix reading concurrent positioning ranges log

    commit c745dfc upstream.
    
    The concurrent positioning ranges log is not a fixed size and may depend
    on how many ranges are supported by the device. This patch uses the size
    reported in the GPL directory to determine the number of pages supported
    by the device before attempting to read this log page.
    
    This resolves this error from the dmesg output:
        ata6.00: Read log 0x47 page 0x00 failed, Emask 0x1
    
    Cc: [email protected]
    Fixes: fe22e1c ("libata: support concurrent positioning ranges log")
    Signed-off-by: Tyler Erickson <[email protected]>
    Reviewed-by: Muhammad Ahmad <[email protected]>
    Tested-by: Michael English <[email protected]>
    Signed-off-by: Damien Le Moal <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    vonericsen authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    2fff8da View commit details
    Browse the repository at this point in the history
  44. libata: fix translation of concurrent positioning ranges

    commit 6d11acd upstream.
    
    Fixing the page length in the SCSI translation for the concurrent
    positioning ranges VPD page. It was writing starting in offset 3
    rather than offset 2 where the MSB is supposed to start for
    the VPD page length.
    
    Cc: [email protected]
    Fixes: fe22e1c ("libata: support concurrent positioning ranges log")
    Signed-off-by: Tyler Erickson <[email protected]>
    Reviewed-by: Muhammad Ahmad <[email protected]>
    Tested-by: Michael English <[email protected]>
    Reviewed-by: Hannes Reinecke <[email protected]>
    Signed-off-by: Damien Le Moal <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    vonericsen authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    4655798 View commit details
    Browse the repository at this point in the history
  45. ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files

    commit 72aad48 upstream.
    
    The {dma|pio}_mode sysfs files are incorrectly documented as having a
    list of the supported DMA/PIO transfer modes, while the corresponding
    fields of the *struct* ata_device hold the transfer mode IDs, not masks.
    
    To match these docs, the {dma|pio}_mode (and even xfer_mode!) sysfs
    files are handled by the ata_bitfield_name_match() macro which leads to
    reading such kind of nonsense from them:
    
    $ cat /sys/class/ata_device/dev3.0/pio_mode
    XFER_UDMA_7, XFER_UDMA_6, XFER_UDMA_5, XFER_UDMA_4, XFER_MW_DMA_4,
    XFER_PIO_6, XFER_PIO_5, XFER_PIO_4, XFER_PIO_3, XFER_PIO_2, XFER_PIO_1,
    XFER_PIO_0
    
    Using the correct ata_bitfield_name_search() macro fixes that:
    
    $ cat /sys/class/ata_device/dev3.0/pio_mode
    XFER_PIO_4
    
    While fixing the file documentation, somewhat reword the {dma|pio}_mode
    file doc and add a note about being mostly useful for PATA devices to
    the xfer_mode file doc...
    
    Fixes: d902747 ("[libata] Add ATA transport class")
    Signed-off-by: Sergey Shtylyov <[email protected]>
    Cc: [email protected]
    Signed-off-by: Damien Le Moal <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Sergey Shtylyov authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    fa7e200 View commit details
    Browse the repository at this point in the history
  46. mmc: sdhci-pci-gli: Fix GL9763E runtime PM when the system resumes fr…

    …om suspend
    
    commit 291e7d5 upstream.
    
    When the system resumes from suspend (S3 or S4), the power mode is
    MMC_POWER_OFF. In this status, gl9763e_runtime_resume() should not enable
    PLL. Add a condition to this function to enable PLL only when the power
    mode is MMC_POWER_ON.
    
    Fixes: d607667 (mmc: sdhci-pci-gli: Add runtime PM for GL9763E)
    Signed-off-by: Ben Chuang <[email protected]>
    Cc: [email protected]
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Ulf Hansson <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    benchuanggli authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    78ab0ef View commit details
    Browse the repository at this point in the history
  47. mmc: block: Fix CQE recovery reset success

    commit a051246 upstream.
    
    The intention of the use of mmc_blk_reset_success() in
    mmc_blk_cqe_recovery() was to prevent repeated resets when retrying and
    getting the same error. However, that may not be the case - any amount
    of time and I/O may pass before another recovery is needed, in which
    case there would be no reason to deny it the opportunity to recover via
    a reset if necessary. CQE recovery is expected seldom and failure to
    recover (if the clear tasks command fails), even more seldom, so it is
    better to allow the reset always, which can be done by calling
    mmc_blk_reset_success() always.
    
    Fixes: 1e8e55b ("mmc: block: Add CQE support")
    Cc: [email protected]
    Signed-off-by: Adrian Hunter <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Ulf Hansson <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    ahunter6 authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    3967849 View commit details
    Browse the repository at this point in the history
  48. net: phy: dp83867: retrigger SGMII AN when link change

    commit c76acfb upstream.
    
    There is a limitation in TI DP83867 PHY device where SGMII AN is only
    triggered once after the device is booted up. Even after the PHY TPI is
    down and up again, SGMII AN is not triggered and hence no new in-band
    message from PHY to MAC side SGMII.
    
    This could cause an issue during power up, when PHY is up prior to MAC.
    At this condition, once MAC side SGMII is up, MAC side SGMII wouldn`t
    receive new in-band message from TI PHY with correct link status, speed
    and duplex info.
    
    As suggested by TI, implemented a SW solution here to retrigger SGMII
    Auto-Neg whenever there is a link change.
    
    v2: Add Fixes tag in commit message.
    
    Fixes: 2a10154 ("net: phy: dp83867: Add TI dp83867 phy")
    Cc: <[email protected]> # 5.4.x
    Signed-off-by: Sit, Michael Wei Hong <[email protected]>
    Reviewed-by: Voon Weifeng <[email protected]>
    Signed-off-by: Tan Tee Min <[email protected]>
    Reviewed-by: Andrew Lunn <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Tan Tee Min authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    29ba9ba View commit details
    Browse the repository at this point in the history
  49. net: openvswitch: fix misuse of the cached connection on tuple changes

    commit 2061ecf upstream.
    
    If packet headers changed, the cached nfct is no longer relevant
    for the packet and attempt to re-use it leads to the incorrect packet
    classification.
    
    This issue is causing broken connectivity in OpenStack deployments
    with OVS/OVN due to hairpin traffic being unexpectedly dropped.
    
    The setup has datapath flows with several conntrack actions and tuple
    changes between them:
    
      actions:ct(commit,zone=8,mark=0/0x1,nat(src)),
              set(eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:06)),
              set(ipv4(src=172.18.2.10,dst=192.168.100.6,ttl=62)),
              ct(zone=8),recirc(0x4)
    
    After the first ct() action the packet headers are almost fully
    re-written.  The next ct() tries to re-use the existing nfct entry
    and marks the packet as invalid, so it gets dropped later in the
    pipeline.
    
    Clearing the cached conntrack entry whenever packet tuple is changed
    to avoid the issue.
    
    The flow key should not be cleared though, because we should still
    be able to match on the ct_state if the recirculation happens after
    the tuple change but before the next ct() action.
    
    Cc: [email protected]
    Fixes: 7f8a436 ("openvswitch: Add conntrack action")
    Reported-by: Frode Nordahl <[email protected]>
    Link: https://mail.openvswitch.org/pipermail/ovs-discuss/2022-May/051829.html
    Link: https://bugs.launchpad.net/ubuntu/+source/ovn/+bug/1967856
    Signed-off-by: Ilya Maximets <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    igsilya authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    d1e05a0 View commit details
    Browse the repository at this point in the history
  50. writeback: Fix inode->i_io_list not be protected by inode->i_lock error

    commit 10e1407 upstream.
    
    Commit b35250c ("writeback: Protect inode->i_io_list with
    inode->i_lock") made inode->i_io_list not only protected by
    wb->list_lock but also inode->i_lock, but inode_io_list_move_locked()
    was missed. Add lock there and also update comment describing
    things protected by inode->i_lock. This also fixes a race where
    __mark_inode_dirty() could move inode under flush worker's hands
    and thus sync(2) could miss writing some inodes.
    
    Fixes: b35250c ("writeback: Protect inode->i_io_list with inode->i_lock")
    Link: https://lore.kernel.org/r/[email protected]
    CC: [email protected]
    Signed-off-by: Jchao Sun <[email protected]>
    Signed-off-by: Jan Kara <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jc2870 authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    0e5ae58 View commit details
    Browse the repository at this point in the history
  51. nfc: st21nfca: fix incorrect validating logic in EVT_TRANSACTION

    commit 77e5fe8 upstream.
    
    The first validation check for EVT_TRANSACTION has two different checks
    tied together with logical AND. One is a check for minimum packet length,
    and the other is for a valid aid_tag. If either condition is true (fails),
    then an error should be triggered.  The fix is to change && to ||.
    
    Fixes: 26fc6c7 ("NFC: st21nfca: Add HCI transaction event support")
    Cc: [email protected]
    Signed-off-by: Martin Faltesek <[email protected]>
    Reviewed-by: Guenter Roeck <[email protected]>
    Reviewed-by: Krzysztof Kozlowski <[email protected]>
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    mfaltesek authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    c24da51 View commit details
    Browse the repository at this point in the history
  52. nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling

    commit 996419e upstream.
    
    Error paths do not free previously allocated memory. Add devm_kfree() to
    those failure paths.
    
    Fixes: 26fc6c7 ("NFC: st21nfca: Add HCI transaction event support")
    Fixes: 4fbcc1a ("nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION")
    Cc: [email protected]
    Signed-off-by: Martin Faltesek <[email protected]>
    Reviewed-by: Guenter Roeck <[email protected]>
    Reviewed-by: Krzysztof Kozlowski <[email protected]>
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    mfaltesek authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    5590408 View commit details
    Browse the repository at this point in the history
  53. nfc: st21nfca: fix incorrect sizing calculations in EVT_TRANSACTION

    commit f2e19b3 upstream.
    
    The transaction buffer is allocated by using the size of the packet buf,
    and subtracting two which seem intended to remove the two tags which are
    not present in the target structure. This calculation leads to under
    counting memory because of differences between the packet contents and the
    target structure. The aid_len field is a u8 in the packet, but a u32 in
    the structure, resulting in at least 3 bytes always being under counted.
    Further, the aid data is a variable length field in the packet, but fixed
    in the structure, so if this field is less than the max, the difference is
    added to the under counting.
    
    The last validation check for transaction->params_len is also incorrect
    since it employs the same accounting error.
    
    To fix, perform validation checks progressively to safely reach the
    next field, to determine the size of both buffers and verify both tags.
    Once all validation checks pass, allocate the buffer and copy the data.
    This eliminates freeing memory on the error path, as those checks are
    moved ahead of memory allocation.
    
    Fixes: 26fc6c7 ("NFC: st21nfca: Add HCI transaction event support")
    Fixes: 4fbcc1a ("nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION")
    Cc: [email protected]
    Signed-off-by: Martin Faltesek <[email protected]>
    Reviewed-by: Guenter Roeck <[email protected]>
    Reviewed-by: Krzysztof Kozlowski <[email protected]>
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    mfaltesek authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    4a06dd0 View commit details
    Browse the repository at this point in the history
  54. ixgbe: fix bcast packets Rx on VF after promisc removal

    commit 803e989 upstream.
    
    After a VF requested to remove the promiscuous flag on an interface, the
    broadcast packets are not received anymore. This breaks some protocols
    like ARP.
    
    In ixgbe_update_vf_xcast_mode(), we should keep the IXGBE_VMOLR_BAM
    bit (Broadcast Accept) on promiscuous removal.
    
    This flag is already set by default in ixgbe_set_vmolr() on VF reset.
    
    Fixes: 8443c1a ("ixgbe, ixgbevf: Add new mbox API xcast mode")
    Cc: [email protected]
    Cc: Nicolas Dichtel <[email protected]>
    Signed-off-by: Olivier Matz <[email protected]>
    Tested-by: Konrad Jankowski <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    olivier-matz-6wind authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    b4c9025 View commit details
    Browse the repository at this point in the history
  55. ixgbe: fix unexpected VLAN Rx in promisc mode on VF

    commit 7bb0fb7 upstream.
    
    When the promiscuous mode is enabled on a VF, the IXGBE_VMOLR_VPE
    bit (VLAN Promiscuous Enable) is set. This means that the VF will
    receive packets whose VLAN is not the same than the VLAN of the VF.
    
    For instance, in this situation:
    
    ┌────────┐    ┌────────┐    ┌────────┐
    │        │    │        │    │        │
    │        │    │        │    │        │
    │     VF0├────┤VF1  VF2├────┤VF3     │
    │        │    │        │    │        │
    └────────┘    └────────┘    └────────┘
       VM1           VM2           VM3
    
    vf 0:  vlan 1000
    vf 1:  vlan 1000
    vf 2:  vlan 1001
    vf 3:  vlan 1001
    
    If we tcpdump on VF3, we see all the packets, even those transmitted
    on vlan 1000.
    
    This behavior prevents to bridge VF1 and VF2 in VM2, because it will
    create a loop: packets transmitted on VF1 will be received by VF2 and
    vice-versa, and bridged again through the software bridge.
    
    This patch remove the activation of VLAN Promiscuous when a VF enables
    the promiscuous mode. However, the IXGBE_VMOLR_UPE bit (Unicast
    Promiscuous) is kept, so that a VF receives all packets that has the
    same VLAN, whatever the destination MAC address.
    
    Fixes: 8443c1a ("ixgbe, ixgbevf: Add new mbox API xcast mode")
    Cc: [email protected]
    Cc: Nicolas Dichtel <[email protected]>
    Signed-off-by: Olivier Matz <[email protected]>
    Tested-by: Konrad Jankowski <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    olivier-matz-6wind authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    e21c7f3 View commit details
    Browse the repository at this point in the history
  56. Input: bcm5974 - set missing URB_NO_TRANSFER_DMA_MAP urb flag

    commit c42e656 upstream.
    
    The bcm5974 driver does the allocation and dma mapping of the usb urb
    data buffer, but driver does not set the URB_NO_TRANSFER_DMA_MAP flag
    to let usb core know the buffer is already mapped.
    
    usb core tries to map the already mapped buffer, causing a warning:
    "xhci_hcd 0000:00:14.0: rejecting DMA map of vmalloc memory"
    
    Fix this by setting the URB_NO_TRANSFER_DMA_MAP, letting usb core
    know buffer is already mapped by bcm5974 driver
    
    Signed-off-by: Mathias Nyman <[email protected]>
    Cc: [email protected]
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=215890
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Dmitry Torokhov <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    matnyman authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    37d5f35 View commit details
    Browse the repository at this point in the history
  57. vduse: Fix NULL pointer dereference on sysfs access

    commit b27ee76 upstream.
    
    The control device has no drvdata. So we will get a
    NULL pointer dereference when accessing control
    device's msg_timeout attribute via sysfs:
    
    [ 132.841881][ T3644] BUG: kernel NULL pointer dereference, address: 00000000000000f8
    [ 132.850619][ T3644] RIP: 0010:msg_timeout_show (drivers/vdpa/vdpa_user/vduse_dev.c:1271)
    [ 132.869447][ T3644] dev_attr_show (drivers/base/core.c:2094)
    [ 132.870215][ T3644] sysfs_kf_seq_show (fs/sysfs/file.c:59)
    [ 132.871164][ T3644] ? device_remove_bin_file (drivers/base/core.c:2088)
    [ 132.872082][ T3644] kernfs_seq_show (fs/kernfs/file.c:164)
    [ 132.872838][ T3644] seq_read_iter (fs/seq_file.c:230)
    [ 132.873578][ T3644] ? __vmalloc_area_node (mm/vmalloc.c:3041)
    [ 132.874532][ T3644] kernfs_fop_read_iter (fs/kernfs/file.c:238)
    [ 132.875513][ T3644] __kernel_read (fs/read_write.c:440 (discriminator 1))
    [ 132.876319][ T3644] kernel_read (fs/read_write.c:459)
    [ 132.877129][ T3644] kernel_read_file (fs/kernel_read_file.c:94)
    [ 132.877978][ T3644] kernel_read_file_from_fd (include/linux/file.h:45 fs/kernel_read_file.c:186)
    [ 132.879019][ T3644] __do_sys_finit_module (kernel/module.c:4207)
    [ 132.879930][ T3644] __ia32_sys_finit_module (kernel/module.c:4189)
    [ 132.880930][ T3644] do_int80_syscall_32 (arch/x86/entry/common.c:112 arch/x86/entry/common.c:132)
    [ 132.881847][ T3644] entry_INT80_compat (arch/x86/entry/entry_64_compat.S:419)
    
    To fix it, don't create the unneeded attribute for
    control device anymore.
    
    Fixes: c8a6153 ("vduse: Introduce VDUSE - vDPA Device in Userspace")
    Reported-by: kernel test robot <[email protected]>
    Cc: [email protected]
    Signed-off-by: Xie Yongji <[email protected]>
    Message-Id: <[email protected]>
    Signed-off-by: Michael S. Tsirkin <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    YongjiXie authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    b22fdee View commit details
    Browse the repository at this point in the history
  58. cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE

    commit 32d4fd5 upstream.
    
    Commit c227233 ("intel_idle: enable interrupts before C1 on
    Xeons") wrecked intel_idle in two ways:
    
     - must not have tracing in idle functions
     - must return with IRQs disabled
    
    Additionally, it added a branch for no good reason.
    
    Fixes: c227233 ("intel_idle: enable interrupts before C1 on Xeons")
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    [ rjw: Moved the intel_idle() kerneldoc comment next to the function ]
    Cc: 5.16+ <[email protected]> # 5.16+
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Peter Zijlstra authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    86ae864 View commit details
    Browse the repository at this point in the history
  59. mm/huge_memory: Fix xarray node memory leak

    commit 69a37a8 upstream.
    
    If xas_split_alloc() fails to allocate the necessary nodes to complete the
    xarray entry split, it sets the xa_state to -ENOMEM, which xas_nomem()
    then interprets as "Please allocate more memory", not as "Please free
    any unnecessary memory" (which was the intended outcome).  It's confusing
    to use xas_nomem() to free memory in this context, so call xas_destroy()
    instead.
    
    Reported-by: [email protected]
    Fixes: 6b24ca4 ("mm: Use multi-index entries in the page cache")
    Cc: [email protected]
    Signed-off-by: Matthew Wilcox (Oracle) <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Matthew Wilcox (Oracle) authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    95c8181 View commit details
    Browse the repository at this point in the history
  60. powerpc: Don't select HAVE_IRQ_EXIT_ON_IRQ_STACK

    commit 1346d00 upstream.
    
    The HAVE_IRQ_EXIT_ON_IRQ_STACK option tells generic code that irq_exit()
    is called while still running on the hard irq stack (hardirq_ctx[] in
    the powerpc code).
    
    Selecting the option means the generic code will *not* switch to the
    softirq stack before running softirqs, because the code is already
    running on the (mostly empty) hard irq stack.
    
    But since commit 1b1b6a6 ("powerpc: handle irq_enter/irq_exit in
    interrupt handler wrappers"), irq_exit() is now called on the regular task
    stack, not the hard irq stack.
    
    That's because previously irq_exit() was called in __do_irq() which is
    run on the hard irq stack, but now it is called in
    interrupt_async_exit_prepare() which is called from do_irq() constructed
    by the wrapper macro, which is after the switch back to the task stack.
    
    So drop HAVE_IRQ_EXIT_ON_IRQ_STACK from the Kconfig. This will mean an
    extra stack switch when processing some interrupts, but should
    significantly reduce the likelihood of stack overflow.
    
    It also means the softirq stack will be used for running softirqs from
    other interrupts that don't use the hard irq stack, eg. timer interrupts.
    
    Fixes: 1b1b6a6 ("powerpc: handle irq_enter/irq_exit in interrupt handler wrappers")
    Cc: [email protected] # v5.12+
    Signed-off-by: Michael Ellerman <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    mpe authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    6790a55 View commit details
    Browse the repository at this point in the history
  61. drm/amdkfd:Fix fw version for 10.3.6

    commit a956a11 upstream.
    
    fix fw error when loading fw for 10.3.6
    
    Signed-off-by: Jesse Zhang <[email protected]>
    Reviewed-by: Alex Deucher <[email protected]>
    Reviewed-by: Mario Limonciello <[email protected]>
    Reviewed-by: Felix Kuehling <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: [email protected] # 5.18.x
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Jie1zhang authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    a6139da View commit details
    Browse the repository at this point in the history
  62. drm/bridge: analogix_dp: Support PSR-exit to disable transition

    commit ca87165 upstream.
    
    Most eDP panel functions only work correctly when the panel is not in
    self-refresh. In particular, analogix_dp_bridge_disable() tends to hit
    AUX channel errors if the panel is in self-refresh.
    
    Given the above, it appears that so far, this driver assumes that we are
    never in self-refresh when it comes time to fully disable the bridge.
    Prior to commit 846c7df ("drm/atomic: Try to preserve the crtc
    enabled state in drm_atomic_remove_fb, v2."), this tended to be true,
    because we would automatically disable the pipe when framebuffers were
    removed, and so we'd typically disable the bridge shortly after the last
    display activity.
    
    However, that is not guaranteed: an idle (self-refresh) display pipe may
    be disabled, e.g., when switching CRTCs. We need to exit PSR first.
    
    Stable notes: this is definitely a bugfix, and the bug has likely
    existed in some form for quite a while. It may predate the "PSR helpers"
    refactor, but the code looked very different before that, and it's
    probably not worth rewriting the fix.
    
    Cc: <[email protected]>
    Fixes: 6c836d9 ("drm/rockchip: Use the helpers for PSR")
    Signed-off-by: Brian Norris <[email protected]>
    Reviewed-by: Sean Paul <[email protected]>
    Signed-off-by: Douglas Anderson <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220228122522.v2.1.I161904be17ba14526f78536ccd78b85818449b51@changeid
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    computersforpeace authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    28e8ead View commit details
    Browse the repository at this point in the history
  63. drm/atomic: Force bridge self-refresh-exit on CRTC switch

    commit e54a442 upstream.
    
    It's possible to change which CRTC is in use for a given
    connector/encoder/bridge while we're in self-refresh without fully
    disabling the connector/encoder/bridge along the way. This can confuse
    the bridge encoder/bridge, because
    (a) it needs to track the SR state (trying to perform "active"
        operations while the panel is still in SR can be Bad(TM)); and
    (b) it tracks the SR state via the CRTC state (and after the switch, the
        previous SR state is lost).
    
    Thus, we need to either somehow carry the self-refresh state over to the
    new CRTC, or else force an encoder/bridge self-refresh transition during
    such a switch.
    
    I choose the latter, so we disable the encoder (and exit PSR) before
    attaching it to the new CRTC (where we can continue to assume a clean
    (non-self-refresh) state).
    
    This fixes PSR issues seen on Rockchip RK3399 systems with
    drivers/gpu/drm/bridge/analogix/analogix_dp_core.c.
    
    Change in v2:
    
    - Drop "->enable" condition; this could possibly be "->active" to
      reflect the intended hardware state, but it also is a little
      over-specific. We want to make a transition through "disabled" any
      time we're exiting PSR at the same time as a CRTC switch.
      (Thanks Liu Ying)
    
    Cc: Liu Ying <[email protected]>
    Cc: <[email protected]>
    Fixes: 1452c25 ("drm: Add helpers to kick off self refresh mode in drivers")
    Signed-off-by: Brian Norris <[email protected]>
    Reviewed-by: Sean Paul <[email protected]>
    Signed-off-by: Douglas Anderson <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220228122522.v2.2.Ic15a2ef69c540aee8732703103e2cff51fb9c399@changeid
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    computersforpeace authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    c2449e8 View commit details
    Browse the repository at this point in the history
  64. drm/amdgpu/jpeg2: Add jpeg vmid update under IB submit

    commit 578eb31 upstream.
    
    Add jpeg vmid update under IB submit
    
    Signed-off-by: Mohammad Zafar Ziya <[email protected]>
    Acked-by: Christian König <[email protected]>
    Reviewed-by: Lijo Lazar <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: [email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Mohammad Zafar Ziya authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    5f0d829 View commit details
    Browse the repository at this point in the history
  65. drm/amd/display: remove stale config guards

    commit fd843d0 upstream.
    
    This code should be executed.
    
    Signed-off-by: Aurabindo Pillai <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: [email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Aurabindo Pillai authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    59f8908 View commit details
    Browse the repository at this point in the history
  66. drm/amdgpu: update VCN codec support for Yellow Carp

    commit 97e5030 upstream.
    
    Supports AV1.  Mesa already has support for this and
    doesn't rely on the kernel caps for yellow carp, so
    this was already working from an application perspective.
    
    Fixes: 5543981 ("amdgpu/nv.c - Added video codec support for Yellow Carp")
    Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2002
    Reviewed-by: Leo Liu <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: [email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    alexdeucher authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    0d6d1e0 View commit details
    Browse the repository at this point in the history
  67. virtio-rng: make device ready before making request

    commit 2284325 upstream.
    
    Current virtio-rng does a entropy request before DRIVER_OK, this
    violates the spec:
    
    virtio spec requires that all drivers set DRIVER_OK
    before using devices.
    
    Further, kernel will ignore the interrupt after commit
    8b4ec69 ("virtio: harden vring IRQ").
    
    Fixing this by making device ready before the request.
    
    Cc: [email protected]
    Fixes: 8b4ec69 ("virtio: harden vring IRQ")
    Fixes: f7f510e ("virtio: An entropy device, as suggested by hpa.")
    Reported-and-tested-by: [email protected]
    Signed-off-by: Jason Wang <[email protected]>
    Message-Id: <[email protected]>
    Signed-off-by: Michael S. Tsirkin <[email protected]>
    Reviewed-by: Laurent Vivier <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jasowang authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    8757526 View commit details
    Browse the repository at this point in the history
  68. powerpc/32: Fix overread/overwrite of thread_struct via ptrace

    commit 8e12784 upstream.
    
    The ptrace PEEKUSR/POKEUSR (aka PEEKUSER/POKEUSER) API allows a process
    to read/write registers of another process.
    
    To get/set a register, the API takes an index into an imaginary address
    space called the "USER area", where the registers of the process are
    laid out in some fashion.
    
    The kernel then maps that index to a particular register in its own data
    structures and gets/sets the value.
    
    The API only allows a single machine-word to be read/written at a time.
    So 4 bytes on 32-bit kernels and 8 bytes on 64-bit kernels.
    
    The way floating point registers (FPRs) are addressed is somewhat
    complicated, because double precision float values are 64-bit even on
    32-bit CPUs. That means on 32-bit kernels each FPR occupies two
    word-sized locations in the USER area. On 64-bit kernels each FPR
    occupies one word-sized location in the USER area.
    
    Internally the kernel stores the FPRs in an array of u64s, or if VSX is
    enabled, an array of pairs of u64s where one half of each pair stores
    the FPR. Which half of the pair stores the FPR depends on the kernel's
    endianness.
    
    To handle the different layouts of the FPRs depending on VSX/no-VSX and
    big/little endian, the TS_FPR() macro was introduced.
    
    Unfortunately the TS_FPR() macro does not take into account the fact
    that the addressing of each FPR differs between 32-bit and 64-bit
    kernels. It just takes the index into the "USER area" passed from
    userspace and indexes into the fp_state.fpr array.
    
    On 32-bit there are 64 indexes that address FPRs, but only 32 entries in
    the fp_state.fpr array, meaning the user can read/write 256 bytes past
    the end of the array. Because the fp_state sits in the middle of the
    thread_struct there are various fields than can be overwritten,
    including some pointers. As such it may be exploitable.
    
    It has also been observed to cause systems to hang or otherwise
    misbehave when using gdbserver, and is probably the root cause of this
    report which could not be easily reproduced:
      https://lore.kernel.org/linuxppc-dev/[email protected]/
    
    Rather than trying to make the TS_FPR() macro even more complicated to
    fix the bug, or add more macros, instead add a special-case for 32-bit
    kernels. This is more obvious and hopefully avoids a similar bug
    happening again in future.
    
    Note that because 32-bit kernels never have VSX enabled the code doesn't
    need to consider TS_FPRWIDTH/OFFSET at all. Add a BUILD_BUG_ON() to
    ensure that 32-bit && VSX is never enabled.
    
    Fixes: 87fec05 ("powerpc: PTRACE_PEEKUSR/PTRACE_POKEUSER of FPR registers in little endian builds")
    Cc: [email protected] # v3.13+
    Reported-by: Ariel Miculas <[email protected]>
    Tested-by: Christophe Leroy <[email protected]>
    Signed-off-by: Michael Ellerman <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    mpe authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    7764a25 View commit details
    Browse the repository at this point in the history
  69. random: avoid checking crng_ready() twice in random_init()

    commit 9b29b6b upstream.
    
    The current flow expands to:
    
        if (crng_ready())
           ...
        else if (...)
            if (!crng_ready())
                ...
    
    The second crng_ready() call is redundant, but can't so easily be
    optimized out by the compiler.
    
    This commit simplifies that to:
    
        if (crng_ready()
            ...
        else if (...)
            ...
    
    Fixes: 560181c ("random: move initialization functions out of hot pages")
    Cc: [email protected]
    Cc: Dominik Brodowski <[email protected]>
    Signed-off-by: Jason A. Donenfeld <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    zx2c4 authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    63aac57 View commit details
    Browse the repository at this point in the history
  70. random: mark bootloader randomness code as __init

    commit 39e0f99 upstream.
    
    add_bootloader_randomness() and the variables it touches are only used
    during __init and not after, so mark these as __init. At the same time,
    unexport this, since it's only called by other __init code that's
    built-in.
    
    Cc: [email protected]
    Fixes: 428826f ("fdt: add support for rng-seed")
    Signed-off-by: Jason A. Donenfeld <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    zx2c4 authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    e061ef6 View commit details
    Browse the repository at this point in the history
  71. random: account for arch randomness in bits

    commit 77fc95f upstream.
    
    Rather than accounting in bytes and multiplying (shifting), we can just
    account in bits and avoid the shift. The main motivation for this is
    there are other patches in flux that expand this code a bit, and
    avoiding the duplication of "* 8" everywhere makes things a bit clearer.
    
    Cc: [email protected]
    Fixes: 12e45a2 ("random: credit architectural init the exact amount")
    Signed-off-by: Jason A. Donenfeld <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    zx2c4 authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    60e198d View commit details
    Browse the repository at this point in the history
  72. md/raid0: Ignore RAID0 layout if the second zone has only one device

    commit ea23994 upstream.
    
    The RAID0 layout is irrelevant if all members have the same size so the
    array has only one zone. It is *also* irrelevant if the array has two
    zones and the second zone has only one device, for example if the array
    has two members of different sizes.
    
    So in that case it makes sense to allow assembly even when the layout is
    undefined, like what is done when the array has only one zone.
    
    Reviewed-by: NeilBrown <[email protected]>
    Signed-off-by: Pascal Hambourg <[email protected]>
    Signed-off-by: Song Liu <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    phambourg authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    2e2670f View commit details
    Browse the repository at this point in the history
  73. zonefs: fix handling of explicit_open option on mount

    commit a2a513b upstream.
    
    Ignoring the explicit_open mount option on mount for devices that do not
    have a limit on the number of open zones must be done after the mount
    options are parsed and set in s_mount_opts. Move the check to ignore
    the explicit_open option after the call to zonefs_parse_options() in
    zonefs_fill_super().
    
    Fixes: b5c00e9 ("zonefs: open/close zone on file open/close")
    Cc: <[email protected]>
    Signed-off-by: Damien Le Moal <[email protected]>
    Reviewed-by: Christoph Hellwig <[email protected]>
    Reviewed-by: Johannes Thumshirn <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Damien Le Moal authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    a66a89c View commit details
    Browse the repository at this point in the history
  74. iov_iter: fix build issue due to possible type mis-match

    commit 1c27f1f upstream.
    
    Commit 6c77676 ("iov_iter: Fix iter_xarray_get_pages{,_alloc}()")
    introduced a problem on some 32-bit architectures (at least arm, xtensa,
    csky,sparc and mips), that have a 'size_t' that is 'unsigned int'.
    
    The reason is that we now do
    
        min(nr * PAGE_SIZE - offset, maxsize);
    
    where 'nr' and 'offset' and both 'unsigned int', and PAGE_SIZE is
    'unsigned long'.  As a result, the normal C type rules means that the
    first argument to 'min()' ends up being 'unsigned long'.
    
    In contrast, 'maxsize' is of type 'size_t'.
    
    Now, 'size_t' and 'unsigned long' are always the same physical type in
    the kernel, so you'd think this doesn't matter, and from an actual
    arithmetic standpoint it doesn't.
    
    But on 32-bit architectures 'size_t' is commonly 'unsigned int', even if
    it could also be 'unsigned long'.  In that situation, both are unsigned
    32-bit types, but they are not the *same* type.
    
    And as a result 'min()' will complain about the distinct types (ignore
    the "pointer types" part of the error message: that's an artifact of the
    way we have made 'min()' check types for being the same):
    
      lib/iov_iter.c: In function 'iter_xarray_get_pages':
      include/linux/minmax.h:20:35: error: comparison of distinct pointer types lacks a cast [-Werror]
         20 |         (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
            |                                   ^~
      lib/iov_iter.c:1464:16: note: in expansion of macro 'min'
       1464 |         return min(nr * PAGE_SIZE - offset, maxsize);
            |                ^~~
    
    This was not visible on 64-bit architectures (where we always define
    'size_t' to be 'unsigned long').
    
    Force these cases to use 'min_t(size_t, x, y)' to make the type explicit
    and avoid the issue.
    
    [ Nit-picky note: technically 'size_t' doesn't have to match 'unsigned
      long' arithmetically. We've certainly historically seen environments
      with 16-bit address spaces and 32-bit 'unsigned long'.
    
      Similarly, even in 64-bit modern environments, 'size_t' could be its
      own type distinct from 'unsigned long', even if it were arithmetically
      identical.
    
      So the above type commentary is only really descriptive of the kernel
      environment, not some kind of universal truth for the kinds of wild
      and crazy situations that are allowed by the C standard ]
    
    Reported-by: Sudip Mukherjee <[email protected]>
    Link: https://lore.kernel.org/all/YqRyL2sIqQNDfky2@debian/
    Cc: Jeff Layton <[email protected]>
    Cc: David Howells <[email protected]>
    Cc: Al Viro <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Cc: Guenter Roeck <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    3d51ef8 View commit details
    Browse the repository at this point in the history
  75. dmaengine: idxd: add missing callback function to support DMA_INTERRUPT

    commit 2112b8f upstream.
    
    When setting DMA_INTERRUPT capability, a callback function
    dma->device_prep_dma_interrupt() is needed to support this capability.
    Without setting the callback, dma_async_device_register() will fail dma
    capability check.
    
    Fixes: 4e5a4eb ("dmaengine: idxd: set DMA_INTERRUPT cap bit")
    Signed-off-by: Dave Jiang <[email protected]>
    Link: https://lore.kernel.org/r/165101232637.3951447.15765792791591763119.stgit@djiang5-desk3.ch.intel.com
    Signed-off-by: Vinod Koul <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    davejiang authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    e8c3767 View commit details
    Browse the repository at this point in the history
  76. tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd

    commit 1182576 upstream.
    
    syzbot got a new report [1] finally pointing to a very old bug,
    added in initial support for MTU probing.
    
    tcp_mtu_probe() has checks about starting an MTU probe if
    tcp_snd_cwnd(tp) >= 11.
    
    But nothing prevents tcp_snd_cwnd(tp) to be reduced later
    and before the MTU probe succeeds.
    
    This bug would lead to potential zero-divides.
    
    Debugging added in commit 4057037 ("tcp: add accessors
    to read/set tp->snd_cwnd") has paid off :)
    
    While we are at it, address potential overflows in this code.
    
    [1]
    WARNING: CPU: 1 PID: 14132 at include/net/tcp.h:1219 tcp_mtup_probe_success+0x366/0x570 net/ipv4/tcp_input.c:2712
    Modules linked in:
    CPU: 1 PID: 14132 Comm: syz-executor.2 Not tainted 5.18.0-syzkaller-07857-gbabf0bb978e3 #0
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    RIP: 0010:tcp_snd_cwnd_set include/net/tcp.h:1219 [inline]
    RIP: 0010:tcp_mtup_probe_success+0x366/0x570 net/ipv4/tcp_input.c:2712
    Code: 74 08 48 89 ef e8 da 80 17 f9 48 8b 45 00 65 48 ff 80 80 03 00 00 48 83 c4 30 5b 41 5c 41 5d 41 5e 41 5f 5d c3 e8 aa b0 c5 f8 <0f> 0b e9 16 fe ff ff 48 8b 4c 24 08 80 e1 07 38 c1 0f 8c c7 fc ff
    RSP: 0018:ffffc900079e70f8 EFLAGS: 00010287
    RAX: ffffffff88c0f7f6 RBX: ffff8880756e7a80 RCX: 0000000000040000
    RDX: ffffc9000c6c4000 RSI: 0000000000031f9e RDI: 0000000000031f9f
    RBP: 0000000000000000 R08: ffffffff88c0f606 R09: ffffc900079e7520
    R10: ffffed101011226d R11: 1ffff1101011226c R12: 1ffff1100eadcf50
    R13: ffff8880756e72c0 R14: 1ffff1100eadcf89 R15: dffffc0000000000
    FS:  00007f643236e700(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00007f1ab3f1e2a0 CR3: 0000000064fe7000 CR4: 00000000003506e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    Call Trace:
     <TASK>
     tcp_clean_rtx_queue+0x223a/0x2da0 net/ipv4/tcp_input.c:3356
     tcp_ack+0x1962/0x3c90 net/ipv4/tcp_input.c:3861
     tcp_rcv_established+0x7c8/0x1ac0 net/ipv4/tcp_input.c:5973
     tcp_v6_do_rcv+0x57b/0x1210 net/ipv6/tcp_ipv6.c:1476
     sk_backlog_rcv include/net/sock.h:1061 [inline]
     __release_sock+0x1d8/0x4c0 net/core/sock.c:2849
     release_sock+0x5d/0x1c0 net/core/sock.c:3404
     sk_stream_wait_memory+0x700/0xdc0 net/core/stream.c:145
     tcp_sendmsg_locked+0x111d/0x3fc0 net/ipv4/tcp.c:1410
     tcp_sendmsg+0x2c/0x40 net/ipv4/tcp.c:1448
     sock_sendmsg_nosec net/socket.c:714 [inline]
     sock_sendmsg net/socket.c:734 [inline]
     __sys_sendto+0x439/0x5c0 net/socket.c:2119
     __do_sys_sendto net/socket.c:2131 [inline]
     __se_sys_sendto net/socket.c:2127 [inline]
     __x64_sys_sendto+0xda/0xf0 net/socket.c:2127
     do_syscall_x64 arch/x86/entry/common.c:50 [inline]
     do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
     entry_SYSCALL_64_after_hwframe+0x46/0xb0
    RIP: 0033:0x7f6431289109
    Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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 b8 ff ff ff f7 d8 64 89 01 48
    RSP: 002b:00007f643236e168 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
    RAX: ffffffffffffffda RBX: 00007f643139c100 RCX: 00007f6431289109
    RDX: 00000000d0d0c2ac RSI: 0000000020000080 RDI: 000000000000000a
    RBP: 00007f64312e308d R08: 0000000000000000 R09: 0000000000000000
    R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000000
    R13: 00007fff372533af R14: 00007f643236e300 R15: 0000000000022000
    
    Fixes: 5d424d5 ("[TCP]: MTU probing")
    Signed-off-by: Eric Dumazet <[email protected]>
    Reported-by: syzbot <[email protected]>
    Acked-by: Yuchung Cheng <[email protected]>
    Acked-by: Neal Cardwell <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Eric Dumazet authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    38ca71a View commit details
    Browse the repository at this point in the history
  77. net/mlx5: E-Switch, pair only capable devices

    commit 3008e6a upstream.
    
    OFFLOADS paring using devcom is possible only on devices
    that support LAG. Filter based on lag capabilities.
    
    This fixes an issue where mlx5_get_next_phys_dev() was
    called without holding the interface lock.
    
    This issue was found when commit
    bc4c2f2 ("net/mlx5: Lag, filter non compatible devices")
    added an assert that verifies the interface lock is held.
    
    WARNING: CPU: 9 PID: 1706 at drivers/net/ethernet/mellanox/mlx5/core/dev.c:642 mlx5_get_next_phys_dev+0xd2/0x100 [mlx5_core]
    Modules linked in: mlx5_vdpa vringh vhost_iotlb vdpa mlx5_ib mlx5_core xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xt_addrtype iptable_nat nf_nat br_netfilter rpcrdma rdma_ucm ib_iser libiscsi scsi_transport_iscsi rdma_cm iw_cm ib_umad ib_ipoib ib_cm ib_uverbs ib_core overlay fuse [last unloaded: mlx5_core]
    CPU: 9 PID: 1706 Comm: devlink Not tainted 5.18.0-rc7+ #11
    Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
    RIP: 0010:mlx5_get_next_phys_dev+0xd2/0x100 [mlx5_core]
    Code: 02 00 75 48 48 8b 85 80 04 00 00 5d c3 31 c0 5d c3 be ff ff ff ff 48 c7 c7 08 41 5b a0 e8 36 87 28 e3 85 c0 0f 85 6f ff ff ff <0f> 0b e9 68 ff ff ff 48 c7 c7 0c 91 cc 84 e8 cb 36 6f e1 e9 4d ff
    RSP: 0018:ffff88811bf47458 EFLAGS: 00010246
    RAX: 0000000000000000 RBX: ffff88811b398000 RCX: 0000000000000001
    RDX: 0000000080000000 RSI: ffffffffa05b4108 RDI: ffff88812daaaa78
    RBP: ffff88812d050380 R08: 0000000000000001 R09: ffff88811d6b3437
    R10: 0000000000000001 R11: 00000000fddd3581 R12: ffff88815238c000
    R13: ffff88812d050380 R14: ffff8881018aa7e0 R15: ffff88811d6b3428
    FS:  00007fc82e18ae80(0000) GS:ffff88842e080000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00007f9630d1b421 CR3: 0000000149802004 CR4: 0000000000370ea0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    Call Trace:
     <TASK>
     mlx5_esw_offloads_devcom_event+0x99/0x3b0 [mlx5_core]
     mlx5_devcom_send_event+0x167/0x1d0 [mlx5_core]
     esw_offloads_enable+0x1153/0x1500 [mlx5_core]
     ? mlx5_esw_offloads_controller_valid+0x170/0x170 [mlx5_core]
     ? wait_for_completion_io_timeout+0x20/0x20
     ? mlx5_rescan_drivers_locked+0x318/0x810 [mlx5_core]
     mlx5_eswitch_enable_locked+0x586/0xc50 [mlx5_core]
     ? mlx5_eswitch_disable_pf_vf_vports+0x1d0/0x1d0 [mlx5_core]
     ? mlx5_esw_try_lock+0x1b/0xb0 [mlx5_core]
     ? mlx5_eswitch_enable+0x270/0x270 [mlx5_core]
     ? __debugfs_create_file+0x260/0x3e0
     mlx5_devlink_eswitch_mode_set+0x27e/0x870 [mlx5_core]
     ? mutex_lock_io_nested+0x12c0/0x12c0
     ? esw_offloads_disable+0x250/0x250 [mlx5_core]
     ? devlink_nl_cmd_trap_get_dumpit+0x470/0x470
     ? rcu_read_lock_sched_held+0x3f/0x70
     devlink_nl_cmd_eswitch_set_doit+0x217/0x620
    
    Fixes: dd3fddb ("net/mlx5: E-Switch, handle devcom events only for ports on the same device")
    Signed-off-by: Mark Bloch <[email protected]>
    Reviewed-by: Roi Dayan <[email protected]>
    Reviewed-by: Moshe Shemesh <[email protected]>
    Signed-off-by: Saeed Mahameed <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    mark-bloch authored and gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    cdbcddd View commit details
    Browse the repository at this point in the history
  78. Linux 5.18.4

    Link: https://lore.kernel.org/r/[email protected]
    Tested-by: Ronald Warsow <[email protected]
    Tested-by: Zan Aziz <[email protected]>
    Tested-by: Bagas Sanjaya <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Tested-by: Florian Fainelli <[email protected]>
    Tested-by: Justin M. Forbes <[email protected]>
    Tested-by: Ron Economos <[email protected]>
    Tested-by: Shuah Khan <[email protected]>
    Tested-by: Jiri Slaby <[email protected]>
    Tested-by: Rudi Heitbaum <[email protected]>
    Tested-by: Fenil Jain <[email protected]>
    Tested-by: Guenter Roeck <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    gregkh committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    1e5fd75 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2022

  1. Documentation: Add documentation for Processor MMIO Stale Data

    commit 4419470 upstream
    
    Add the admin guide for Processor MMIO stale data vulnerabilities.
    
    Signed-off-by: Pawan Gupta <[email protected]>
    Signed-off-by: Borislav Petkov <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    pa1gupta authored and gregkh committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    2a00e43 View commit details
    Browse the repository at this point in the history
  2. x86/speculation/mmio: Enumerate Processor MMIO Stale Data bug

    commit 5180218 upstream
    
    Processor MMIO Stale Data is a class of vulnerabilities that may
    expose data after an MMIO operation. For more details please refer to
    Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst
    
    Add the Processor MMIO Stale Data bug enumeration. A microcode update
    adds new bits to the MSR IA32_ARCH_CAPABILITIES, define them.
    
    Signed-off-by: Pawan Gupta <[email protected]>
    Signed-off-by: Borislav Petkov <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    pa1gupta authored and gregkh committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    d88769c View commit details
    Browse the repository at this point in the history
  3. x86/speculation: Add a common function for MD_CLEAR mitigation update

    commit f52ea6c upstream
    
    Processor MMIO Stale Data mitigation uses similar mitigation as MDS and
    TAA. In preparation for adding its mitigation, add a common function to
    update all mitigations that depend on MD_CLEAR.
    
      [ bp: Add a newline in md_clear_update_mitigation() to separate
        statements better. ]
    
    Signed-off-by: Pawan Gupta <[email protected]>
    Signed-off-by: Borislav Petkov <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    pa1gupta authored and gregkh committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    647afa7 View commit details
    Browse the repository at this point in the history
  4. x86/speculation/mmio: Add mitigation for Processor MMIO Stale Data

    commit 8cb861e upstream
    
    Processor MMIO Stale Data is a class of vulnerabilities that may
    expose data after an MMIO operation. For details please refer to
    Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst.
    
    These vulnerabilities are broadly categorized as:
    
    Device Register Partial Write (DRPW):
      Some endpoint MMIO registers incorrectly handle writes that are
      smaller than the register size. Instead of aborting the write or only
      copying the correct subset of bytes (for example, 2 bytes for a 2-byte
      write), more bytes than specified by the write transaction may be
      written to the register. On some processors, this may expose stale
      data from the fill buffers of the core that created the write
      transaction.
    
    Shared Buffers Data Sampling (SBDS):
      After propagators may have moved data around the uncore and copied
      stale data into client core fill buffers, processors affected by MFBDS
      can leak data from the fill buffer.
    
    Shared Buffers Data Read (SBDR):
      It is similar to Shared Buffer Data Sampling (SBDS) except that the
      data is directly read into the architectural software-visible state.
    
    An attacker can use these vulnerabilities to extract data from CPU fill
    buffers using MDS and TAA methods. Mitigate it by clearing the CPU fill
    buffers using the VERW instruction before returning to a user or a
    guest.
    
    On CPUs not affected by MDS and TAA, user application cannot sample data
    from CPU fill buffers using MDS or TAA. A guest with MMIO access can
    still use DRPW or SBDR to extract data architecturally. Mitigate it with
    VERW instruction to clear fill buffers before VMENTER for MMIO capable
    guests.
    
    Add a kernel parameter mmio_stale_data={off|full|full,nosmt} to control
    the mitigation.
    
    Signed-off-by: Pawan Gupta <[email protected]>
    Signed-off-by: Borislav Petkov <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    pa1gupta authored and gregkh committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    bc4d37b View commit details
    Browse the repository at this point in the history
  5. x86/bugs: Group MDS, TAA & Processor MMIO Stale Data mitigations

    commit e5925fb upstream
    
    MDS, TAA and Processor MMIO Stale Data mitigations rely on clearing CPU
    buffers. Moreover, status of these mitigations affects each other.
    During boot, it is important to maintain the order in which these
    mitigations are selected. This is especially true for
    md_clear_update_mitigation() that needs to be called after MDS, TAA and
    Processor MMIO Stale Data mitigation selection is done.
    
    Introduce md_clear_select_mitigation(), and select all these mitigations
    from there. This reflects relationships between these mitigations and
    ensures proper ordering.
    
    Signed-off-by: Pawan Gupta <[email protected]>
    Signed-off-by: Borislav Petkov <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    pa1gupta authored and gregkh committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    e3718d0 View commit details
    Browse the repository at this point in the history
  6. x86/speculation/mmio: Enable CPU Fill buffer clearing on idle

    commit 99a83db upstream
    
    When the CPU is affected by Processor MMIO Stale Data vulnerabilities,
    Fill Buffer Stale Data Propagator (FBSDP) can propagate stale data out
    of Fill buffer to uncore buffer when CPU goes idle. Stale data can then
    be exploited with other variants using MMIO operations.
    
    Mitigate it by clearing the Fill buffer before entering idle state.
    
    Signed-off-by: Pawan Gupta <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Co-developed-by: Josh Poimboeuf <[email protected]>
    Signed-off-by: Josh Poimboeuf <[email protected]>
    Signed-off-by: Borislav Petkov <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    pa1gupta authored and gregkh committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    8547d4a View commit details
    Browse the repository at this point in the history
  7. x86/speculation/mmio: Add sysfs reporting for Processor MMIO Stale Data

    commit 8d50cdf upstream
    
    Add the sysfs reporting file for Processor MMIO Stale Data
    vulnerability. It exposes the vulnerability and mitigation state similar
    to the existing files for the other hardware vulnerabilities.
    
    Signed-off-by: Pawan Gupta <[email protected]>
    Signed-off-by: Borislav Petkov <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    pa1gupta authored and gregkh committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    1baf738 View commit details
    Browse the repository at this point in the history
  8. x86/speculation/srbds: Update SRBDS mitigation selection

    commit 22cac9c upstream
    
    Currently, Linux disables SRBDS mitigation on CPUs not affected by
    MDS and have the TSX feature disabled. On such CPUs, secrets cannot
    be extracted from CPU fill buffers using MDS or TAA. Without SRBDS
    mitigation, Processor MMIO Stale Data vulnerabilities can be used to
    extract RDRAND, RDSEED, and EGETKEY data.
    
    Do not disable SRBDS mitigation by default when CPU is also affected by
    Processor MMIO Stale Data vulnerabilities.
    
    Signed-off-by: Pawan Gupta <[email protected]>
    Signed-off-by: Borislav Petkov <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    pa1gupta authored and gregkh committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    bafc2b2 View commit details
    Browse the repository at this point in the history
  9. x86/speculation/mmio: Reuse SRBDS mitigation for SBDS

    commit a992b8a upstream
    
    The Shared Buffers Data Sampling (SBDS) variant of Processor MMIO Stale
    Data vulnerabilities may expose RDRAND, RDSEED and SGX EGETKEY data.
    Mitigation for this is added by a microcode update.
    
    As some of the implications of SBDS are similar to SRBDS, SRBDS mitigation
    infrastructure can be leveraged by SBDS. Set X86_BUG_SRBDS and use SRBDS
    mitigation.
    
    Mitigation is enabled by default; use srbds=off to opt-out. Mitigation
    status can be checked from below file:
    
      /sys/devices/system/cpu/vulnerabilities/srbds
    
    Signed-off-by: Pawan Gupta <[email protected]>
    Signed-off-by: Borislav Petkov <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    pa1gupta authored and gregkh committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    dce28a7 View commit details
    Browse the repository at this point in the history
  10. KVM: x86/speculation: Disable Fill buffer clear within guests

    commit 027bbb8 upstream
    
    The enumeration of MD_CLEAR in CPUID(EAX=7,ECX=0).EDX{bit 10} is not an
    accurate indicator on all CPUs of whether the VERW instruction will
    overwrite fill buffers. FB_CLEAR enumeration in
    IA32_ARCH_CAPABILITIES{bit 17} covers the case of CPUs that are not
    vulnerable to MDS/TAA, indicating that microcode does overwrite fill
    buffers.
    
    Guests running in VMM environments may not be aware of all the
    capabilities/vulnerabilities of the host CPU. Specifically, a guest may
    apply MDS/TAA mitigations when a virtual CPU is enumerated as vulnerable
    to MDS/TAA even when the physical CPU is not. On CPUs that enumerate
    FB_CLEAR_CTRL the VMM may set FB_CLEAR_DIS to skip overwriting of fill
    buffers by the VERW instruction. This is done by setting FB_CLEAR_DIS
    during VMENTER and resetting on VMEXIT. For guests that enumerate
    FB_CLEAR (explicitly asking for fill buffer clear capability) the VMM
    will not use FB_CLEAR_DIS.
    
    Irrespective of guest state, host overwrites CPU buffers before VMENTER
    to protect itself from an MMIO capable guest, as part of mitigation for
    MMIO Stale Data vulnerabilities.
    
    Signed-off-by: Pawan Gupta <[email protected]>
    Signed-off-by: Borislav Petkov <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    pa1gupta authored and gregkh committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    0b4bd3f View commit details
    Browse the repository at this point in the history
  11. x86/speculation/mmio: Print SMT warning

    commit 1dc6ff0 upstream
    
    Similar to MDS and TAA, print a warning if SMT is enabled for the MMIO
    Stale Data vulnerability.
    
    Signed-off-by: Josh Poimboeuf <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jpoimboe authored and gregkh committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    4064fc1 View commit details
    Browse the repository at this point in the history
  12. Linux 5.18.5

    Link: https://lore.kernel.org/r/[email protected]
    Tested-by: Florian Fainelli <[email protected]>
    Tested-by: Fox Chen <[email protected]>
    Tested-by: Ronald Warsow <[email protected]
    Tested-by: Shuah Khan <[email protected]>
    Tested-by: Ron Economos <[email protected]>
    Tested-by: Bagas Sanjaya <[email protected]>
    Tested-by: Fenil Jain <[email protected]>
    Tested-by: Rudi Heitbaum <[email protected]>
    Tested-by: Linux Kernel Functional Testing <[email protected]>
    Tested-by: Guenter Roeck <[email protected]>
    Tested-by: Salvatore Bonaccorso <[email protected]>
    Tested-by: Jon Hunter <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    gregkh committed Jun 16, 2022
    Configuration menu
    Copy the full SHA
    71563d6 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2022

  1. Revert "drm/amd/display: Fix DCN3 B0 DP Alt Mapping"

    commit 1039188 upstream.
    
    This reverts commit 4b7786d.
    
    Commit 4b7786d ("drm/amd/display: Fix DCN3 B0 DP Alt Mapping")
    is causing 2nd USB-C display not lighting up.
    Phy id remapping is done differently than is assumed in this
    patch.
    
    Signed-off-by: Stylon Wang <[email protected]>
    Reviewed-by: Nicholas Kazlauskas <[email protected]>
    Tested-by: Daniel Wheeler <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: "Limonciello, Mario" <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Stylon Wang authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f4bfedc View commit details
    Browse the repository at this point in the history
  2. arm64: dts: imx8mm-beacon: Enable RTS-CTS on UART3

    commit 4ce01ce upstream.
    
    There is a header for a DB9 serial port, but any attempts to use
    hardware handshaking fail.  Enable RTS and CTS pin muxing and enable
    handshaking in the uart node.
    
    Signed-off-by: Adam Ford <[email protected]>
    Signed-off-by: Shawn Guo <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    aford173 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    2db1e03 View commit details
    Browse the repository at this point in the history
  3. arm64: dts: imx8mn-beacon: Enable RTS-CTS on UART3

    commit 5446ff1 upstream.
    
    There is a header for a DB9 serial port, but any attempts to use
    hardware handshaking fail.  Enable RTS and CTS pin muxing and enable
    handshaking in the uart node.
    
    Signed-off-by: Adam Ford <[email protected]>
    Signed-off-by: Shawn Guo <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    aford173 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    78928b6 View commit details
    Browse the repository at this point in the history
  4. io_uring: reinstate the inflight tracking

    commit 9cae36a upstream.
    
    After some debugging, it was realized that we really do still need the
    old inflight tracking for any file type that has io_uring_fops assigned.
    If we don't, then trivial circular references will mean that we never get
    the ctx cleaned up and hence it'll leak.
    
    Just bring back the inflight tracking, which then also means we can
    eliminate the conditional dropping of the file when task_work is queued.
    
    Fixes: d536123 ("io_uring: drop the old style inflight file tracking")
    Signed-off-by: Jens Axboe <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    axboe authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    bba36a2 View commit details
    Browse the repository at this point in the history
  5. powerpc/kasan: Silence KASAN warnings in __get_wchan()

    [ Upstream commit a1b29ba ]
    
    The following KASAN warning was reported in our kernel.
    
      BUG: KASAN: stack-out-of-bounds in get_wchan+0x188/0x250
      Read of size 4 at addr d216f958 by task ps/14437
    
      CPU: 3 PID: 14437 Comm: ps Tainted: G           O      5.10.0 #1
      Call Trace:
      [daa63858] [c0654348] dump_stack+0x9c/0xe4 (unreliable)
      [daa63888] [c035cf0c] print_address_description.constprop.3+0x8c/0x570
      [daa63908] [c035d6bc] kasan_report+0x1ac/0x218
      [daa63948] [c00496e8] get_wchan+0x188/0x250
      [daa63978] [c0461ec8] do_task_stat+0xce8/0xe60
      [daa63b98] [c0455ac8] proc_single_show+0x98/0x170
      [daa63bc8] [c03cab8c] seq_read_iter+0x1ec/0x900
      [daa63c38] [c03cb47c] seq_read+0x1dc/0x290
      [daa63d68] [c037fc94] vfs_read+0x164/0x510
      [daa63ea8] [c03808e4] ksys_read+0x144/0x1d0
      [daa63f38] [c005b1dc] ret_from_syscall+0x0/0x38
      --- interrupt: c00 at 0x8fa8f4
          LR = 0x8fa8cc
    
      The buggy address belongs to the page:
      page:98ebcdd2 refcount:0 mapcount:0 mapping:00000000 index:0x2 pfn:0x1216f
      flags: 0x0()
      raw: 00000000 00000000 01010122 00000000 00000002 00000000 ffffffff 00000000
      raw: 00000000
      page dumped because: kasan: bad access detected
    
      Memory state around the buggy address:
       d216f800: 00 00 00 00 00 f1 f1 f1 f1 00 00 00 00 00 00 00
       d216f880: f2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      >d216f900: 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00
                                                ^
       d216f980: f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00
       d216fa00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    After looking into this issue, I find the buggy address belongs
    to the task stack region. It seems KASAN has something wrong.
    I look into the code of __get_wchan in x86 architecture and
    find the same issue has been resolved by the commit
    f7d27c3 ("x86/mm, kasan: Silence KASAN warnings in get_wchan()").
    The solution could be applied to powerpc architecture too.
    
    As Andrey Ryabinin said, get_wchan() is racy by design, it may
    access volatile stack of running task, thus it may access
    redzone in a stack frame and cause KASAN to warn about this.
    
    Use READ_ONCE_NOCHECK() to silence these warnings.
    
    Reported-by: Wanming Hu <[email protected]>
    Signed-off-by: He Ying <[email protected]>
    Signed-off-by: Chen Jingwen <[email protected]>
    Reviewed-by: Kees Cook <[email protected]>
    Signed-off-by: Michael Ellerman <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Sasha Levin <[email protected]>
    He Ying authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    23f6ebb View commit details
    Browse the repository at this point in the history
  6. ASoC: nau8822: Add operation for internal PLL off and on

    [ Upstream commit aeca8a3 ]
    
    We tried to enable the audio on an imx6sx EVB with the codec nau8822,
    after setting the internal PLL fractional parameters, the audio still
    couldn't work and the there was no sdma irq at all.
    
    After checking with the section "8.1.1 Phase Locked Loop (PLL) Design
    Example" of "NAU88C22 Datasheet Rev 0.6", we found we need to
    turn off the PLL before programming fractional parameters and turn on
    the PLL after programming.
    
    After this change, the audio driver could record and play sound and
    the sdma's irq is triggered when playing or recording.
    
    Cc: David Lin <[email protected]>
    Cc: John Hsu <[email protected]>
    Cc: Seven Li <[email protected]>
    Signed-off-by: Hui Wang <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    jason77-wang authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    36274fa View commit details
    Browse the repository at this point in the history
  7. ASoC: qcom: lpass-platform: Update VMA access permissions in mmap cal…

    …lback
    
    [ Upstream commit ef8d89b ]
    
    Replace page protection permissions from noncashed to writecombine,
    in lpass codec DMA path mmp callabck, to support 64 bit chromeOS.
    Avoid SIGBUS error in userspace caused by noncached permissions in
    64 bit chromeOS.
    
    Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Srinivasa Rao Mandadapu authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    0ba8de3 View commit details
    Browse the repository at this point in the history
  8. drm/amd/display: Read Golden Settings Table from VBIOS

    [ Upstream commit 4b81dd2 ]
    
    [Why]
    Dmub read AUX_DPHY_RX_CONTROL0 from Golden Setting Table,
    but driver will set it to default value 0x103d1110, which
    causes issue in some case
    
    [How]
    Remove the driver code, use the value set by dmub in
    dp_aux_init
    
    Reviewed-by: Nicholas Kazlauskas <[email protected]>
    Acked-by: Jasdeep Dhillon <[email protected]>
    Tested-by: Daniel Wheeler <[email protected]>
    Signed-off-by: Sherry Wang <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Sherry Wang authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    dda01a4 View commit details
    Browse the repository at this point in the history
  9. drm/amdgpu: Resolve RAS GFX error count issue after cold boot on Arct…

    …urus
    
    [ Upstream commit 2a46096 ]
    
    Adjust the sequence for ras late init and separate ras reset error status
    from query status.
    
    v2: squash in fix from Candice
    
    Signed-off-by: Candice Li <[email protected]>
    Reviewed-by: Hawking Zhang <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    candicelicy authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    97d3d12 View commit details
    Browse the repository at this point in the history
  10. drm/amdkfd: Use mmget_not_zero in MMU notifier

    [ Upstream commit fa582c6 ]
    
    MMU notifier callback may pass in mm with mm->mm_users==0 when process
    is exiting, use mmget_no_zero to avoid accessing invalid mm in deferred
    list work after mm is gone.
    
    Signed-off-by: Philip Yang <[email protected]>
    Reviewed-by: Felix Kuehling <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    PhilipYangA authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    4b29b8d View commit details
    Browse the repository at this point in the history
  11. dma-debug: make things less spammy under memory pressure

    [ Upstream commit e19f8fa ]
    
    Limit the error msg to avoid flooding the console.  If you have a lot of
    threads hitting this at once, they could have already gotten passed the
    dma_debug_disabled() check before they get to the point of allocation
    failure, resulting in quite a lot of this error message spamming the
    log.  Use pr_err_once() to limit that.
    
    Signed-off-by: Rob Clark <[email protected]>
    Signed-off-by: Christoph Hellwig <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    robclark authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f17178f View commit details
    Browse the repository at this point in the history
  12. ASoC: Intel: cirrus-common: fix incorrect channel mapping

    [ Upstream commit d69a155 ]
    
    The default mapping of ASPRX1 (DAC source) is slot 0. Change the slot
    mapping of right amplifiers (WR and TR) to slot 1 to receive right
    channel data. Also update the ACPI instance ID mapping according to HW
    configuration.
    
    Signed-off-by: xliu <[email protected]>
    Signed-off-by: Brent Lu <[email protected]>
    Acked-by: Pierre-Louis Bossart <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    antonliu authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    b19b9d7 View commit details
    Browse the repository at this point in the history
  13. ASoC: cs42l52: Fix TLV scales for mixer controls

    [ Upstream commit 8bf5aab ]
    
    The datasheet specifies the range of the mixer volumes as between
    -51.5dB and 12dB with a 0.5dB step. Update the TLVs for this.
    
    Signed-off-by: Charles Keepax <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    charleskeepax authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    48ac393 View commit details
    Browse the repository at this point in the history
  14. ASoC: cs35l36: Update digital volume TLV

    [ Upstream commit 5005a23 ]
    
    The digital volume TLV specifies the step as 0.25dB but the actual step
    of the control is 0.125dB. Update the TLV to correct this.
    
    Signed-off-by: Charles Keepax <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    charleskeepax authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    185d7b6 View commit details
    Browse the repository at this point in the history
  15. ASoC: cs53l30: Correct number of volume levels on SX controls

    [ Upstream commit 7fbd6dd ]
    
    This driver specified the maximum value rather than the number of volume
    levels on the SX controls, this is incorrect, so correct them.
    
    Reported-by: David Rhodes <[email protected]>
    Signed-off-by: Charles Keepax <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    charleskeepax authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    7b63e1b View commit details
    Browse the repository at this point in the history
  16. ASoC: cs42l52: Correct TLV for Bypass Volume

    [ Upstream commit 91e90c7 ]
    
    The Bypass Volume is accidentally using a -6dB minimum TLV rather than
    the correct -60dB minimum. Add a new TLV to correct this.
    
    Signed-off-by: Charles Keepax <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    charleskeepax authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f517f43 View commit details
    Browse the repository at this point in the history
  17. ASoC: cs42l56: Correct typo in minimum level for SX volume controls

    [ Upstream commit a8928ad ]
    
    A couple of the SX volume controls specify 0x84 as the lowest volume
    value, however the correct value from the datasheet is 0x44. The
    datasheet don't include spaces in the value it displays as binary so
    this was almost certainly just a typo reading 1000100.
    
    Signed-off-by: Charles Keepax <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    charleskeepax authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    781e2bc View commit details
    Browse the repository at this point in the history
  18. ASoC: cs42l51: Correct minimum value for SX volume control

    [ Upstream commit fcb3b5a ]
    
    The minimum value for the PGA Volume is given as 0x1A, however the
    values from there to 0x19 are all the same volume and this is not
    represented in the TLV structure. The number of volumes given is correct
    so this leads to all the volumes being shifted. Move the minimum value
    up to 0x19 to fix this.
    
    Signed-off-by: Charles Keepax <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    charleskeepax authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f71a5ca View commit details
    Browse the repository at this point in the history
  19. drm/amdkfd: add pinned BOs to kfd_bo_list

    [ Upstream commit 4fac4fc ]
    
    The kfd_bo_list is used to restore process BOs after
    evictions. As page tables could be destroyed during
    evictions, we should also update pinned BOs' page tables
    during restoring to make sure they are valid.
    
    So for pinned BOs,
    1, Validate them and update their page tables.
    2, Don't add eviction fence for them.
    
    v2:
     - Don't handle pinned ones specially in BO validation.(Felix)
    
    Signed-off-by: Lang Yu <[email protected]>
    Acked-by: Christian König <[email protected]>
    Reviewed-by: Felix Kuehling <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Lang Yu authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    87b69fd View commit details
    Browse the repository at this point in the history
  20. ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()

    [ Upstream commit bf476fe ]
    
    In an unlikely (and probably wrong?) case that the 'ppi' parameter of
    ata_host_alloc_pinfo() points to an array starting with a NULL pointer,
    there's going to be a kernel oops as the 'pi' local variable won't get
    reassigned from the initial value of NULL. Initialize 'pi' instead to
    '&ata_dummy_port_info' to fix the possible kernel oops for good...
    
    Found by Linux Verification Center (linuxtesting.org) with the SVACE static
    analysis tool.
    
    Signed-off-by: Sergey Shtylyov <[email protected]>
    Signed-off-by: Damien Le Moal <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Sergey Shtylyov authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    07cbdb4 View commit details
    Browse the repository at this point in the history
  21. quota: Prevent memory allocation recursion while holding dq_lock

    [ Upstream commit 537e11c ]
    
    As described in commit 02117b8 ("f2fs: Set GF_NOFS in
    read_cache_page_gfp while doing f2fs_quota_read"), we must not enter
    filesystem reclaim while holding the dq_lock.  Prevent this more generally
    by using memalloc_nofs_save() while holding the lock.
    
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Matthew Wilcox (Oracle) <[email protected]>
    Signed-off-by: Jan Kara <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Matthew Wilcox (Oracle) authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    a9dc1d3 View commit details
    Browse the repository at this point in the history
  22. ASoC: wm8962: Fix suspend while playing music

    [ Upstream commit d1f5272 ]
    
    If the audio CODEC is playing sound when the system is suspended,
    it can be left in a state which throws the following error:
    
    wm8962 3-001a: ASoC: error at soc_component_read_no_lock on wm8962.3-001a: -16
    
    Once this error has occurred, the audio will not work again until rebooted.
    
    Fix this by configuring SET_SYSTEM_SLEEP_PM_OPS.
    
    Signed-off-by: Adam Ford <[email protected]>
    Acked-by: Charles Keepax <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    aford173 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    02b3ce5 View commit details
    Browse the repository at this point in the history
  23. ASoC: es8328: Fix event generation for deemphasis control

    [ Upstream commit 8259610 ]
    
    Currently the put() method for the deemphasis control returns 0 when a new
    value is written to the control even if the value changed, meaning events
    are not generated. Fix this, skip the work of updating the value when it is
    unchanged and then return 1 after having done so.
    
    Signed-off-by: Mark Brown <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    broonie authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    8eb70df View commit details
    Browse the repository at this point in the history
  24. ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put()

    [ Upstream commit 2abdf9f ]
    
    Currently wm_adsp_fw_put() returns 0 rather than 1 when updating the value
    of the control, meaning that no event is generated to userspace. Fix this
    by setting the default return value to 1, the code already exits early with
    a return value of 0 if the value is unchanged.
    
    Signed-off-by: Mark Brown <[email protected]>
    Reviewed-by: Richard Fitzgerald <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    broonie authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    1b89ae5 View commit details
    Browse the repository at this point in the history
  25. ALSA: hda: MTL: add HD Audio PCI ID and HDMI codec vendor ID

    [ Upstream commit 2e45f21 ]
    
    Add HD Audio PCI ID for Intel Meteorlake platform.
    
    [ corrected the hex number to lower letters by tiwai ]
    
    Signed-off-by: Kai Vehmanen <[email protected]>
    Signed-off-by: Yong Zhi <[email protected]>
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    yongzhi1 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    1f168c5 View commit details
    Browse the repository at this point in the history
  26. Input: soc_button_array - also add Lenovo Yoga Tablet2 1051F to dmi_u…

    …se_low_level_irq
    
    [ Upstream commit 6ab2e51 ]
    
    Commit 223f61b ("Input: soc_button_array - add Lenovo Yoga Tablet2
    1051L to the dmi_use_low_level_irq list") added the 1051L to this list
    already, but the same problem applies to the 1051F. As there are no
    further 1051 variants (just the F/L), we can just DMI match 1051.
    
    Tested on a Lenovo Yoga Tablet2 1051F: Without this patch the
    home-button stops working after a wakeup from suspend.
    
    Signed-off-by: Marius Hoch <[email protected]>
    Reviewed-by: Hans de Goede <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Dmitry Torokhov <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    mariushoch authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    def1d51 View commit details
    Browse the repository at this point in the history
  27. scsi: vmw_pvscsi: Expand vcpuHint to 16 bits

    [ Upstream commit cf71d59 ]
    
    vcpuHint has been expanded to 16 bit on host to enable routing to more
    CPUs. Guest side should align with the change. This change has been tested
    with hosts with 8-bit and 16-bit vcpuHint, on both platforms host side can
    get correct value.
    
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Wentao Wang <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Wentao Wang authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    64a1e24 View commit details
    Browse the repository at this point in the history
  28. scsi: lpfc: Resolve NULL ptr dereference after an ELS LOGO is aborted

    [ Upstream commit b1b3440 ]
    
    A use-after-free crash can occur after an ELS LOGO is aborted.
    
    Specifically, a nodelist structure is freed and then
    ndlp->vport->cfg_log_verbose is dereferenced in lpfc_nlp_get() when the
    discovery state machine is mistakenly called a second time with
    NLP_EVT_DEVICE_RM argument.
    
    Rework lpfc_cmpl_els_logo() to prevent the duplicate calls to release a
    nodelist structure.
    
    Link: https://lore.kernel.org/r/[email protected]
    Co-developed-by: Justin Tee <[email protected]>
    Signed-off-by: Justin Tee <[email protected]>
    Signed-off-by: James Smart <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    jsmart-gh authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    eea34ce View commit details
    Browse the repository at this point in the history
  29. scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology

    [ Upstream commit 336d636 ]
    
    After issuing a LIP, a specific target vendor does not ACC the FLOGI that
    lpfc sends.  However, it does send its own FLOGI that lpfc ACCs.  The
    target then establishes the port IDs by sending a PLOGI.  lpfc PLOGI_ACCs
    and starts the RPI registration for DID 0x000001.  The target then sends a
    LOGO to the fabric DID.  lpfc is currently treating the LOGO from the
    fabric DID as a link down and cleans up all the ndlps.  The ndlp for DID
    0x000001 is put back into NPR and discovery stops, leaving the port in
    stuck in bypassed mode.
    
    Change lpfc behavior such that if a LOGO is received for the fabric DID in
    PT2PT topology skip the lpfc_linkdown_port() routine and just move the
    fabric DID back to NPR.
    
    Link: https://lore.kernel.org/r/[email protected]
    Co-developed-by: Justin Tee <[email protected]>
    Signed-off-by: Justin Tee <[email protected]>
    Signed-off-by: James Smart <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    jsmart-gh authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    1cb13d7 View commit details
    Browse the repository at this point in the history
  30. scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd…

    … completion
    
    [ Upstream commit 2e7e9c0 ]
    
    NVMe Asynchronous Event Request commands have no command timeout value per
    specifications.
    
    Set WQE option to allow a reduced FLUSH polling rate for I/O error
    detection specifically for nvme_admin_async_event commands.
    
    Link: https://lore.kernel.org/r/[email protected]
    Co-developed-by: Justin Tee <[email protected]>
    Signed-off-by: Justin Tee <[email protected]>
    Signed-off-by: James Smart <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    jsmart-gh authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    2654102 View commit details
    Browse the repository at this point in the history
  31. scsi: mpt3sas: Fix out-of-bounds compiler warning

    [ Upstream commit 120f1d9 ]
    
    I'm facing this warning when building for the parisc64 architecture:
    
    drivers/scsi/mpt3sas/mpt3sas_base.c: In function ‘_base_make_ioc_operational’:
    drivers/scsi/mpt3sas/mpt3sas_base.c:5396:40: warning: array subscript ‘Mpi2SasIOUnitPage1_t {aka struct _MPI2_CONFIG_PAGE_SASIOUNIT_1}[0]’ is partly outside array bounds of ‘unsigned char[20]’ [-Warray-bounds]
     5396 |             (le16_to_cpu(sas_iounit_pg1->SASWideMaxQueueDepth)) ?
    drivers/scsi/mpt3sas/mpt3sas_base.c:5382:26: note: referencing an object of size 20 allocated by ‘kzalloc’
     5382 |         sas_iounit_pg1 = kzalloc(sz, GFP_KERNEL);
          |                          ^~~~~~~~~~~~~~~~~~~~~~~
    
    The problem is, that only 20 bytes are allocated with kmalloc(), which is
    sufficient to hold the bytes which are needed.  Nevertheless, gcc complains
    because the whole Mpi2SasIOUnitPage1_t struct is 32 bytes in size and thus
    doesn't fit into those 20 bytes.
    
    This patch simply allocates all 32 bytes (instead of 20) and thus avoids
    the warning. There is no functional change introduced by this patch.
    
    While touching the code I cleaned up to calculation of max_wideport_qd,
    max_narrowport_qd and max_sata_qd to make it easier readable.
    
    Test successfully tested on a HP C8000 PA-RISC workstation with 64-bit
    kernel.
    
    Link: https://lore.kernel.org/r/YpZ197iZdDZSCzrT@p100
    Signed-off-by: Helge Deller <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    hdeller authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f03efd4 View commit details
    Browse the repository at this point in the history
  32. scsi: ipr: Fix missing/incorrect resource cleanup in error case

    [ Upstream commit d64c491 ]
    
    Fix missing resource cleanup (when '(--i) == 0') for error case in
    ipr_alloc_mem() and skip incorrect resource cleanup (when '(--i) == 0') for
    error case in ipr_request_other_msi_irqs() because variable i started from
    1.
    
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Dan Carpenter <[email protected]>
    Acked-by: Brian King <[email protected]>
    Signed-off-by: Chengguang Xu <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    cgxu519 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    5320b9d View commit details
    Browse the repository at this point in the history
  33. scsi: pmcraid: Fix missing resource cleanup in error case

    [ Upstream commit ec1e8ad ]
    
    Fix missing resource cleanup (when '(--i) == 0') for error case in
    pmcraid_register_interrupt_handler().
    
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Dan Carpenter <[email protected]>
    Signed-off-by: Chengguang Xu <[email protected]>
    Signed-off-by: Martin K. Petersen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    cgxu519 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    ab8c642 View commit details
    Browse the repository at this point in the history
  34. ALSA: hda/realtek - Add HW8326 support

    [ Upstream commit 527f464 ]
    
    Added the support of new Huawei codec HW8326. The HW8326 is developed
    by Huawei with Realtek's IP Core, and it's compatible with ALC256.
    
    Signed-off-by: huangwenhui <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    hwithaheart authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    6ef27fc View commit details
    Browse the repository at this point in the history
  35. virtio-mmio: fix missing put_device() when vm_cmdline_parent registra…

    …tion failed
    
    [ Upstream commit a58a7f9 ]
    
    The reference must be released when device_register(&vm_cmdline_parent)
    failed. Add the corresponding 'put_device()' in the error handling path.
    
    Signed-off-by: chengkaitao <[email protected]>
    Message-Id: <[email protected]>
    Signed-off-by: Michael S. Tsirkin <[email protected]>
    Acked-by: Jason Wang <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    chengkaitao authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    2c126f6 View commit details
    Browse the repository at this point in the history
  36. nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred

    [ Upstream commit 8a4d480 ]
    
    Similar to the handling of play_deferred in commit 19cfe91
    ("Bluetooth: btusb: Fix memory leak in play_deferred"), we thought
    a patch might be needed here as well.
    
    Currently usb_submit_urb is called directly to submit deferred tx
    urbs after unanchor them.
    
    So the usb_giveback_urb_bh would failed to unref it in usb_unanchor_urb
    and cause memory leak.
    
    Put those urbs in tx_anchor to avoid the leak, and also fix the error
    handling.
    
    Signed-off-by: Xiaohui Zhang <[email protected]>
    Acked-by: Krzysztof Kozlowski <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Xiaohui Zhang authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    3eadc56 View commit details
    Browse the repository at this point in the history
  37. ipv6: Fix signed integer overflow in __ip6_append_data

    [ Upstream commit f93431c ]
    
    Resurrect ubsan overflow checks and ubsan report this warning,
    fix it by change the variable [length] type to size_t.
    
    UBSAN: signed-integer-overflow in net/ipv6/ip6_output.c:1489:19
    2147479552 + 8567 cannot be represented in type 'int'
    CPU: 0 PID: 253 Comm: err Not tainted 5.16.0+ #1
    Hardware name: linux,dummy-virt (DT)
    Call trace:
      dump_backtrace+0x214/0x230
      show_stack+0x30/0x78
      dump_stack_lvl+0xf8/0x118
      dump_stack+0x18/0x30
      ubsan_epilogue+0x18/0x60
      handle_overflow+0xd0/0xf0
      __ubsan_handle_add_overflow+0x34/0x44
      __ip6_append_data.isra.48+0x1598/0x1688
      ip6_append_data+0x128/0x260
      udpv6_sendmsg+0x680/0xdd0
      inet6_sendmsg+0x54/0x90
      sock_sendmsg+0x70/0x88
      ____sys_sendmsg+0xe8/0x368
      ___sys_sendmsg+0x98/0xe0
      __sys_sendmmsg+0xf4/0x3b8
      __arm64_sys_sendmmsg+0x34/0x48
      invoke_syscall+0x64/0x160
      el0_svc_common.constprop.4+0x124/0x300
      do_el0_svc+0x44/0xc8
      el0_svc+0x3c/0x1e8
      el0t_64_sync_handler+0x88/0xb0
      el0t_64_sync+0x16c/0x170
    
    Changes since v1:
    -Change the variable [length] type to unsigned, as Eric Dumazet suggested.
    Changes since v2:
    -Don't change exthdrlen type in ip6_make_skb, as Paolo Abeni suggested.
    Changes since v3:
    -Don't change ulen type in udpv6_sendmsg and l2tp_ip6_sendmsg, as
    Jakub Kicinski suggested.
    
    Reported-by: Hulk Robot <[email protected]>
    Signed-off-by: Wang Yufen <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    wangyufen316 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    84dc940 View commit details
    Browse the repository at this point in the history
  38. ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg

    [ Upstream commit f638a84 ]
    
    When len >= INT_MAX - transhdrlen, ulen = len + transhdrlen will be
    overflow. To fix, we can follow what udpv6 does and subtract the
    transhdrlen from the max.
    
    Signed-off-by: Wang Yufen <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    wangyufen316 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    0342461 View commit details
    Browse the repository at this point in the history
  39. net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[…

    …napi]_alloc_frag
    
    [ Upstream commit 2f2c0d2 ]
    
    When rx_flag == MTK_RX_FLAGS_HWLRO,
    rx_data_len = MTK_MAX_LRO_RX_LENGTH(4096 * 3) > PAGE_SIZE.
    netdev_alloc_frag is for alloction of page fragment only.
    Reference to other drivers and Documentation/vm/page_frags.rst
    
    Branch to use __get_free_pages when ring->frag_size > PAGE_SIZE.
    
    Signed-off-by: Chen Lin <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    chen45464546 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    b6dc875 View commit details
    Browse the repository at this point in the history
  40. gcc-12: disable '-Wdangling-pointer' warning for now

    [ Upstream commit 49beadb ]
    
    While the concept of checking for dangling pointers to local variables
    at function exit is really interesting, the gcc-12 implementation is not
    compatible with reality, and results in false positives.
    
    For example, gcc sees us putting things on a local list head allocated
    on the stack, which involves exactly those kinds of pointers to the
    local stack entry:
    
      In function ‘__list_add’,
          inlined from ‘list_add_tail’ at include/linux/list.h:102:2,
          inlined from ‘rebuild_snap_realms’ at fs/ceph/snap.c:434:2:
      include/linux/list.h:74:19: warning: storing the address of local variable ‘realm_queue’ in ‘*&realm_27(D)->rebuild_item.prev’ [-Wdangling-pointer=]
         74 |         new->prev = prev;
            |         ~~~~~~~~~~^~~~~~
    
    But then gcc - understandably - doesn't really understand the big
    picture how the doubly linked list works, so doesn't see how we then end
    up emptying said list head in a loop and the pointer we added has been
    removed.
    
    Gcc also complains about us (intentionally) using this as a way to store
    a kind of fake stack trace, eg
    
      drivers/acpi/acpica/utdebug.c:40:38: warning: storing the address of local variable ‘current_sp’ in ‘acpi_gbl_entry_stack_pointer’ [-Wdangling-pointer=]
         40 |         acpi_gbl_entry_stack_pointer = &current_sp;
            |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
    
    which is entirely reasonable from a compiler standpoint, and we may want
    to change those kinds of patterns, but not not.
    
    So this is one of those "it would be lovely if the compiler were to
    complain about us leaving dangling pointers to the stack", but not this
    way.
    
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    torvalds authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    4195e33 View commit details
    Browse the repository at this point in the history
  41. mellanox: mlx5: avoid uninitialized variable warning with gcc-12

    [ Upstream commit 842c3b3 ]
    
    gcc-12 started warning about 'tracker' being used uninitialized:
    
      drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c: In function ‘mlx5_do_bond’:
      drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c:786:28: warning: ‘tracker’ is used uninitialized [-Wuninitialized]
        786 |         struct lag_tracker tracker;
            |                            ^~~~~~~
    
    which seems to be because it doesn't track how the use (and
    initialization) is bound by the 'do_bond' flag.
    
    But admittedly that 'do_bond' usage is fairly complicated, and involves
    passing it around as an argument to helper functions, so it's somewhat
    understandable that gcc doesn't see how that all works.
    
    This function could be rewritten to make the use of that tracker
    variable more obviously safe, but for now I'm just adding the forced
    initialization of it.
    
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    torvalds authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    03ea884 View commit details
    Browse the repository at this point in the history
  42. gcc-12: disable '-Warray-bounds' universally for now

    [ Upstream commit f0be87c ]
    
    In commit 8b202ee ("s390: disable -Warray-bounds") the s390 people
    disabled the '-Warray-bounds' warning for gcc-12, because the new logic
    in gcc would cause warnings for their use of the S390_lowcore macro,
    which accesses absolute pointers.
    
    It turns out gcc-12 has many other issues in this area, so this takes
    that s390 warning disable logic, and turns it into a kernel build config
    entry instead.
    
    Part of the intent is that we can make this all much more targeted, and
    use this conflig flag to disable it in only particular configurations
    that cause problems, with the s390 case as an example:
    
            select GCC12_NO_ARRAY_BOUNDS
    
    and we could do that for other configuration cases that cause issues.
    
    Or we could possibly use the CONFIG_CC_NO_ARRAY_BOUNDS thing in a more
    targeted way, and disable the warning only for particular uses: again
    the s390 case as an example:
    
      KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_CC_NO_ARRAY_BOUNDS),-Wno-array-bounds)
    
    but this ends up just doing it globally in the top-level Makefile, since
    the current issues are spread fairly widely all over:
    
      KBUILD_CFLAGS-$(CONFIG_CC_NO_ARRAY_BOUNDS) += -Wno-array-bounds
    
    We'll try to limit this later, since the gcc-12 problems are rare enough
    that *much* of the kernel can be built with it without disabling this
    warning.
    
    Cc: Kees Cook <[email protected]>
    Cc: Nathan Chancellor <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    torvalds authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    d412bc9 View commit details
    Browse the repository at this point in the history
  43. netfs: gcc-12: temporarily disable '-Wattribute-warning' for now

    [ Upstream commit 507160f ]
    
    This is a pure band-aid so that I can continue merging stuff from people
    while some of the gcc-12 fallout gets sorted out.
    
    In particular, gcc-12 is very unhappy about the kinds of pointer
    arithmetic tricks that netfs does, and that makes the fortify checks
    trigger in afs and ceph:
    
      In function ‘fortify_memset_chk’,
          inlined from ‘netfs_i_context_init’ at include/linux/netfs.h:327:2,
          inlined from ‘afs_set_netfs_context’ at fs/afs/inode.c:61:2,
          inlined from ‘afs_root_iget’ at fs/afs/inode.c:543:2:
      include/linux/fortify-string.h:258:25: warning: call to ‘__write_overflow_field’ declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
        258 |                         __write_overflow_field(p_size_field, size);
            |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    and the reason is that netfs_i_context_init() is passed a 'struct inode'
    pointer, and then it does
    
            struct netfs_i_context *ctx = netfs_i_context(inode);
    
            memset(ctx, 0, sizeof(*ctx));
    
    where that netfs_i_context() function just does pointer arithmetic on
    the inode pointer, knowing that the netfs_i_context is laid out
    immediately after it in memory.
    
    This is all truly disgusting, since the whole "netfs_i_context is laid
    out immediately after it in memory" is not actually remotely true in
    general, but is just made to be that way for afs and ceph.
    
    See for example fs/cifs/cifsglob.h:
    
      struct cifsInodeInfo {
            struct {
                    /* These must be contiguous */
                    struct inode    vfs_inode;      /* the VFS's inode record */
                    struct netfs_i_context netfs_ctx; /* Netfslib context */
            };
    	[...]
    
    and realize that this is all entirely wrong, and the pointer arithmetic
    that netfs_i_context() is doing is also very very wrong and wouldn't
    give the right answer if netfs_ctx had different alignment rules from a
    'struct inode', for example).
    
    Anyway, that's just a long-winded way to say "the gcc-12 warning is
    actually quite reasonable, and our code happens to work but is pretty
    disgusting".
    
    This is getting fixed properly, but for now I made the mistake of
    thinking "the week right after the merge window tends to be calm for me
    as people take a breather" and I did a sustem upgrade.  And I got gcc-12
    as a result, so to continue merging fixes from people and not have the
    end result drown in warnings, I am fixing all these gcc-12 issues I hit.
    
    Including with these kinds of temporary fixes.
    
    Cc: Kees Cook <[email protected]>
    Cc: David Howells <[email protected]>
    Link: https://lore.kernel.org/all/[email protected]/
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    torvalds authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    28da3ad View commit details
    Browse the repository at this point in the history
  44. MIPS: Loongson-3: fix compile mips cpu_hwmon as module build error.

    [ Upstream commit 41e4564 ]
    
      set cpu_hwmon as a module build with loongson_sysconf, loongson_chiptemp
      undefined error,fix cpu_hwmon compile options to be bool.Some kernel
      compilation error information is as follows:
    
      Checking missing-syscalls for N32
      CALL    scripts/checksyscalls.sh
      Checking missing-syscalls for O32
      CALL    scripts/checksyscalls.sh
      CALL    scripts/checksyscalls.sh
      CHK     include/generated/compile.h
      CC [M]  drivers/platform/mips/cpu_hwmon.o
      Building modules, stage 2.
      MODPOST 200 modules
    ERROR: "loongson_sysconf" [drivers/platform/mips/cpu_hwmon.ko] undefined!
    ERROR: "loongson_chiptemp" [drivers/platform/mips/cpu_hwmon.ko] undefined!
    make[1]: *** [scripts/Makefile.modpost:92:__modpost] 错误 1
    make: *** [Makefile:1261:modules] 错误 2
    
    Signed-off-by: Yupeng Li <[email protected]>
    Reviewed-by: Guenter Roeck <[email protected]>
    Reviewed-by: Huacai Chen <[email protected]>
    Signed-off-by: Thomas Bogendoerfer <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Yupeng Li authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    5ab0cf0 View commit details
    Browse the repository at this point in the history
  45. random: credit cpu and bootloader seeds by default

    [ Upstream commit 846bb97 ]
    
    This commit changes the default Kconfig values of RANDOM_TRUST_CPU and
    RANDOM_TRUST_BOOTLOADER to be Y by default. It does not change any
    existing configs or change any kernel behavior. The reason for this is
    several fold.
    
    As background, I recently had an email thread with the kernel
    maintainers of Fedora/RHEL, Debian, Ubuntu, Gentoo, Arch, NixOS, Alpine,
    SUSE, and Void as recipients. I noted that some distros trust RDRAND,
    some trust EFI, and some trust both, and I asked why or why not. There
    wasn't really much of a "debate" but rather an interesting discussion of
    what the historical reasons have been for this, and it came up that some
    distros just missed the introduction of the bootloader Kconfig knob,
    while another didn't want to enable it until there was a boot time
    switch to turn it off for more concerned users (which has since been
    added). The result of the rather uneventful discussion is that every
    major Linux distro enables these two options by default.
    
    While I didn't have really too strong of an opinion going into this
    thread -- and I mostly wanted to learn what the distros' thinking was
    one way or another -- ultimately I think their choice was a decent
    enough one for a default option (which can be disabled at boot time).
    I'll try to summarize the pros and cons:
    
    Pros:
    
    - The RNG machinery gets initialized super quickly, and there's no
      messing around with subsequent blocking behavior.
    
    - The bootloader mechanism is used by kexec in order for the prior
      kernel to initialize the RNG of the next kernel, which increases
      the entropy available to early boot daemons of the next kernel.
    
    - Previous objections related to backdoors centered around
      Dual_EC_DRBG-like kleptographic systems, in which observing some
      amount of the output stream enables an adversary holding the right key
      to determine the entire output stream.
    
      This used to be a partially justified concern, because RDRAND output
      was mixed into the output stream in varying ways, some of which may
      have lacked pre-image resistance (e.g. XOR or an LFSR).
    
      But this is no longer the case. Now, all usage of RDRAND and
      bootloader seeds go through a cryptographic hash function. This means
      that the CPU would have to compute a hash pre-image, which is not
      considered to be feasible (otherwise the hash function would be
      terribly broken).
    
    - More generally, if the CPU is backdoored, the RNG is probably not the
      realistic vector of choice for an attacker.
    
    - These CPU or bootloader seeds are far from being the only source of
      entropy. Rather, there is generally a pretty huge amount of entropy,
      not all of which is credited, especially on CPUs that support
      instructions like RDRAND. In other words, assuming RDRAND outputs all
      zeros, an attacker would *still* have to accurately model every single
      other entropy source also in use.
    
    - The RNG now reseeds itself quite rapidly during boot, starting at 2
      seconds, then 4, then 8, then 16, and so forth, so that other sources
      of entropy get used without much delay.
    
    - Paranoid users can set random.trust_{cpu,bootloader}=no in the kernel
      command line, and paranoid system builders can set the Kconfig options
      to N, so there's no reduction or restriction of optionality.
    
    - It's a practical default.
    
    - All the distros have it set this way. Microsoft and Apple trust it
      too. Bandwagon.
    
    Cons:
    
    - RDRAND *could* still be backdoored with something like a fixed key or
      limited space serial number seed or another indexable scheme like
      that. (However, it's hard to imagine threat models where the CPU is
      backdoored like this, yet people are still okay making *any*
      computations with it or connecting it to networks, etc.)
    
    - RDRAND *could* be defective, rather than backdoored, and produce
      garbage that is in one way or another insufficient for crypto.
    
    - Suggesting a *reduction* in paranoia, as this commit effectively does,
      may cause some to question my personal integrity as a "security
      person".
    
    - Bootloader seeds and RDRAND are generally very difficult if not all
      together impossible to audit.
    
    Keep in mind that this doesn't actually change any behavior. This
    is just a change in the default Kconfig value. The distros already are
    shipping kernels that set things this way.
    
    Ard made an additional argument in [1]:
    
        We're at the mercy of firmware and micro-architecture anyway, given
        that we are also relying on it to ensure that every instruction in
        the kernel's executable image has been faithfully copied to memory,
        and that the CPU implements those instructions as documented. So I
        don't think firmware or ISA bugs related to RNGs deserve special
        treatment - if they are broken, we should quirk around them like we
        usually do. So enabling these by default is a step in the right
        direction IMHO.
    
    In [2], Phil pointed out that having this disabled masked a bug that CI
    otherwise would have caught:
    
        A clean 5.15.45 boots cleanly, whereas a downstream kernel shows the
        static key warning (but it does go on to boot). The significant
        difference is that our defconfigs set CONFIG_RANDOM_TRUST_BOOTLOADER=y
        defining that on top of multi_v7_defconfig demonstrates the issue on
        a clean 5.15.45. Conversely, not setting that option in a
        downstream kernel build avoids the warning
    
    [1] https://lore.kernel.org/lkml/CAMj1kXGi+ieviFjXv9zQBSaGyyzeGW_VpMpTLJK8PJb2QHEQ-w@mail.gmail.com/
    [2] https://lore.kernel.org/lkml/[email protected]/
    
    Cc: Theodore Ts'o <[email protected]>
    Reviewed-by: Ard Biesheuvel <[email protected]>
    Signed-off-by: Jason A. Donenfeld <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    zx2c4 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    fe48a9d View commit details
    Browse the repository at this point in the history
  46. gpio: dwapb: Don't print error on -EPROBE_DEFER

    [ Upstream commit 77006f6 ]
    
    Currently if the APB or Debounce clocks aren't yet ready to be requested
    the DW GPIO driver will correctly handle that by deferring the probe
    procedure, but the error is still printed to the system log. It needlessly
    pollutes the log since there was no real error but a request to postpone
    the clock request procedure since the clocks subsystem hasn't been fully
    initialized yet. Let's fix that by using the dev_err_probe method to print
    the APB/clock request error status. It will correctly handle the deferred
    probe situation and print the error if it actually happens.
    
    Signed-off-by: Serge Semin <[email protected]>
    Reviewed-by: Andy Shevchenko <[email protected]>
    Signed-off-by: Bartosz Golaszewski <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    fancer authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    ecdb8b9 View commit details
    Browse the repository at this point in the history
  47. platform/x86/intel: Fix pmt_crashlog array reference

    [ Upstream commit 66cb3a2 ]
    
    The probe function pmt_crashlog_probe() may incorrectly reference
    the 'priv->entry array' as it uses 'i' to reference the array instead
    of 'priv->num_entries' as it should.  This is similar to the problem
    that was addressed in pmt_telemetry_probe via commit 2cdfa0c
    ("platform/x86/intel: Fix 'rmmod pmt_telemetry' panic").
    
    Cc: "David E. Box" <[email protected]>
    Cc: Hans de Goede <[email protected]>
    Cc: Mark Gross <[email protected]>
    Cc: [email protected]
    Signed-off-by: David Arcari <[email protected]>
    Reviewed-by: David E. Box <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Hans de Goede <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    darcari authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    6934777 View commit details
    Browse the repository at this point in the history
  48. platform/x86/intel: pmc: Support Intel Raptorlake P

    [ Upstream commit 552f3b8 ]
    
    Add Raptorlake P to the list of the platforms that intel_pmc_core driver
    supports for pmc_core device. Raptorlake P PCH is based on Alderlake P
    PCH.
    
    Signed-off-by: George D Sworo <[email protected]>
    Reviewed-by: David E. Box <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Hans de Goede <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    gdsworo authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    58232b1 View commit details
    Browse the repository at this point in the history
  49. platform/x86: gigabyte-wmi: Add Z690M AORUS ELITE AX DDR4 support

    [ Upstream commit 8a041af ]
    
    Add dmi_system_id of Gigabyte Z690M AORUS ELITE AX DDR4 board.
    Tested on my PC.
    
    Signed-off-by: Piotr Chmura <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Hans de Goede <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Piotr Chmura authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    1144593 View commit details
    Browse the repository at this point in the history
  50. platform/x86: gigabyte-wmi: Add support for B450M DS3H-CF

    [ Upstream commit c6bc7e8 ]
    
    Tested and works on my system.
    
    Signed-off-by: August Wikerfors <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Hans de Goede <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    0x9fff00 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    8d0bef6 View commit details
    Browse the repository at this point in the history
  51. platform/x86/intel: hid: Add Surface Go to VGBS allow list

    [ Upstream commit d4fe9cc ]
    
    The Surface Go reports Chassis Type 9 (Laptop,) so the device needs to be
    added to dmi_vgbs_allow_list to enable tablet mode when an attached Type
    Cover is folded back.
    
    BugLink: linux-surface/linux-surface#837
    Signed-off-by: Duke Lee <[email protected]>
    Reviewed-by: Andy Shevchenko <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Hans de Goede <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    krnhotwings authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    a477e2c View commit details
    Browse the repository at this point in the history
  52. staging: r8188eu: fix rtw_alloc_hwxmits error detection for now

    [ Upstream commit 5b7419a ]
    
    In _rtw_init_xmit_priv, we use the res variable to store the error
    return from the newly converted rtw_alloc_hwxmits function. Sadly, the
    calling function interprets res using _SUCCESS and _FAIL still, meaning
    we change the semantics of the variable, even in the success case.
    
    This leads to the following on boot:
    r8188eu 1-2:1.0: _rtw_init_xmit_priv failed
    
    In the long term, we should reverse these semantics, but for now, this
    fixes the driver. Also, inside rtw_alloc_hwxmits remove the if blocks,
    as HWXMIT_ENTRY is always 4.
    
    Fixes: f94b47c ("staging: r8188eu: add check for kzalloc")
    Signed-off-by: Phillip Potter <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    PhilPotter authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    0976166 View commit details
    Browse the repository at this point in the history
  53. staging: r8188eu: Fix warning of array overflow in ioctl_linux.c

    [ Upstream commit 96f0a54 ]
    
    Building with -Warray-bounds results in the following warning plus others
    related to the same problem:
    
    CC [M]  drivers/staging/r8188eu/os_dep/ioctl_linux.o
    In function ‘wpa_set_encryption’,
        inlined from ‘rtw_wx_set_enc_ext’ at drivers/staging/r8188eu/os_dep/ioctl_linux.c:1868:9:
    drivers/staging/r8188eu/os_dep/ioctl_linux.c:412:41: warning: array subscript ‘struct ndis_802_11_wep[0]’ is partly outside array bounds of ‘void[25]’ [-Warray-bounds]
      412 |                         pwep->KeyLength = wep_key_len;
          |                         ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
    In file included from drivers/staging/r8188eu/os_dep/../include/osdep_service.h:19,
                     from drivers/staging/r8188eu/os_dep/ioctl_linux.c:4:
    In function ‘kmalloc’,
        inlined from ‘kzalloc’ at ./include/linux/slab.h:733:9,
        inlined from ‘wpa_set_encryption’ at drivers/staging/r8188eu/os_dep/ioctl_linux.c:408:11,
        inlined from ‘rtw_wx_set_enc_ext’ at drivers/staging/r8188eu/os_dep/ioctl_linux.c:1868:9:
    ./include/linux/slab.h:605:16: note: object of size [17, 25] allocated by ‘__kmalloc’
      605 |         return __kmalloc(size, flags);
          |                ^~~~~~~~~~~~~~~~~~~~~~
    ./include/linux/slab.h:600:24: note: object of size [17, 25] allocated by ‘kmem_cache_alloc_trace’
      600 |                 return kmem_cache_alloc_trace(
          |                        ^~~~~~~~~~~~~~~~~~~~~~~
      601 |                                 kmalloc_caches[kmalloc_type(flags)][index],
          |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      602 |                                 flags, size);
          |                                 ~~~~~~~~~~~~
    
    Although it is unlikely that anyone is still using WEP encryption, the
    size of the allocation needs to be increased just in case.
    
    Fixes commit 2b42bd5 ("staging: r8188eu: introduce new os_dep dir for RTL8188eu driver")
    
    Fixes: 2b42bd5 ("staging: r8188eu: introduce new os_dep dir for RTL8188eu driver")
    Signed-off-by: Larry Finger <[email protected]>
    Cc: Phillip Potter <[email protected]>
    Cc: Dan Carpenter <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    lwfinger authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    fcdf84a View commit details
    Browse the repository at this point in the history
  54. pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAIL…

    …ABLE
    
    [ Upstream commit fe44fb2 ]
    
    If the server tells us that a pNFS layout is not available for a
    specific file, then we should not keep pounding it with further
    layoutget requests.
    
    Fixes: 183d9e7 ("pnfs: rework LAYOUTGET retry handling")
    Signed-off-by: Trond Myklebust <[email protected]>
    Signed-off-by: Anna Schumaker <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Trond Myklebust authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    6faa1b4 View commit details
    Browse the repository at this point in the history
  55. pNFS: Avoid a live lock condition in pnfs_update_layout()

    [ Upstream commit 880265c ]
    
    If we're about to send the first layoutget for an empty layout, we want
    to make sure that we drain out the existing pending layoutget calls
    first. The reason is that these layouts may have been already implicitly
    returned to the server by a recall to which the client gave a
    NFS4ERR_NOMATCHING_LAYOUT response.
    
    The problem is that wait_var_event_killable() could in principle see the
    plh_outstanding count go back to '1' when the first process to wake up
    starts sending a new layoutget. If it fails to get a layout, then this
    loop can continue ad infinitum...
    
    Fixes: 0b77f97 ("NFSv4/pnfs: Fix layoutget behaviour after invalidation")
    Signed-off-by: Trond Myklebust <[email protected]>
    Signed-off-by: Anna Schumaker <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Trond Myklebust authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f133819 View commit details
    Browse the repository at this point in the history
  56. sunrpc: set cl_max_connect when cloning an rpc_clnt

    [ Upstream commit 3047912 ]
    
    If the initial attempt at trunking detection using the krb5i auth flavor
    fails with -EACCES, -NFS4ERR_CLID_INUSE, or -NFS4ERR_WRONGSEC, then the
    NFS client tries again using auth_sys, cloning the rpc_clnt in the
    process.  If this second attempt at trunking detection succeeds, then
    the resulting nfs_client->cl_rpcclient winds up having cl_max_connect=0
    and subsequent attempts to add additional transport connections to the
    rpc_clnt will fail with a message similar to the following being logged:
    
    [502044.312640] SUNRPC: reached max allowed number (0) did not add
    transport to server: 192.168.122.3
    
    Signed-off-by: Scott Mayhew <[email protected]>
    Fixes: dc48e0a ("SUNRPC enforce creation of no more than max_connect xprts")
    Signed-off-by: Anna Schumaker <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    scottmayhew authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    5d57d50 View commit details
    Browse the repository at this point in the history
  57. clocksource: hyper-v: unexport __init-annotated hv_init_clocksource()

    [ Upstream commit 245b993 ]
    
    EXPORT_SYMBOL and __init is a bad combination because the .init.text
    section is freed up after the initialization. Hence, modules cannot
    use symbols annotated __init. The access to a freed symbol may end up
    with kernel panic.
    
    modpost used to detect it, but it has been broken for a decade.
    
    Recently, I fixed modpost so it started to warn it again, then this
    showed up in linux-next builds.
    
    There are two ways to fix it:
    
      - Remove __init
      - Remove EXPORT_SYMBOL
    
    I chose the latter for this case because the only in-tree call-site,
    arch/x86/kernel/cpu/mshyperv.c is never compiled as modular.
    (CONFIG_HYPERVISOR_GUEST is boolean)
    
    Fixes: dd2cb34 ("clocksource/drivers: Continue making Hyper-V clocksource ISA agnostic")
    Reported-by: Stephen Rothwell <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    Reviewed-by: Vitaly Kuznetsov <[email protected]>
    Reviewed-by: Michael Kelley <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Wei Liu <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    masahir0y authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    937fcbb View commit details
    Browse the repository at this point in the history
  58. i40e: Fix adding ADQ filter to TC0

    [ Upstream commit c3238d3 ]
    
    Procedure of configure tc flower filters erroneously allows to create
    filters on TC0 where unfiltered packets are also directed by default.
    Issue was caused by insufficient checks of hw_tc parameter specifying
    the hardware traffic class to pass matching packets to.
    
    Fix checking hw_tc parameter which blocks creation of filters on TC0.
    
    Fixes: 2f4b411 ("i40e: Enable cloud filters via tc-flower")
    Signed-off-by: Grzegorz Szczurek <[email protected]>
    Signed-off-by: Jedrzej Jagielski <[email protected]>
    Tested-by: Bharathi Sreenivas <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    gszczurx authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    83f0ed2 View commit details
    Browse the repository at this point in the history
  59. i40e: Fix calculating the number of queue pairs

    [ Upstream commit 0bb0506 ]
    
    If ADQ is enabled for a VF, then actual number of queue pair
    is a number of currently available traffic classes for this VF.
    
    Without this change the configuration of the Rx/Tx queues
    fails with error.
    
    Fixes: d29e0d2 ("i40e: missing input validation on VF message handling by the PF")
    Signed-off-by: Grzegorz Szczurek <[email protected]>
    Signed-off-by: Jedrzej Jagielski <[email protected]>
    Tested-by: Bharathi Sreenivas <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    gszczurx authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    71a492a View commit details
    Browse the repository at this point in the history
  60. i40e: Fix call trace in setup_tx_descriptors

    [ Upstream commit fd5855e ]
    
    After PF reset and ethtool -t there was call trace in dmesg
    sometimes leading to panic. When there was some time, around 5
    seconds, between reset and test there were no errors.
    
    Problem was that pf reset calls i40e_vsi_close in prep_for_reset
    and ethtool -t calls i40e_vsi_close in diag_test. If there was not
    enough time between those commands the second i40e_vsi_close starts
    before previous i40e_vsi_close was done which leads to crash.
    
    Add check to diag_test if pf is in reset and don't start offline
    tests if it is true.
    Add netif_info("testing failed") into unhappy path of i40e_diag_test()
    
    Fixes: e17bc41 ("i40e: Disable offline diagnostics if VFs are enabled")
    Fixes: 510efb2 ("i40e: Fix ethtool offline diagnostic with netqueues")
    Signed-off-by: Michal Jaron <[email protected]>
    Signed-off-by: Aleksandr Loktionov <[email protected]>
    Tested-by: Gurucharan <[email protected]> (A Contingent worker at Intel)
    Signed-off-by: Tony Nguyen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    aloktion authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    3222713 View commit details
    Browse the repository at this point in the history
  61. iavf: Fix issue with MAC address of VF shown as zero

    [ Upstream commit 6456038 ]
    
    After reinitialization of iavf, ice driver gets VIRTCHNL_OP_ADD_ETH_ADDR
    message with incorrectly set type of MAC address. Hardware address should
    have is_primary flag set as true. This way ice driver knows what it has
    to set as a MAC address.
    
    Check if the address is primary in iavf_add_filter function and set flag
    accordingly.
    
    To test set all-zero MAC on a VF. This triggers iavf re-initialization
    and VIRTCHNL_OP_ADD_ETH_ADDR message gets sent to PF.
    For example:
    
    ip link set dev ens785 vf 0 mac 00:00:00:00:00:00
    
    This triggers re-initialization of iavf. New MAC should be assigned.
    Now check if MAC is non-zero:
    
    ip link show dev ens785
    
    Fixes: a3e839d ("iavf: Add usage of new virtchnl format to set default MAC")
    Signed-off-by: Michal Wilczynski <[email protected]>
    Reviewed-by: Maciej Fijalkowski <[email protected]>
    Tested-by: Konrad Jankowski <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    mwilczy authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    857ee08 View commit details
    Browse the repository at this point in the history
  62. Drivers: hv: vmbus: Release cpu lock in error case

    [ Upstream commit 656c5ba ]
    
    In case of invalid sub channel, release cpu lock before returning.
    
    Fixes: a949e86 ("Drivers: hv: vmbus: Resolve race between init_vp_index() and CPU hotplug")
    Signed-off-by: Saurabh Sengar <[email protected]>
    Reviewed-by: Michael Kelley <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Wei Liu <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Saurabh Sengar authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    a863e91 View commit details
    Browse the repository at this point in the history
  63. tty: goldfish: Fix free_irq() on remove

    [ Upstream commit 499e13a ]
    
    Pass the correct dev_id to free_irq() to fix this splat when the driver
    is unbound:
    
     WARNING: CPU: 0 PID: 30 at kernel/irq/manage.c:1895 free_irq
     Trying to free already-free IRQ 65
     Call Trace:
      warn_slowpath_fmt
      free_irq
      goldfish_tty_remove
      platform_remove
      device_remove
      device_release_driver_internal
      device_driver_detach
      unbind_store
      drv_attr_store
      ...
    
    Fixes: 465893e ("tty: goldfish: support platform_device with id -1")
    Signed-off-by: Vincent Whitchurch <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    vwax authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    a6fcd7f View commit details
    Browse the repository at this point in the history
  64. misc: atmel-ssc: Fix IRQ check in ssc_probe

    [ Upstream commit 1c24535 ]
    
    platform_get_irq() returns negative error number instead 0 on failure.
    And the doc of platform_get_irq() provides a usage example:
    
        int irq = platform_get_irq(pdev, 0);
        if (irq < 0)
            return irq;
    
    Fix the check of return value to catch errors correctly.
    
    Fixes: eb1f293 ("Driver for the Atmel on-chip SSC on AT32AP and AT91")
    Reviewed-by: Claudiu Beznea <[email protected]>
    Signed-off-by: Miaoqian Lin <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Yuuoniy authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    943ee28 View commit details
    Browse the repository at this point in the history
  65. riscv: dts: microchip: re-add pdma to mpfs device tree

    [ Upstream commit 5e757de ]
    
    PolarFire SoC /does/ have a SiFive pdma, despite what I suggested as a
    conflict resolution to Zong. Somehow the entry fell through the cracks
    between versions of my dt patches, so re-add it with Zong's updated
    compatible & dma-channels property.
    
    Fixes: c5094f3 ("riscv: dts: microchip: refactor icicle kit device tree")
    Signed-off-by: Conor Dooley <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    ConchuOD authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    df97a51 View commit details
    Browse the repository at this point in the history
  66. io_uring: fix races with file table unregister

    [ Upstream commit b0380bf ]
    
    Fixed file table quiesce might unlock ->uring_lock, potentially letting
    new requests to be submitted, don't allow those requests to use the
    table as they will race with unregistration.
    
    Reported-and-tested-by: van fantasy <[email protected]>
    Fixes: 05f3fb3 ("io_uring: avoid ring quiesce for fixed file set unregister and update")
    Signed-off-by: Pavel Begunkov <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    isilence authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    c2a6838 View commit details
    Browse the repository at this point in the history
  67. io_uring: fix races with buffer table unregister

    [ Upstream commit d11d31f ]
    
    Fixed buffer table quiesce might unlock ->uring_lock, potentially
    letting new requests to be submitted, don't allow those requests to
    use the table as they will race with unregistration.
    
    Reported-and-tested-by: van fantasy <[email protected]>
    Fixes: bd54b6f ("io_uring: implement fixed buffers registration similar to fixed files")
    Signed-off-by: Pavel Begunkov <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    isilence authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f6ef938 View commit details
    Browse the repository at this point in the history
  68. drm/i915/reset: Fix error_state_read ptr + offset use

    [ Upstream commit c9b576d ]
    
    Fix our pointer offset usage in error_state_read
    when there is no i915_gpu_coredump but buf offset
    is non-zero.
    
    This fixes a kernel page fault can happen when
    multiple tests are running concurrently in a loop
    and one is producing engine resets and consuming
    the i915 error_state dump while the other is
    forcing full GT resets. (takes a while to trigger).
    
    The dmesg call trace:
    
    [ 5590.803000] BUG: unable to handle page fault for address:
                   ffffffffa0b0e000
    [ 5590.803009] #PF: supervisor read access in kernel mode
    [ 5590.803013] #PF: error_code(0x0000) - not-present page
    [ 5590.803016] PGD 5814067 P4D 5814067 PUD 5815063 PMD 109de4067
                   PTE 0
    [ 5590.803022] Oops: 0000 [#1] PREEMPT SMP NOPTI
    [ 5590.803026] CPU: 5 PID: 13656 Comm: i915_hangman Tainted: G U
                        5.17.0-rc5-ups69-guc-err-capt-rev6+ #136
    [ 5590.803033] Hardware name: Intel Corporation Alder Lake Client
                        Platform/AlderLake-M LP4x RVP, BIOS ADLPFWI1.R00.
                        3031.A02.2201171222	01/17/2022
    [ 5590.803039] RIP: 0010:memcpy_erms+0x6/0x10
    [ 5590.803045] Code: fe ff ff cc eb 1e 0f 1f 00 48 89 f8 48 89 d1
                         48 c1 e9 03 83 e2 07 f3 48 a5 89 d1 f3 a4 c3
                         66 0f 1f 44 00 00 48 89 f8 48 89 d1 <f3> a4
                         c3 0f 1f 80 00 00 00 00 48 89 f8 48 83 fa 20
                         72 7e 40 38 fe
    [ 5590.803054] RSP: 0018:ffffc90003a8fdf0 EFLAGS: 00010282
    [ 5590.803057] RAX: ffff888107ee9000 RBX: ffff888108cb1a00
                   RCX: 0000000000000f8f
    [ 5590.803061] RDX: 0000000000001000 RSI: ffffffffa0b0e000
                   RDI: ffff888107ee9071
    [ 5590.803065] RBP: 0000000000000000 R08: 0000000000000001
                   R09: 0000000000000001
    [ 5590.803069] R10: 0000000000000001 R11: 0000000000000002
                   R12: 0000000000000019
    [ 5590.803073] R13: 0000000000174fff R14: 0000000000001000
                   R15: ffff888107ee9000
    [ 5590.803077] FS: 00007f62a99bee80(0000) GS:ffff88849f880000(0000)
                   knlGS:0000000000000000
    [ 5590.803082] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 5590.803085] CR2: ffffffffa0b0e000 CR3: 000000010a1a8004
                   CR4: 0000000000770ee0
    [ 5590.803089] PKRU: 55555554
    [ 5590.803091] Call Trace:
    [ 5590.803093] <TASK>
    [ 5590.803096] error_state_read+0xa1/0xd0 [i915]
    [ 5590.803175] kernfs_fop_read_iter+0xb2/0x1b0
    [ 5590.803180] new_sync_read+0x116/0x1a0
    [ 5590.803185] vfs_read+0x114/0x1b0
    [ 5590.803189] ksys_read+0x63/0xe0
    [ 5590.803193] do_syscall_64+0x38/0xc0
    [ 5590.803197] entry_SYSCALL_64_after_hwframe+0x44/0xae
    [ 5590.803201] RIP: 0033:0x7f62aaea5912
    [ 5590.803204] Code: c0 e9 b2 fe ff ff 50 48 8d 3d 5a b9 0c 00 e8 05
                         19 02 00 0f 1f 44 00 00 f3 0f 1e fa 64 8b 04 25
                         18 00 00 00 85 c0 75 10 0f 05 <48> 3d 00 f0 ff
                         ff 77 56 c3 0f 1f 44 00 00 48 83 ec 28 48 89 54 24
    [ 5590.803213] RSP: 002b:00007fff5b659ae8 EFLAGS: 00000246
                   ORIG_RAX: 0000000000000000
    [ 5590.803218] RAX: ffffffffffffffda RBX: 0000000000100000
                   RCX: 00007f62aaea5912
    [ 5590.803221] RDX: 000000000008b000 RSI: 00007f62a8c4000f
                   RDI: 0000000000000006
    [ 5590.803225] RBP: 00007f62a8bcb00f R08: 0000000000200010
                   R09: 0000000000101000
    [ 5590.803229] R10: 0000000000000001 R11: 0000000000000246
                   R12: 0000000000000006
    [ 5590.803233] R13: 0000000000075000 R14: 00007f62a8acb010
                   R15: 0000000000200000
    [ 5590.803238] </TASK>
    [ 5590.803240] Modules linked in: i915 ttm drm_buddy drm_dp_helper
                            drm_kms_helper syscopyarea sysfillrect sysimgblt
                            fb_sys_fops prime_numbers nfnetlink br_netfilter
                            overlay mei_pxp mei_hdcp x86_pkg_temp_thermal
                            coretemp kvm_intel snd_hda_codec_hdmi snd_hda_intel
                            snd_intel_dspcfg snd_hda_codec snd_hwdep
                            snd_hda_core snd_pcm mei_me mei fuse ip_tables
                            x_tables crct10dif_pclmul e1000e crc32_pclmul ptp
                            i2c_i801 ghash_clmulni_intel i2c_smbus pps_core
                            [last unloa ded: ttm]
    [ 5590.803277] CR2: ffffffffa0b0e000
    [ 5590.803280] ---[ end trace 0000000000000000 ]---
    
    Fixes: 0e39037 ("drm/i915: Cache the error string")
    Signed-off-by: Alan Previn <[email protected]>
    Reviewed-by: John Harrison <[email protected]>
    Signed-off-by: John Harrison <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 3304033)
    Signed-off-by: Jani Nikula <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    aalteres authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    606e5d5 View commit details
    Browse the repository at this point in the history
  69. net: hns3: set port base vlan tbl_sta to false before removing old vlan

    [ Upstream commit 9eda7d8 ]
    
    When modify port base vlan, the port base vlan tbl_sta needs to set to
    false before removing old vlan, to indicate this operation is not finish.
    
    Fixes: c0f46de ("net: hns3: fix port base vlan add fail when concurrent with reset")
    Signed-off-by: Guangbin Huang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Guangbin Huang authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    8f21d6c View commit details
    Browse the repository at this point in the history
  70. net: hns3: don't push link state to VF if unalive

    [ Upstream commit 283847e ]
    
    It's unnecessary to push link state to unalive VF, and the VF will
    query link state from PF when it being start works.
    
    Fixes: 18b6e31 ("net: hns3: PF add support for pushing link status to VFs")
    Signed-off-by: Jian Shen <[email protected]>
    Signed-off-by: Guangbin Huang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    IronShen authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    822b95c View commit details
    Browse the repository at this point in the history
  71. net: hns3: restore tm priority/qset to default settings when tc disabled

    [ Upstream commit e93530a ]
    
    Currently, settings parameters of schedule mode, dwrr, shaper of tm
    priority or qset of one tc are only be set when tc is enabled, they are
    not restored to the default settings when tc is disabled. It confuses
    users when they cat tm_priority or tm_qset files of debugfs. So this
    patch fixes it.
    
    Fixes: 8484405 ("net: hns3: Add support of TX Scheduler & Shaper to HNS3 driver")
    Signed-off-by: Guangbin Huang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Guangbin Huang authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    e0529a3 View commit details
    Browse the repository at this point in the history
  72. net: hns3: fix PF rss size initialization bug

    [ Upstream commit 71b215f ]
    
    Currently hns3 driver misuses the VF rss size to initialize the PF rss size
    in hclge_tm_vport_tc_info_update. So this patch fix it by checking the
    vport id before initialization.
    
    Fixes: 7347255 ("net: hns3: refactor PF rss get APIs with new common rss get APIs")
    Signed-off-by: Jie Wang <[email protected]>
    Signed-off-by: Guangbin Huang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Jie Wang authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    e746e6d View commit details
    Browse the repository at this point in the history
  73. net: hns3: fix tm port shapping of fibre port is incorrect after driv…

    …er initialization
    
    [ Upstream commit 12a3670 ]
    
    Currently in driver initialization process, driver will set shapping
    parameters of tm port to default speed read from firmware. However, the
    speed of SFP module may not be default speed, so shapping parameters of
    tm port may be incorrect.
    
    To fix this problem, driver sets new shapping parameters for tm port
    after getting exact speed of SFP module in this case.
    
    Fixes: 88d10bd ("net: hns3: add support for multiple media type")
    Signed-off-by: Guangbin Huang <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Guangbin Huang authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    5347727 View commit details
    Browse the repository at this point in the history
  74. nvme: add device name to warning in uuid_show()

    [ Upstream commit 1fc766b ]
    
    This provides more context to users.
    
    Old message:
    
    [   00.000000] No UUID available providing old NGUID
    
    New message:
    
    [   00.000000] block nvme0n1: No UUID available providing old NGUID
    
    Fixes: d934f98 ("nvme: provide UUID value to userspace")
    Signed-off-by: Thomas Weißschuh <[email protected]>
    Signed-off-by: Christoph Hellwig <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    t-8ch authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    4851bbe View commit details
    Browse the repository at this point in the history
  75. mlxsw: spectrum_cnt: Reorder counter pools

    [ Upstream commit 4b7a632 ]
    
    Both RIF and ACL flow counters use a 24-bit SW-managed counter address to
    communicate which counter they want to bind.
    
    In a number of Spectrum FW releases, binding a RIF counter is broken and
    slices the counter index to 16 bits. As a result, on Spectrum-2 and above,
    no more than about 410 RIF counters can be effectively used. This
    translates to 205 netdevices for which L3 HW stats can be enabled. (This
    does not happen on Spectrum-1, because there are fewer counters available
    overall and the counter index never exceeds 16 bits.)
    
    Binding counters to ACLs does not have this issue. Therefore reorder the
    counter allocation scheme so that RIF counters come first and therefore get
    lower indices that are below the 16-bit barrier.
    
    Fixes: 98e60dc ("Merge branch 'mlxsw-Introduce-initial-Spectrum-2-support'")
    Reported-by: Maksym Yaremchuk <[email protected]>
    Signed-off-by: Petr Machata <[email protected]>
    Signed-off-by: Ido Schimmel <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    pmachata authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    94d3e86 View commit details
    Browse the repository at this point in the history
  76. ice: Fix PTP TX timestamp offset calculation

    [ Upstream commit 71a579f ]
    
    The offset was being incorrectly calculated for E822 - that led to
    collisions in choosing TX timestamp register location when more than
    one port was trying to use timestamping mechanism.
    
    In E822 one quad is being logically split between ports, so quad 0 is
    having trackers for ports 0-3, quad 1 ports 4-7 etc. Each port should
    have separate memory location for tracking timestamps. Due to error for
    example ports 1 and 2 had been assigned to quad 0 with same offset (0),
    while port 1 should have offset 0 and 1 offset 16.
    
    Fix it by correctly calculating quad offset.
    
    Fixes: 3a74962 ("ice: implement basic E822 PTP support")
    Signed-off-by: Michal Michalik <[email protected]>
    Tested-by: Gurucharan <[email protected]> (A Contingent worker at Intel)
    Signed-off-by: Tony Nguyen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    mmichaliINTC authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    fa769e9 View commit details
    Browse the repository at this point in the history
  77. ice: Sync VLAN filtering features for DVM

    [ Upstream commit 9542ef4 ]
    
    VLAN filtering features, that is C-Tag and S-Tag, in DVM mode must be
    both enabled or disabled.
    In case of turning off/on only one of the features, another feature must
    be turned off/on automatically with issuing an appropriate message to
    the kernel log.
    
    Fixes: 1babaf7 ("ice: Advertise 802.1ad VLAN filtering and offloads for PF netdev")
    Signed-off-by: Roman Storozhenko <[email protected]>
    Co-developed-by: Anatolii Gerasymenko <[email protected]>
    Signed-off-by: Anatolii Gerasymenko <[email protected]>
    Tested-by: Gurucharan <[email protected]> (A Contingent worker at Intel)
    Signed-off-by: Tony Nguyen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    rstorozh authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    08ce2fd View commit details
    Browse the repository at this point in the history
  78. ice: Fix queue config fail handling

    [ Upstream commit be2af71 ]
    
    Disable VF's RX/TX queues, when VIRTCHNL_OP_CONFIG_VSI_QUEUES fail.
    Not disabling them might lead to scenario, where PF driver leaves VF
    queues enabled, when VF's VSI failed queue config.
    In this scenario VF should not have RX/TX queues enabled. If PF failed
    to set up VF's queues, VF will reset due to TX timeouts in VF driver.
    Initialize iterator 'i' to -1, so if error happens prior to configuring
    queues then error path code will not disable queue 0. Loop that
    configures queues will is using same iterator, so error path code will
    only disable queues that were configured.
    
    Fixes: 77ca27c ("ice: add support for virtchnl_queue_select.[tx|rx]_queues bitmap")
    Suggested-by: Slawomir Laba <[email protected]>
    Signed-off-by: Przemyslaw Patynowski <[email protected]>
    Signed-off-by: Mateusz Palczewski <[email protected]>
    Tested-by: Konrad Jankowski <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Kaaame authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    7b787fc View commit details
    Browse the repository at this point in the history
  79. ice: Fix memory corruption in VF driver

    [ Upstream commit efe4186 ]
    
    Disable VF's RX/TX queues, when it's disabled. VF can have queues enabled,
    when it requests a reset. If PF driver assumes that VF is disabled,
    while VF still has queues configured, VF may unmap DMA resources.
    In such scenario device still can map packets to memory, which ends up
    silently corrupting it.
    Previously, VF driver could experience memory corruption, which lead to
    crash:
    [ 5119.170157] BUG: unable to handle kernel paging request at 00001b9780003237
    [ 5119.170166] PGD 0 P4D 0
    [ 5119.170173] Oops: 0002 [#1] PREEMPT_RT SMP PTI
    [ 5119.170181] CPU: 30 PID: 427592 Comm: kworker/u96:2 Kdump: loaded Tainted: G        W I      --------- -  - 4.18.0-372.9.1.rt7.166.el8.x86_64 #1
    [ 5119.170189] Hardware name: Dell Inc. PowerEdge R740/014X06, BIOS 2.3.10 08/15/2019
    [ 5119.170193] Workqueue: iavf iavf_adminq_task [iavf]
    [ 5119.170219] RIP: 0010:__page_frag_cache_drain+0x5/0x30
    [ 5119.170238] Code: 0f 0f b6 77 51 85 f6 74 07 31 d2 e9 05 df ff ff e9 90 fe ff ff 48 8b 05 49 db 33 01 eb b4 0f 1f 80 00 00 00 00 0f 1f 44 00 00 <f0> 29 77 34 74 01 c3 48 8b 07 f6 c4 80 74 0f 0f b6 77 51 85 f6 74
    [ 5119.170244] RSP: 0018:ffffa43b0bdcfd78 EFLAGS: 00010282
    [ 5119.170250] RAX: ffffffff896b3e40 RBX: ffff8fb282524000 RCX: 0000000000000002
    [ 5119.170254] RDX: 0000000049000000 RSI: 0000000000000000 RDI: 00001b9780003203
    [ 5119.170259] RBP: ffff8fb248217b00 R08: 0000000000000022 R09: 0000000000000009
    [ 5119.170262] R10: 2b849d6300000000 R11: 0000000000000020 R12: 0000000000000000
    [ 5119.170265] R13: 0000000000001000 R14: 0000000000000009 R15: 0000000000000000
    [ 5119.170269] FS:  0000000000000000(0000) GS:ffff8fb1201c0000(0000) knlGS:0000000000000000
    [ 5119.170274] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 5119.170279] CR2: 00001b9780003237 CR3: 00000008f3e1a003 CR4: 00000000007726e0
    [ 5119.170283] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [ 5119.170286] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    [ 5119.170290] PKRU: 55555554
    [ 5119.170292] Call Trace:
    [ 5119.170298]  iavf_clean_rx_ring+0xad/0x110 [iavf]
    [ 5119.170324]  iavf_free_rx_resources+0xe/0x50 [iavf]
    [ 5119.170342]  iavf_free_all_rx_resources.part.51+0x30/0x40 [iavf]
    [ 5119.170358]  iavf_virtchnl_completion+0xd8a/0x15b0 [iavf]
    [ 5119.170377]  ? iavf_clean_arq_element+0x210/0x280 [iavf]
    [ 5119.170397]  iavf_adminq_task+0x126/0x2e0 [iavf]
    [ 5119.170416]  process_one_work+0x18f/0x420
    [ 5119.170429]  worker_thread+0x30/0x370
    [ 5119.170437]  ? process_one_work+0x420/0x420
    [ 5119.170445]  kthread+0x151/0x170
    [ 5119.170452]  ? set_kthread_struct+0x40/0x40
    [ 5119.170460]  ret_from_fork+0x35/0x40
    [ 5119.170477] Modules linked in: iavf sctp ip6_udp_tunnel udp_tunnel mlx4_en mlx4_core nfp tls vhost_net vhost vhost_iotlb tap tun xt_CHECKSUM ipt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 nft_compat nft_counter nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables nfnetlink bridge stp llc rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace fscache sunrpc intel_rapl_msr iTCO_wdt iTCO_vendor_support dell_smbios wmi_bmof dell_wmi_descriptor dcdbas kvm_intel kvm irqbypass intel_rapl_common isst_if_common skx_edac irdma nfit libnvdimm x86_pkg_temp_thermal i40e intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel ib_uverbs rapl ipmi_ssif intel_cstate intel_uncore mei_me pcspkr acpi_ipmi ib_core mei lpc_ich i2c_i801 ipmi_si ipmi_devintf wmi ipmi_msghandler acpi_power_meter xfs libcrc32c sd_mod t10_pi sg mgag200 drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ice ahci drm libahci crc32c_intel libata tg3 megaraid_sas
    [ 5119.170613]  i2c_algo_bit dm_mirror dm_region_hash dm_log dm_mod fuse [last unloaded: iavf]
    [ 5119.170627] CR2: 00001b9780003237
    
    Fixes: ec4f5a4 ("ice: Check if VF is disabled for Opcode and other operations")
    Signed-off-by: Przemyslaw Patynowski <[email protected]>
    Co-developed-by: Slawomir Laba <[email protected]>
    Signed-off-by: Slawomir Laba <[email protected]>
    Signed-off-by: Mateusz Palczewski <[email protected]>
    Tested-by: Konrad Jankowski <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Kaaame authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    1bb8253 View commit details
    Browse the repository at this point in the history
  80. net: bgmac: Fix an erroneous kfree() in bgmac_remove()

    [ Upstream commit d7dd6ec ]
    
    'bgmac' is part of a managed resource allocated with bgmac_alloc(). It
    should not be freed explicitly.
    
    Remove the erroneous kfree() from the .remove() function.
    
    Fixes: 34a5102 ("net: bgmac: allocate struct bgmac just once & don't copy it")
    Signed-off-by: Christophe JAILLET <[email protected]>
    Reviewed-by: Florian Fainelli <[email protected]>
    Link: https://lore.kernel.org/r/a026153108dd21239036a032b95c25b5cece253b.1655153616.git.christophe.jaillet@wanadoo.fr
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    tititiou36 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    6a488e1 View commit details
    Browse the repository at this point in the history
  81. net: remove noblock parameter from skb_recv_datagram()

    [ Upstream commit f4b41f0 ]
    
    skb_recv_datagram() has two parameters 'flags' and 'noblock' that are
    merged inside skb_recv_datagram() by 'flags | (noblock ? MSG_DONTWAIT : 0)'
    
    As 'flags' may contain MSG_DONTWAIT as value most callers split the 'flags'
    into 'flags' and 'noblock' with finally obsolete bit operations like this:
    
    skb_recv_datagram(sk, flags & ~MSG_DONTWAIT, flags & MSG_DONTWAIT, &rc);
    
    And this is not even done consistently with the 'flags' parameter.
    
    This patch removes the obsolete and costly splitting into two parameters
    and only performs bit operations when really needed on the caller side.
    
    One missing conversion thankfully reported by kernel test robot. I missed
    to enable kunit tests to build the mctp code.
    
    Reported-by: kernel test robot <[email protected]>
    Signed-off-by: Oliver Hartkopp <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    hartkopp authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f77cde4 View commit details
    Browse the repository at this point in the history
  82. net: ax25: Fix deadlock caused by skb_recv_datagram in ax25_recvmsg

    [ Upstream commit 219b51a ]
    
    The skb_recv_datagram() in ax25_recvmsg() will hold lock_sock
    and block until it receives a packet from the remote. If the client
    doesn`t connect to server and calls read() directly, it will not
    receive any packets forever. As a result, the deadlock will happen.
    
    The fail log caused by deadlock is shown below:
    
    [  369.606973] INFO: task ax25_deadlock:157 blocked for more than 245 seconds.
    [  369.608919] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    [  369.613058] Call Trace:
    [  369.613315]  <TASK>
    [  369.614072]  __schedule+0x2f9/0xb20
    [  369.615029]  schedule+0x49/0xb0
    [  369.615734]  __lock_sock+0x92/0x100
    [  369.616763]  ? destroy_sched_domains_rcu+0x20/0x20
    [  369.617941]  lock_sock_nested+0x6e/0x70
    [  369.618809]  ax25_bind+0xaa/0x210
    [  369.619736]  __sys_bind+0xca/0xf0
    [  369.620039]  ? do_futex+0xae/0x1b0
    [  369.620387]  ? __x64_sys_futex+0x7c/0x1c0
    [  369.620601]  ? fpregs_assert_state_consistent+0x19/0x40
    [  369.620613]  __x64_sys_bind+0x11/0x20
    [  369.621791]  do_syscall_64+0x3b/0x90
    [  369.622423]  entry_SYSCALL_64_after_hwframe+0x46/0xb0
    [  369.623319] RIP: 0033:0x7f43c8aa8af7
    [  369.624301] RSP: 002b:00007f43c8197ef8 EFLAGS: 00000246 ORIG_RAX: 0000000000000031
    [  369.625756] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f43c8aa8af7
    [  369.626724] RDX: 0000000000000010 RSI: 000055768e2021d0 RDI: 0000000000000005
    [  369.628569] RBP: 00007f43c8197f00 R08: 0000000000000011 R09: 00007f43c8198700
    [  369.630208] R10: 0000000000000000 R11: 0000000000000246 R12: 00007fff845e6afe
    [  369.632240] R13: 00007fff845e6aff R14: 00007f43c8197fc0 R15: 00007f43c8198700
    
    This patch replaces skb_recv_datagram() with an open-coded variant of it
    releasing the socket lock before the __skb_wait_for_more_packets() call
    and re-acquiring it after such call in order that other functions that
    need socket lock could be executed.
    
    what's more, the socket lock will be released only when recvmsg() will
    block and that should produce nicer overall behavior.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Suggested-by: Thomas Osterried <[email protected]>
    Signed-off-by: Duoming Zhou <[email protected]>
    Reported-by: Thomas Habets <thomas@@habets.se>
    Acked-by: Paolo Abeni <[email protected]>
    Reviewed-by: Eric Dumazet <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    stonezdm authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f216089 View commit details
    Browse the repository at this point in the history
  83. arm64: ftrace: fix branch range checks

    [ Upstream commit 3eefdf9 ]
    
    The branch range checks in ftrace_make_call() and ftrace_make_nop() are
    incorrect, erroneously permitting a forwards branch of 128M and
    erroneously rejecting a backwards branch of 128M.
    
    This is because both functions calculate the offset backwards,
    calculating the offset *from* the target *to* the branch, rather than
    the other way around as the later comparisons expect.
    
    If an out-of-range branch were erroeously permitted, this would later be
    rejected by aarch64_insn_gen_branch_imm() as branch_imm_common() checks
    the bounds correctly, resulting in warnings and the placement of a BRK
    instruction. Note that this can only happen for a forwards branch of
    exactly 128M, and so the caller would need to be exactly 128M bytes
    below the relevant ftrace trampoline.
    
    If an in-range branch were erroeously rejected, then:
    
    * For modules when CONFIG_ARM64_MODULE_PLTS=y, this would result in the
      use of a PLT entry, which is benign.
    
      Note that this is the common case, as this is selected by
      CONFIG_RANDOMIZE_BASE (and therefore RANDOMIZE_MODULE_REGION_FULL),
      which distributions typically seelct. This is also selected by
      CONFIG_ARM64_ERRATUM_843419.
    
    * For modules when CONFIG_ARM64_MODULE_PLTS=n, this would result in
      internal ftrace failures.
    
    * For core kernel text, this would result in internal ftrace failues.
    
      Note that for this to happen, the kernel text would need to be at
      least 128M bytes in size, and typical configurations are smaller tha
      this.
    
    Fix this by calculating the offset *from* the branch *to* the target in
    both functions.
    
    Fixes: f8af0b3 ("arm64: ftrace: don't validate branch via PLT in ftrace_make_nop()")
    Fixes: e71a4e1 ("arm64: ftrace: add support for far branches to dynamic ftrace")
    Signed-off-by: Mark Rutland <[email protected]>
    Cc: Ard Biesheuvel <[email protected]>
    Cc: Will Deacon <[email protected]>
    Tested-by: "Ivan T. Ivanov" <[email protected]>
    Reviewed-by: Chengming Zhou <[email protected]>
    Reviewed-by: Ard Biesheuvel <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Catalin Marinas <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Mark Rutland authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    a1efb45 View commit details
    Browse the repository at this point in the history
  84. arm64: ftrace: consistently handle PLTs.

    [ Upstream commit a625357 ]
    
    Sometimes it is necessary to use a PLT entry to call an ftrace
    trampoline. This is handled by ftrace_make_call() and ftrace_make_nop(),
    with each having *almost* identical logic, but this is not handled by
    ftrace_modify_call() since its introduction in commit:
    
      3b23e49 ("arm64: implement ftrace with regs")
    
    Due to this, if we ever were to call ftrace_modify_call() for a callsite
    which requires a PLT entry for a trampoline, then either:
    
    a) If the old addr requires a trampoline, ftrace_modify_call() will use
       an out-of-range address to generate the 'old' branch instruction.
       This will result in warnings from aarch64_insn_gen_branch_imm() and
       ftrace_modify_code(), and no instructions will be modified. As
       ftrace_modify_call() will return an error, this will result in
       subsequent internal ftrace errors.
    
    b) If the old addr does not require a trampoline, but the new addr does,
       ftrace_modify_call() will use an out-of-range address to generate the
       'new' branch instruction. This will result in warnings from
       aarch64_insn_gen_branch_imm(), and ftrace_modify_code() will replace
       the 'old' branch with a BRK. This will result in a kernel panic when
       this BRK is later executed.
    
    Practically speaking, case (a) is vastly more likely than case (b), and
    typically this will result in internal ftrace errors that don't
    necessarily affect the rest of the system. This can be demonstrated with
    an out-of-tree test module which triggers ftrace_modify_call(), e.g.
    
    | # insmod test_ftrace.ko
    | test_ftrace: Function test_function raw=0xffffb3749399201c, callsite=0xffffb37493992024
    | branch_imm_common: offset out of range
    | branch_imm_common: offset out of range
    | ------------[ ftrace bug ]------------
    | ftrace failed to modify
    | [<ffffb37493992024>] test_function+0x8/0x38 [test_ftrace]
    |  actual:   1d:00:00:94
    | Updating ftrace call site to call a different ftrace function
    | ftrace record flags: e0000002
    |  (2) R
    |  expected tramp: ffffb374ae42ed54
    | ------------[ cut here ]------------
    | WARNING: CPU: 0 PID: 165 at kernel/trace/ftrace.c:2085 ftrace_bug+0x280/0x2b0
    | Modules linked in: test_ftrace(+)
    | CPU: 0 PID: 165 Comm: insmod Not tainted 5.19.0-rc2-00002-g4d9ead8b45ce #13
    | Hardware name: linux,dummy-virt (DT)
    | pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    | pc : ftrace_bug+0x280/0x2b0
    | lr : ftrace_bug+0x280/0x2b0
    | sp : ffff80000839ba00
    | x29: ffff80000839ba00 x28: 0000000000000000 x27: ffff80000839bcf0
    | x26: ffffb37493994180 x25: ffffb374b0991c28 x24: ffffb374b0d70000
    | x23: 00000000ffffffea x22: ffffb374afcc33b0 x21: ffffb374b08f9cc8
    | x20: ffff572b8462c000 x19: ffffb374b08f9000 x18: ffffffffffffffff
    | x17: 6c6c6163202c6331 x16: ffffb374ae5ad110 x15: ffffb374b0d51ee4
    | x14: 0000000000000000 x13: 3435646532346561 x12: 3437336266666666
    | x11: 203a706d61727420 x10: 6465746365707865 x9 : ffffb374ae5149e8
    | x8 : 336266666666203a x7 : 706d617274206465 x6 : 00000000fffff167
    | x5 : ffff572bffbc4a08 x4 : 00000000fffff167 x3 : 0000000000000000
    | x2 : 0000000000000000 x1 : ffff572b84461e00 x0 : 0000000000000022
    | Call trace:
    |  ftrace_bug+0x280/0x2b0
    |  ftrace_replace_code+0x98/0xa0
    |  ftrace_modify_all_code+0xe0/0x144
    |  arch_ftrace_update_code+0x14/0x20
    |  ftrace_startup+0xf8/0x1b0
    |  register_ftrace_function+0x38/0x90
    |  test_ftrace_init+0xd0/0x1000 [test_ftrace]
    |  do_one_initcall+0x50/0x2b0
    |  do_init_module+0x50/0x1f0
    |  load_module+0x17c8/0x1d64
    |  __do_sys_finit_module+0xa8/0x100
    |  __arm64_sys_finit_module+0x2c/0x3c
    |  invoke_syscall+0x50/0x120
    |  el0_svc_common.constprop.0+0xdc/0x100
    |  do_el0_svc+0x3c/0xd0
    |  el0_svc+0x34/0xb0
    |  el0t_64_sync_handler+0xbc/0x140
    |  el0t_64_sync+0x18c/0x190
    | ---[ end trace 0000000000000000 ]---
    
    We can solve this by consistently determining whether to use a PLT entry
    for an address.
    
    Note that since (the earlier) commit:
    
      f1a54ae ("arm64: module/ftrace: intialize PLT at load time")
    
    ... we can consistently determine the PLT address that a given callsite
    will use, and therefore ftrace_make_nop() does not need to skip
    validation when a PLT is in use.
    
    This patch factors the existing logic out of ftrace_make_call() and
    ftrace_make_nop() into a common ftrace_find_callable_addr() helper
    function, which is used by ftrace_make_call(), ftrace_make_nop(), and
    ftrace_modify_call(). In ftrace_make_nop() the patching is consistently
    validated by ftrace_modify_code() as we can always determine what the
    old instruction should have been.
    
    Fixes: 3b23e49 ("arm64: implement ftrace with regs")
    Signed-off-by: Mark Rutland <[email protected]>
    Cc: Ard Biesheuvel <[email protected]>
    Cc: Will Deacon <[email protected]>
    Tested-by: "Ivan T. Ivanov" <[email protected]>
    Reviewed-by: Chengming Zhou <[email protected]>
    Reviewed-by: Ard Biesheuvel <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Catalin Marinas <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Mark Rutland authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    dcecc96 View commit details
    Browse the repository at this point in the history
  85. certs/blacklist_hashes.c: fix const confusion in certs blacklist

    [ Upstream commit 6a1c376 ]
    
    This file fails to compile as follows:
    
      CC      certs/blacklist_hashes.o
    certs/blacklist_hashes.c:4:1: error: ignoring attribute ‘section (".init.data")’ because it conflicts with previous ‘section (".init.rodata")’ [-Werror=attributes]
        4 | const char __initdata *const blacklist_hashes[] = {
          | ^~~~~
    In file included from certs/blacklist_hashes.c:2:
    certs/blacklist.h:5:38: note: previous declaration here
        5 | extern const char __initconst *const blacklist_hashes[];
          |                                      ^~~~~~~~~~~~~~~~
    
    Apply the same fix as commit 2be04df ("certs/blacklist_nohashes.c:
    fix const confusion in certs blacklist").
    
    Fixes: 734114f ("KEYS: Add a system blacklist keyring")
    Signed-off-by: Masahiro Yamada <[email protected]>
    Reviewed-by: Jarkko Sakkinen <[email protected]>
    Reviewed-by: Mickaël Salaün <[email protected]>
    Signed-off-by: Jarkko Sakkinen <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    masahir0y authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    61d1ab8 View commit details
    Browse the repository at this point in the history
  86. init: Initialize noop_backing_dev_info early

    [ Upstream commit 4bca7e8 ]
    
    noop_backing_dev_info is used by superblocks of various
    pseudofilesystems such as kdevtmpfs. After commit 10e1407
    ("writeback: Fix inode->i_io_list not be protected by inode->i_lock
    error") this broke because __mark_inode_dirty() started to access more
    fields from noop_backing_dev_info and this led to crashes inside
    locked_inode_to_wb_and_lock_list() called from __mark_inode_dirty().
    Fix the problem by initializing noop_backing_dev_info before the
    filesystems get mounted.
    
    Fixes: 10e1407 ("writeback: Fix inode->i_io_list not be protected by inode->i_lock error")
    Reported-and-tested-by: Suzuki K Poulose <[email protected]>
    Reported-and-tested-by: Alexandru Elisei <[email protected]>
    Reported-and-tested-by: Guenter Roeck <[email protected]>
    Reviewed-by: Christoph Hellwig <[email protected]>
    Signed-off-by: Jan Kara <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    jankara authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    3ea2660 View commit details
    Browse the repository at this point in the history
  87. block: Fix handling of offline queues in blk_mq_alloc_request_hctx()

    [ Upstream commit 14dc7a1 ]
    
    This patch prevents that test nvme/004 triggers the following:
    
    UBSAN: array-index-out-of-bounds in block/blk-mq.h:135:9
    index 512 is out of range for type 'long unsigned int [512]'
    Call Trace:
     show_stack+0x52/0x58
     dump_stack_lvl+0x49/0x5e
     dump_stack+0x10/0x12
     ubsan_epilogue+0x9/0x3b
     __ubsan_handle_out_of_bounds.cold+0x44/0x49
     blk_mq_alloc_request_hctx+0x304/0x310
     __nvme_submit_sync_cmd+0x70/0x200 [nvme_core]
     nvmf_connect_io_queue+0x23e/0x2a0 [nvme_fabrics]
     nvme_loop_connect_io_queues+0x8d/0xb0 [nvme_loop]
     nvme_loop_create_ctrl+0x58e/0x7d0 [nvme_loop]
     nvmf_create_ctrl+0x1d7/0x4d0 [nvme_fabrics]
     nvmf_dev_write+0xae/0x111 [nvme_fabrics]
     vfs_write+0x144/0x560
     ksys_write+0xb7/0x140
     __x64_sys_write+0x42/0x50
     do_syscall_64+0x35/0x80
     entry_SYSCALL_64_after_hwframe+0x44/0xae
    
    Cc: Christoph Hellwig <[email protected]>
    Cc: Ming Lei <[email protected]>
    Fixes: 20e4d81 ("blk-mq: simplify queue mapping & schedule with each possisble CPU")
    Signed-off-by: Bart Van Assche <[email protected]>
    Reviewed-by: Christoph Hellwig <[email protected]>
    Reviewed-by: Ming Lei <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    bvanassche authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    b202a0b View commit details
    Browse the repository at this point in the history
  88. faddr2line: Fix overlapping text section failures, the sequel

    [ Upstream commit dcea997 ]
    
    If a function lives in a section other than .text, but .text also exists
    in the object, faddr2line may wrongly assume .text.  This can result in
    comically wrong output.  For example:
    
      $ scripts/faddr2line vmlinux.o enter_from_user_mode+0x1c
      enter_from_user_mode+0x1c/0x30:
      find_next_bit at /home/jpoimboe/git/linux/./include/linux/find.h:40
      (inlined by) perf_clear_dirty_counters at /home/jpoimboe/git/linux/arch/x86/events/core.c:2504
    
    Fix it by passing the section name to addr2line, unless the object file
    is vmlinux, in which case the symbol table uses absolute addresses.
    
    Fixes: 1d1a0e7 ("scripts/faddr2line: Fix overlapping text section failures")
    Reported-by: Peter Zijlstra <[email protected]>
    Signed-off-by: Josh Poimboeuf <[email protected]>
    Link: https://lore.kernel.org/r/7d25bc1408bd3a750ac26e60d2f2815a5f4a8363.1654130536.git.jpoimboe@kernel.org
    Signed-off-by: Sasha Levin <[email protected]>
    jpoimboe authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    745897a View commit details
    Browse the repository at this point in the history
  89. x86/ftrace: Remove OBJECT_FILES_NON_STANDARD usage

    [ Upstream commit 7b6c7a8 ]
    
    The file-wide OBJECT_FILES_NON_STANDARD annotation is used with
    CONFIG_FRAME_POINTER to tell objtool to skip the entire file when frame
    pointers are enabled.  However that annotation is now deprecated because
    it doesn't work with IBT, where objtool runs on vmlinux.o instead of
    individual translation units.
    
    Instead, use more fine-grained function-specific annotations:
    
    - The 'save_mcount_regs' macro does funny things with the frame pointer.
      Use STACK_FRAME_NON_STANDARD_FP to tell objtool to ignore the
      functions using it.
    
    - The return_to_handler() "function" isn't actually a callable function.
      Instead of being called, it's returned to.  The real return address
      isn't on the stack, so unwinding is already doomed no matter which
      unwinder is used.  So just remove the STT_FUNC annotation, telling
      objtool to ignore it.  That also removes the implicit
      ANNOTATE_NOENDBR, which now needs to be made explicit.
    
    Fixes the following warning:
    
      vmlinux.o: warning: objtool: __fentry__+0x16: return with modified stack frame
    
    Fixes: ed53a0d ("x86/alternative: Use .ibt_endbr_seal to seal indirect calls")
    Reported-by: kernel test robot <[email protected]>
    Signed-off-by: Josh Poimboeuf <[email protected]>
    Link: https://lore.kernel.org/r/b7a7a42fe306aca37826043dac89e113a1acdbac.1654268610.git.jpoimboe@kernel.org
    Signed-off-by: Sasha Levin <[email protected]>
    jpoimboe authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    ead1da2 View commit details
    Browse the repository at this point in the history
  90. i2c: npcm7xx: Add check for platform_driver_register

    [ Upstream commit 6ba12b5 ]
    
    As platform_driver_register() could fail, it should be better
    to deal with the return value in order to maintain the code
    consisitency.
    
    Fixes: 56a1485 ("i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver")
    Signed-off-by: Jiasheng Jiang <[email protected]>
    Acked-by: Tali Perry <[email protected]>
    Signed-off-by: Wolfram Sang <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    JiangJias authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    1e3a0e6 View commit details
    Browse the repository at this point in the history
  91. irqchip/gic/realview: Fix refcount leak in realview_gic_of_init

    [ Upstream commit f4b98e3 ]
    
    of_find_matching_node_and_match() returns a node pointer with refcount
    incremented, we should use of_node_put() on it when not need anymore.
    Add missing of_node_put() to avoid refcount leak.
    
    Fixes: 82b0a43 ("irqchip/gic/realview: Support more RealView DCC variants")
    Signed-off-by: Miaoqian Lin <[email protected]>
    Signed-off-by: Marc Zyngier <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Sasha Levin <[email protected]>
    Yuuoniy authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    16b603c View commit details
    Browse the repository at this point in the history
  92. irqchip/apple-aic: Fix refcount leak in build_fiq_affinity

    [ Upstream commit b1ac803 ]
    
    of_find_node_by_phandle() returns a node pointer with refcount
    incremented, we should use of_node_put() on it when not need anymore.
    Add missing of_node_put() to avoid refcount leak.
    
    Fixes: a5e8801 ("irqchip/apple-aic: Parse FIQ affinities from device-tree")
    Signed-off-by: Miaoqian Lin <[email protected]>
    Signed-off-by: Marc Zyngier <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Sasha Levin <[email protected]>
    Yuuoniy authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    2dc14ce View commit details
    Browse the repository at this point in the history
  93. irqchip/apple-aic: Fix refcount leak in aic_of_ic_init

    [ Upstream commit 3d45670 ]
    
    of_get_child_by_name() returns a node pointer with refcount
    incremented, we should use of_node_put() on it when not need anymore.
    Add missing of_node_put() to avoid refcount leak.
    
    Fixes: a5e8801 ("irqchip/apple-aic: Parse FIQ affinities from device-tree")
    Signed-off-by: Miaoqian Lin <[email protected]>
    Signed-off-by: Marc Zyngier <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Sasha Levin <[email protected]>
    Yuuoniy authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    6c0010d View commit details
    Browse the repository at this point in the history
  94. irqchip/gic-v3: Fix error handling in gic_populate_ppi_partitions

    [ Upstream commit ec8401a ]
    
    of_get_child_by_name() returns a node pointer with refcount
    incremented, we should use of_node_put() on it when not need anymore.
    When kcalloc fails, it missing of_node_put() and results in refcount
    leak. Fix this by goto out_put_node label.
    
    Fixes: 52085d3 ("irqchip/gic-v3: Dynamically allocate PPI partition descriptors")
    Signed-off-by: Miaoqian Lin <[email protected]>
    Signed-off-by: Marc Zyngier <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Sasha Levin <[email protected]>
    Yuuoniy authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    c83c34c View commit details
    Browse the repository at this point in the history
  95. irqchip/gic-v3: Fix refcount leak in gic_populate_ppi_partitions

    [ Upstream commit fa1ad9d ]
    
    of_find_node_by_phandle() returns a node pointer with refcount
    incremented, we should use of_node_put() on it when not need anymore.
    Add missing of_node_put() to avoid refcount leak.
    
    Fixes: e3825ba ("irqchip/gic-v3: Add support for partitioned PPIs")
    Signed-off-by: Miaoqian Lin <[email protected]>
    Signed-off-by: Marc Zyngier <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Sasha Levin <[email protected]>
    Yuuoniy authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    c136c29 View commit details
    Browse the repository at this point in the history
  96. irqchip/realtek-rtl: Fix refcount leak in map_interrupts

    [ Upstream commit eff4780 ]
    
    of_find_node_by_phandle() returns a node pointer with refcount
    incremented, we should use of_node_put() on it when not need anymore.
    This function doesn't call of_node_put() in error path.
    Call of_node_put() directly after of_property_read_u32() to cover
    both normal path and error path.
    
    Fixes: 9f3a0f3 ("irqchip: Add support for Realtek RTL838x/RTL839x interrupt controller")
    Signed-off-by: Miaoqian Lin <[email protected]>
    Signed-off-by: Marc Zyngier <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Sasha Levin <[email protected]>
    Yuuoniy authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f6d6223 View commit details
    Browse the repository at this point in the history
  97. sched: Fix balance_push() vs __sched_setscheduler()

    [ Upstream commit 04193d5 ]
    
    The purpose of balance_push() is to act as a filter on task selection
    in the case of CPU hotplug, specifically when taking the CPU out.
    
    It does this by (ab)using the balance callback infrastructure, with
    the express purpose of keeping all the unlikely/odd cases in a single
    place.
    
    In order to serve its purpose, the balance_push_callback needs to be
    (exclusively) on the callback list at all times (noting that the
    callback always places itself back on the list the moment it runs,
    also noting that when the CPU goes down, regular balancing concerns
    are moot, so ignoring them is fine).
    
    And here-in lies the problem, __sched_setscheduler()'s use of
    splice_balance_callbacks() takes the callbacks off the list across a
    lock-break, making it possible for, an interleaving, __schedule() to
    see an empty list and not get filtered.
    
    Fixes: ae79270 ("sched: Optimize finish_lock_switch()")
    Reported-by: Jing-Ting Wu <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Tested-by: Jing-Ting Wu <[email protected]>
    Link: https://lkml.kernel.org/r/[email protected]
    Signed-off-by: Sasha Levin <[email protected]>
    Peter Zijlstra authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f886aab View commit details
    Browse the repository at this point in the history
  98. i2c: designware: Use standard optional ref clock implementation

    [ Upstream commit 27071b5 ]
    
    Even though the DW I2C controller reference clock source is requested by
    the method devm_clk_get() with non-optional clock requirement the way the
    clock handler is used afterwards has a pure optional clock semantic
    (though in some circumstances we can get a warning about the clock missing
    printed in the system console). There is no point in reimplementing that
    functionality seeing the kernel clock framework already supports the
    optional interface from scratch. Thus let's convert the platform driver to
    using it.
    
    Note by providing this commit we get to fix two problems. The first one
    was introduced in commit c62ebb3 ("i2c: designware: Add support for
    an interface clock"). It causes not having the interface clock (pclk)
    enabled/disabled in case if the reference clock isn't provided. The second
    problem was first introduced in commit b33af11 ("i2c: designware: Do
    not require clock when SSCN and FFCN are provided"). Since that
    modification the deferred probe procedure has been unsupported in case if
    the interface clock isn't ready.
    
    Fixes: c62ebb3 ("i2c: designware: Add support for an interface clock")
    Fixes: b33af11 ("i2c: designware: Do not require clock when SSCN and FFCN are provided")
    Signed-off-by: Serge Semin <[email protected]>
    Reviewed-by: Andy Shevchenko <[email protected]>
    Acked-by: Jarkko Nikula <[email protected]>
    Signed-off-by: Wolfram Sang <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    fancer authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    9dec648 View commit details
    Browse the repository at this point in the history
  99. i2c: mediatek: Fix an error handling path in mtk_i2c_probe()

    [ Upstream commit de87b60 ]
    
    The clsk are prepared, enabled, then disabled. So if an error occurs after
    the disable step, they are still prepared.
    
    Add an error handling path to unprepare the clks in such a case, as already
    done in the .remove function.
    
    Fixes: 8b4fc24 ("i2c: mediatek: Optimize master_xfer() and avoid circular locking")
    Signed-off-by: Christophe JAILLET <[email protected]>
    Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
    Reviewed-by: Qii Wang <[email protected]>
    Signed-off-by: Wolfram Sang <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    tititiou36 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    5afd3e0 View commit details
    Browse the repository at this point in the history
  100. mei: hbm: drop capability response on early shutdown

    commit 6855365 upstream.
    
    Drop HBM responses also in the early shutdown phase where
    the usual traffic is allowed.
    Extend the rule that drop HBM responses received during the shutdown
    phase by also in MEI_DEV_POWERING_DOWN state.
    This resolves the stall if the driver is stopping in the middle
    of the link initialization or link reset.
    
    Drop the capabilities response on early shutdown.
    
    Fixes: 6d7163f ("mei: hbm: drop hbm responses on early shutdown")
    Cc: <[email protected]>
    Signed-off-by: Alexander Usyskin <[email protected]>
    Signed-off-by: Tomas Winkler <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    ausyskin authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    0c26c4e View commit details
    Browse the repository at this point in the history
  101. mei: me: add raptor lake point S DID

    commit 3ed8c7d upstream.
    
    Add Raptor (Point) Lake S device id.
    
    Cc: <[email protected]>
    Signed-off-by: Alexander Usyskin <[email protected]>
    Signed-off-by: Tomas Winkler <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    ausyskin authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    76282ba View commit details
    Browse the repository at this point in the history
  102. comedi: vmk80xx: fix expression for tx buffer size

    commit 242439f upstream.
    
    The expression for setting the size of the allocated bulk TX buffer
    (`devpriv->usb_tx_buf`) is calling `usb_endpoint_maxp(devpriv->ep_rx)`,
    which is using the wrong endpoint (should be `devpriv->ep_tx`).  Fix it.
    
    Fixes: a23461c ("comedi: vmk80xx: fix transfer-buffer overflow")
    Cc: Johan Hovold <[email protected]>
    Cc: [email protected] # 4.9+
    Reviewed-by: Johan Hovold <[email protected]>
    Signed-off-by: Ian Abbott <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    ian-abbott authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f3390c7 View commit details
    Browse the repository at this point in the history
  103. crypto: memneq - move into lib/

    commit abfed87 upstream.
    
    This is used by code that doesn't need CONFIG_CRYPTO, so move this into
    lib/ with a Kconfig option so that it can be selected by whatever needs
    it.
    
    This fixes a linker error Zheng pointed out when
    CRYPTO_MANAGER_DISABLE_TESTS!=y and CRYPTO=m:
    
      lib/crypto/curve25519-selftest.o: In function `curve25519_selftest':
      curve25519-selftest.c:(.init.text+0x60): undefined reference to `__crypto_memneq'
      curve25519-selftest.c:(.init.text+0xec): undefined reference to `__crypto_memneq'
      curve25519-selftest.c:(.init.text+0x114): undefined reference to `__crypto_memneq'
      curve25519-selftest.c:(.init.text+0x154): undefined reference to `__crypto_memneq'
    
    Reported-by: Zheng Bin <[email protected]>
    Cc: Eric Biggers <[email protected]>
    Cc: [email protected]
    Fixes: aa12796 ("crypto: lib/curve25519 - re-add selftests")
    Signed-off-by: Jason A. Donenfeld <[email protected]>
    Reviewed-by: Eric Biggers <[email protected]>
    Signed-off-by: Herbert Xu <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    zx2c4 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    142fdda View commit details
    Browse the repository at this point in the history
  104. USB: serial: option: add support for Cinterion MV31 with new baseline

    commit 158f758 upstream.
    
    Adding support for Cinterion device MV31 with Qualcomm
    new baseline. Use different PIDs to separate it from
    previous base line products.
    All interfaces settings keep same as previous.
    
    Below is test evidence:
    T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  6 Spd=480 MxCh= 0
    D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=1e2d ProdID=00b8 Rev=04.14
    S:  Manufacturer=Cinterion
    S:  Product=Cinterion PID 0x00B8 USB Mobile Broadband
    S:  SerialNumber=90418e79
    C:  #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA
    I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
    I:  If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
    I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
    I:  If#=0x3 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
    I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=60 Driver=option
    I:  If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
    
    T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  7 Spd=480 MxCh= 0
    D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=1e2d ProdID=00b9 Rev=04.14
    S:  Manufacturer=Cinterion
    S:  Product=Cinterion PID 0x00B9 USB Mobile Broadband
    S:  SerialNumber=90418e79
    C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA
    I:  If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan
    I:  If#=0x1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
    I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=60 Driver=option
    I:  If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
    
    For PID 00b8, interface 3 is GNSS port which don't use serial driver.
    
    Signed-off-by: Slark Xiao <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    [ johan: rename defines using a "2" infix ]
    Cc: [email protected]
    Signed-off-by: Johan Hovold <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    SlarkXiao authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    df913e7 View commit details
    Browse the repository at this point in the history
  105. USB: serial: io_ti: add Agilent E5805A support

    commit 908e698 upstream.
    
    Add support for Agilent E5805A (rebranded ION Edgeport/4) to io_ti.
    
    Signed-off-by: Robert Eckelmann <[email protected]>
    Link: https://lore.kernel.org/r/20220521230808.30931eca@octoberrain
    Cc: [email protected]
    Signed-off-by: Johan Hovold <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    LongnoseRob authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    42c9f37 View commit details
    Browse the repository at this point in the history
  106. arm64: mm: Don't invalidate FROM_DEVICE buffers at start of DMA transfer

    commit c50f11c upstream.
    
    Invalidating the buffer memory in arch_sync_dma_for_device() for
    FROM_DEVICE transfers
    
    When using the streaming DMA API to map a buffer prior to inbound
    non-coherent DMA (i.e. DMA_FROM_DEVICE), we invalidate any dirty CPU
    cachelines so that they will not be written back during the transfer and
    corrupt the buffer contents written by the DMA. This, however, poses two
    potential problems:
    
      (1) If the DMA transfer does not write to every byte in the buffer,
          then the unwritten bytes will contain stale data once the transfer
          has completed.
    
      (2) If the buffer has a virtual alias in userspace, then stale data
          may be visible via this alias during the period between performing
          the cache invalidation and the DMA writes landing in memory.
    
    Address both of these issues by cleaning (aka writing-back) the dirty
    lines in arch_sync_dma_for_device(DMA_FROM_DEVICE) instead of discarding
    them using invalidation.
    
    Cc: Ard Biesheuvel <[email protected]>
    Cc: Christoph Hellwig <[email protected]>
    Cc: Robin Murphy <[email protected]>
    Cc: Russell King <[email protected]>
    Cc: <[email protected]>
    Link: https://lore.kernel.org/r/20220606152150.GA31568@willie-the-truck
    Signed-off-by: Will Deacon <[email protected]>
    Reviewed-by: Ard Biesheuvel <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Catalin Marinas <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    willdeacon authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    9e22858 View commit details
    Browse the repository at this point in the history
  107. usb: dwc2: Fix memory leak in dwc2_hcd_init

    commit 3755278 upstream.
    
    usb_create_hcd will alloc memory for hcd, and we should
    call usb_put_hcd to free it when platform_get_resource()
    fails to prevent memory leak.
    goto error2 label instead error1 to fix this.
    
    Fixes: 856e6e8 ("usb: dwc2: check return value after calling platform_get_resource()")
    Cc: stable <[email protected]>
    Acked-by: Minas Harutyunyan <[email protected]>
    Signed-off-by: Miaoqian Lin <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Yuuoniy authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    52bfced View commit details
    Browse the repository at this point in the history
  108. usb: cdnsp: Fixed setting last_trb incorrectly

    commit 5c7578c upstream.
    
    When ZLP occurs in bulk transmission, currently cdnsp will set last_trb
    for the last two TRBs, it will trigger an error "ERROR Transfer event TRB
    DMA ptr not part of current TD ...".
    
    Fixes: e913aad ("usb: cdnsp: Fixed issue with ZLP")
    Cc: stable <[email protected]>
    Acked-by: Pawel Laszczak <[email protected]>
    Signed-off-by: Jing Leng <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Jing Leng authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    45a9174 View commit details
    Browse the repository at this point in the history
  109. usb: dwc3: gadget: Fix IN endpoint max packet size allocation

    commit 9c1e916 upstream.
    
    The current logic to assign the max packet limit for IN endpoints attempts
    to take the default HW value and apply the optimal endpoint settings based
    on it.  However, if the default value reports a TxFIFO size large enough
    for only one max packet, it will divide the value and assign a smaller ep
    max packet limit.
    
    For example, if the default TxFIFO size fits 1024B, current logic will
    assign 1024/3 = 341B to ep max packet size.  If function drivers attempt to
    request for an endpoint with a wMaxPacketSize of 1024B (SS BULK max packet
    size) then it will fail, as the gadget is unable to find an endpoint which
    can fit the requested size.
    
    Functionally, if the TxFIFO has enough space to fit one max packet, it will
    be sufficient, at least when initializing the endpoints.
    
    Fixes: d94ea53 ("usb: dwc3: gadget: Properly set maxpacket limit")
    Cc: stable <[email protected]>
    Signed-off-by: Wesley Cheng <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Wesley Cheng authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    5e6d1d0 View commit details
    Browse the repository at this point in the history
  110. usb: dwc3: pci: Restore line lost in merge conflict resolution

    commit 7ddda26 upstream.
    
    Commit 582ab24 ("usb: dwc3: pci: Set "linux,phy_charger_detect"
    property on some Bay Trail boards") added a new swnode similar to the
    existing ones for boards where the PHY handles charger detection.
    
    Unfortunately, the "linux,sysdev_is_parent" property got lost in the
    merge conflict resolution of commit ca9400e ("Merge 5.17-rc6 into
    usb-next"). Now dwc3_pci_intel_phy_charger_detect_properties is the
    only swnode in dwc3-pci that is missing "linux,sysdev_is_parent".
    
    It does not seem to cause any obvious functional issues, but it's
    certainly unintended so restore the line to make the properties
    consistent again.
    
    Fixes: ca9400e ("Merge 5.17-rc6 into usb-next")
    Cc: [email protected]
    Signed-off-by: Stephan Gerhold <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    stephan-gh authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    1b3cf8f View commit details
    Browse the repository at this point in the history
  111. usb: gadget: u_ether: fix regression in setting fixed MAC address

    commit b337af3 upstream.
    
    In systemd systems setting a fixed MAC address through
    the "dev_addr" module argument fails systematically.
    When checking the MAC address after the interface is created
    it always has the same but different MAC address to the one
    supplied as argument.
    
    This is partially caused by systemd which by default will
    set an internally generated permanent MAC address for interfaces
    that are marked as having a randomly generated address.
    
    Commit 890d5b4 ("usb: gadget: u_ether: fix race in
    setting MAC address in setup phase") didn't take into account
    the fact that the interface must be marked as having a set
    MAC address when it's set as module argument.
    
    Fixed by marking the interface with NET_ADDR_SET when
    the "dev_addr" module argument is supplied.
    
    Fixes: 890d5b4 ("usb: gadget: u_ether: fix race in setting MAC address in setup phase")
    Cc: [email protected]
    Signed-off-by: Marian Postevca <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Marian Postevca authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    3c23e35 View commit details
    Browse the repository at this point in the history
  112. usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe

    commit 4757c9a upstream.
    
    of_parse_phandle() returns a node pointer with refcount
    incremented, we should use of_node_put() on it when not need anymore.
    Add missing of_node_put() to avoid refcount leak.
    of_node_put() will check NULL pointer.
    
    Fixes: 24a28e4 ("USB: gadget driver for LPC32xx")
    Cc: stable <[email protected]>
    Signed-off-by: Miaoqian Lin <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Yuuoniy authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    727c82d View commit details
    Browse the repository at this point in the history
  113. usb: gadget: f_fs: change ep->status safe in ffs_epfile_io()

    commit fb1f16d upstream.
    
    If a task read/write data in blocking mode, it will wait the completion
    in ffs_epfile_io(), if function unbind occurs, ffs_func_unbind() will
    kfree ffs ep, once the task wake up, it still dereference the ffs ep to
    obtain the request status.
    
    Fix it by moving the request status to io_data which is stack-safe.
    
    Cc: <[email protected]> # 5.15
    Reported-by: Michael Wu <[email protected]>
    Tested-by: Michael Wu <[email protected]>
    Reviewed-by: John Keeping <[email protected]>
    Signed-off-by: Linyu Yuan <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Linyu Yuan authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    7b7478d View commit details
    Browse the repository at this point in the history
  114. usb: gadget: f_fs: change ep->ep safe in ffs_epfile_io()

    commit 0698f02 upstream.
    
    In ffs_epfile_io(), when read/write data in blocking mode, it will wait
    the completion in interruptible mode, if task receive a signal, it will
    terminate the wait, at same time, if function unbind occurs,
    ffs_func_unbind() will kfree all eps, ffs_epfile_io() still try to
    dequeue request by dereferencing ep which may become invalid.
    
    Fix it by add ep spinlock and will not dereference ep if it is not valid.
    
    Cc: <[email protected]> # 5.15
    Reported-by: Michael Wu <[email protected]>
    Tested-by: Michael Wu <[email protected]>
    Reviewed-by: John Keeping <[email protected]>
    Signed-off-by: Linyu Yuan <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Linyu Yuan authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    5eb643c View commit details
    Browse the repository at this point in the history
  115. tty: n_gsm: Debug output allocation must use GFP_ATOMIC

    commit e74024b upstream.
    
    Dan Carpenter <[email protected]> reported the following Smatch
    warning:
    
    drivers/tty/n_gsm.c:720 gsm_data_kick()
    warn: sleeping in atomic context
    
    This is because gsm_control_message() is holding a spin lock so
    gsm_hex_dump_bytes() needs to use GFP_ATOMIC instead of GFP_KERNEL.
    
    Fixes: 925ea0f ("tty: n_gsm: Fix packet data hex dump output")
    Cc: stable <[email protected]>
    Reported-by: Dan Carpenter <[email protected]>
    Reviewed-by: Gregory CLEMENT <[email protected]>
    Signed-off-by: Tony Lindgren <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    tmlind authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    3ac9a73 View commit details
    Browse the repository at this point in the history
  116. serial: 8250: Store to lsr_save_flags after lsr read

    commit be03b06 upstream.
    
    Not all LSR register flags are preserved across reads. Therefore, LSR
    readers must store the non-preserved bits into lsr_save_flags.
    
    This fix was initially mixed into feature commit f6f5861 ("serial:
    8250: Handle UART without interrupt on TEMT using em485"). However,
    that feature change had a flaw and it was reverted to make room for
    simpler approach providing the same feature. The embedded fix got
    reverted with the feature change.
    
    Re-add the lsr_save_flags fix and properly mark it's a fix.
    
    Link: https://lore.kernel.org/all/[email protected]/T/#m1737eef986bd20cf19593e344cebd7b0244945fc
    Fixes: e490c91 ("tty: Add software emulated RS485 support for 8250")
    Cc: stable <[email protected]>
    Acked-by: Uwe Kleine-König <[email protected]>
    Signed-off-by: Uwe Kleine-König <[email protected]>
    Signed-off-by: Ilpo Järvinen <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    ij-intel authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    4d70e2f View commit details
    Browse the repository at this point in the history
  117. bus: fsl-mc-bus: fix KASAN use-after-free in fsl_mc_bus_remove()

    commit 928ea98 upstream.
    
    In fsl_mc_bus_remove(), mc->root_mc_bus_dev->mc_io is passed to
    fsl_destroy_mc_io(). However, mc->root_mc_bus_dev is already freed in
    fsl_mc_device_remove(). Then reference to mc->root_mc_bus_dev->mc_io
    triggers KASAN use-after-free. To avoid the use-after-free, keep the
    reference to mc->root_mc_bus_dev->mc_io in a local variable and pass to
    fsl_destroy_mc_io().
    
    This patch needs rework to apply to kernels older than v5.15.
    
    Fixes: f936271 ("staging: fsl-mc: fix asymmetry in destroy of mc_io")
    Cc: [email protected] # v5.15+
    Signed-off-by: Shin'ichiro Kawasaki <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    kawasaki authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    161b68b View commit details
    Browse the repository at this point in the history
  118. md/raid5-ppl: Fix argument order in bio_alloc_bioset()

    commit f34fdcd upstream.
    
    bio_alloc_bioset() takes a block device, number of vectors, the
    OP flags, the GFP mask and the bio set. However when the prototype
    was changed, the callisite in ppl_do_flush() had the OP flags and
    the GFP flags reversed. This introduced some sparse error:
    
      drivers/md/raid5-ppl.c:632:57: warning: incorrect type in argument 3
    				    (different base types)
      drivers/md/raid5-ppl.c:632:57:    expected unsigned int opf
      drivers/md/raid5-ppl.c:632:57:    got restricted gfp_t [usertype]
      drivers/md/raid5-ppl.c:633:61: warning: incorrect type in argument 4
      				    (different base types)
      drivers/md/raid5-ppl.c:633:61:    expected restricted gfp_t [usertype]
    				    gfp_mask
      drivers/md/raid5-ppl.c:633:61:    got unsigned long long
    
    The sparse error introduction may not have been reported correctly by
    0day due to other work that was cleaning up other sparse errors in this
    area.
    
    Fixes: 609be10 ("block: pass a block_device and opf to bio_alloc_bioset")
    Cc: [email protected] # 5.18+
    Signed-off-by: Logan Gunthorpe <[email protected]>
    Reviewed-by: Christoph Hellwig <[email protected]>
    Signed-off-by: Song Liu <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    lsgunth authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    d077b92 View commit details
    Browse the repository at this point in the history
  119. dm: fix race in dm_start_io_acct

    commit 10eb3a0 upstream.
    
    After commit 82f6cdc ("dm: switch dm_io booleans over to proper
    flags") dm_start_io_acct stopped atomically checking and setting
    was_accounted, which turned into the DM_IO_ACCOUNTED flag. This opened
    the possibility for a race where IO accounting is started twice for
    duplicate bios. To remove the race, check the flag while holding the
    io->lock.
    
    Fixes: 82f6cdc ("dm: switch dm_io booleans over to proper flags")
    Cc: [email protected]
    Signed-off-by: Benjamin Marzinski <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    bmarzins authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    c907589 View commit details
    Browse the repository at this point in the history
  120. dm mirror log: round up region bitmap size to BITS_PER_LONG

    commit 85e123c upstream.
    
    The code in dm-log rounds up bitset_size to 32 bits. It then uses
    find_next_zero_bit_le on the allocated region. find_next_zero_bit_le
    accesses the bitmap using unsigned long pointers. So, on 64-bit
    architectures, it may access 4 bytes beyond the allocated size.
    
    Fix this bug by rounding up bitset_size to BITS_PER_LONG.
    
    This bug was found by running the lvm2 testsuite with kasan.
    
    Fixes: 29121bd ("[PATCH] dm mirror log: bitset_size fix")
    Cc: [email protected]
    Signed-off-by: Mikulas Patocka <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Mikulas Patocka authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    9a02f32 View commit details
    Browse the repository at this point in the history
  121. drm/amdgpu: Fix GTT size reporting in amdgpu_ioctl

    commit c904e3a upstream.
    
    The commit below changed the TTM manager size unit from pages to
    bytes, but failed to adjust the corresponding calculations in
    amdgpu_ioctl.
    
    Fixes: dfa714b ("drm/amdgpu: remove GTT accounting v2")
    Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1930
    Bug: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6642
    Tested-by: Martin Roukala <[email protected]>
    Tested-by: Mike Lothian <[email protected]>
    Reviewed-by: Christian König <[email protected]>
    Signed-off-by: Michel Dänzer <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: [email protected] # 5.18.x
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Michel Dänzer authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    e655238 View commit details
    Browse the repository at this point in the history
  122. drm/amd/display: Cap OLED brightness per max frame-average luminance

    commit 4fd17f2 upstream.
    
    [Why]
    For OLED eDP the Display Manager uses max_cll value as a limit
    for brightness control.
    max_cll defines the content light luminance for individual pixel.
    Whereas max_fall defines frame-average level luminance.
    The user may not observe the difference in brightness in between
    max_fall and max_cll.
    That negatively impacts the user experience.
    
    [How]
    Use max_fall value instead of max_cll as a limit for brightness control.
    
    Reviewed-by: Rodrigo Siqueira <[email protected]>
    Acked-by: Hamza Mahfooz <[email protected]>
    Signed-off-by: Roman Li <[email protected]>
    Tested-by: Daniel Wheeler <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: [email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Roman Li authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    8e054c1 View commit details
    Browse the repository at this point in the history
  123. audit: free module name

    commit ef79c39 upstream.
    
    Reset the type of the record last as the helper `audit_free_module()`
    depends on it.
    
        unreferenced object 0xffff888153b707f0 (size 16):
          comm "modprobe", pid 1319, jiffies 4295110033 (age 1083.016s)
          hex dump (first 16 bytes):
            62 69 6e 66 6d 74 5f 6d 69 73 63 00 6b 6b 6b a5  binfmt_misc.kkk.
          backtrace:
            [<ffffffffa07dbf9b>] kstrdup+0x2b/0x50
            [<ffffffffa04b0a9d>] __audit_log_kern_module+0x4d/0xf0
            [<ffffffffa03b6664>] load_module+0x9d4/0x2e10
            [<ffffffffa03b8f44>] __do_sys_finit_module+0x114/0x1b0
            [<ffffffffa1f47124>] do_syscall_64+0x34/0x80
            [<ffffffffa200007e>] entry_SYSCALL_64_after_hwframe+0x46/0xb0
    
    Cc: [email protected]
    Fixes: 12c5e81 ("audit: prepare audit_context for use in calling contexts beyond syscalls")
    Signed-off-by: Christian Göttsche <[email protected]>
    Signed-off-by: Paul Moore <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    cgzones authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    9a1a616 View commit details
    Browse the repository at this point in the history
  124. cfi: Fix __cfi_slowpath_diag RCU usage with cpuidle

    commit 57cd6d1 upstream.
    
    RCU_NONIDLE usage during __cfi_slowpath_diag can result in an invalid
    RCU state in the cpuidle code path:
    
      WARNING: CPU: 1 PID: 0 at kernel/rcu/tree.c:613 rcu_eqs_enter+0xe4/0x138
      ...
      Call trace:
        rcu_eqs_enter+0xe4/0x138
        rcu_idle_enter+0xa8/0x100
        cpuidle_enter_state+0x154/0x3a8
        cpuidle_enter+0x3c/0x58
        do_idle.llvm.6590768638138871020+0x1f4/0x2ec
        cpu_startup_entry+0x28/0x2c
        secondary_start_kernel+0x1b8/0x220
        __secondary_switched+0x94/0x98
    
    Instead, call rcu_irq_enter/exit to wake up RCU only when needed and
    disable interrupts for the entire CFI shadow/module check when we do.
    
    Signed-off-by: Sami Tolvanen <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Fixes: cf68fff ("add support for Clang CFI")
    Cc: [email protected]
    Signed-off-by: Kees Cook <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    samitolvanen authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    ca3897f View commit details
    Browse the repository at this point in the history
  125. fs: account for group membership

    commit 168f912 upstream.
    
    When calling setattr_prepare() to determine the validity of the
    attributes the ia_{g,u}id fields contain the value that will be written
    to inode->i_{g,u}id. This is exactly the same for idmapped and
    non-idmapped mounts and allows callers to pass in the values they want
    to see written to inode->i_{g,u}id.
    
    When group ownership is changed a caller whose fsuid owns the inode can
    change the group of the inode to any group they are a member of. When
    searching through the caller's groups we need to use the gid mapped
    according to the idmapped mount otherwise we will fail to change
    ownership for unprivileged users.
    
    Consider a caller running with fsuid and fsgid 1000 using an idmapped
    mount that maps id 65534 to 1000 and 65535 to 1001. Consequently, a file
    owned by 65534:65535 in the filesystem will be owned by 1000:1001 in the
    idmapped mount.
    
    The caller now requests the gid of the file to be changed to 1000 going
    through the idmapped mount. In the vfs we will immediately map the
    requested gid to the value that will need to be written to inode->i_gid
    and place it in attr->ia_gid. Since this idmapped mount maps 65534 to
    1000 we place 65534 in attr->ia_gid.
    
    When we check whether the caller is allowed to change group ownership we
    first validate that their fsuid matches the inode's uid. The
    inode->i_uid is 65534 which is mapped to uid 1000 in the idmapped mount.
    Since the caller's fsuid is 1000 we pass the check.
    
    We now check whether the caller is allowed to change inode->i_gid to the
    requested gid by calling in_group_p(). This will compare the passed in
    gid to the caller's fsgid and search the caller's additional groups.
    
    Since we're dealing with an idmapped mount we need to pass in the gid
    mapped according to the idmapped mount. This is akin to checking whether
    a caller is privileged over the future group the inode is owned by. And
    that needs to take the idmapped mount into account. Note, all helpers
    are nops without idmapped mounts.
    
    New regression test sent to xfstests.
    
    Link: https://github.com/lxc/lxd/issues/10537
    Link: https://lore.kernel.org/r/[email protected]
    Fixes: 2f221d6 ("attr: handle idmapped mounts")
    Cc: Seth Forshee <[email protected]>
    Cc: Christoph Hellwig <[email protected]>
    Cc: Aleksa Sarai <[email protected]>
    Cc: Al Viro <[email protected]>
    Cc: [email protected] # 5.15+
    CC: [email protected]
    Reviewed-by: Seth Forshee <[email protected]>
    Signed-off-by: Christian Brauner (Microsoft) <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    brauner authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    e296dbb View commit details
    Browse the repository at this point in the history
  126. selinux: free contexts previously transferred in selinux_add_opt()

    commit cad140d upstream.
    
    `selinux_add_opt()` stopped taking ownership of the passed context since
    commit 70f4169 ("selinux: parse contexts for mount options early").
    
        unreferenced object 0xffff888114dfd140 (size 64):
          comm "mount", pid 15182, jiffies 4295687028 (age 796.340s)
          hex dump (first 32 bytes):
            73 79 73 74 65 6d 5f 75 3a 6f 62 6a 65 63 74 5f  system_u:object_
            72 3a 74 65 73 74 5f 66 69 6c 65 73 79 73 74 65  r:test_filesyste
          backtrace:
            [<ffffffffa07dbef4>] kmemdup_nul+0x24/0x80
            [<ffffffffa0d34253>] selinux_sb_eat_lsm_opts+0x293/0x560
            [<ffffffffa0d13f08>] security_sb_eat_lsm_opts+0x58/0x80
            [<ffffffffa0af1eb2>] generic_parse_monolithic+0x82/0x180
            [<ffffffffa0a9c1a5>] do_new_mount+0x1f5/0x550
            [<ffffffffa0a9eccb>] path_mount+0x2ab/0x1570
            [<ffffffffa0aa019e>] __x64_sys_mount+0x20e/0x280
            [<ffffffffa1f47124>] do_syscall_64+0x34/0x80
            [<ffffffffa200007e>] entry_SYSCALL_64_after_hwframe+0x46/0xb0
    
        unreferenced object 0xffff888108e71640 (size 64):
          comm "fsmount", pid 7607, jiffies 4295044974 (age 1601.016s)
          hex dump (first 32 bytes):
            73 79 73 74 65 6d 5f 75 3a 6f 62 6a 65 63 74 5f  system_u:object_
            72 3a 74 65 73 74 5f 66 69 6c 65 73 79 73 74 65  r:test_filesyste
          backtrace:
            [<ffffffff861dc2b1>] memdup_user+0x21/0x90
            [<ffffffff861dc367>] strndup_user+0x47/0xa0
            [<ffffffff864f6965>] __do_sys_fsconfig+0x485/0x9f0
            [<ffffffff87940124>] do_syscall_64+0x34/0x80
            [<ffffffff87a0007e>] entry_SYSCALL_64_after_hwframe+0x46/0xb0
    
    Cc: [email protected]
    Fixes: 70f4169 ("selinux: parse contexts for mount options early")
    Signed-off-by: Christian Göttsche <[email protected]>
    Signed-off-by: Paul Moore <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    cgzones authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    e13a8ea View commit details
    Browse the repository at this point in the history
  127. ext4: fix super block checksum incorrect after mount

    commit 9b6641d upstream.
    
    We got issue as follows:
    [home]# mount  /dev/sda  test
    EXT4-fs (sda): warning: mounting fs with errors, running e2fsck is recommended
    [home]# dmesg
    EXT4-fs (sda): warning: mounting fs with errors, running e2fsck is recommended
    EXT4-fs (sda): Errors on filesystem, clearing orphan list.
    EXT4-fs (sda): recovery complete
    EXT4-fs (sda): mounted filesystem with ordered data mode. Quota mode: none.
    [home]# debugfs /dev/sda
    debugfs 1.46.5 (30-Dec-2021)
    Checksum errors in superblock!  Retrying...
    
    Reason is ext4_orphan_cleanup will reset ‘s_last_orphan’ but not update
    super block checksum.
    
    To solve above issue, defer update super block checksum after
    ext4_orphan_cleanup.
    
    Signed-off-by: Ye Bin <[email protected]>
    Cc: [email protected]
    Reviewed-by: Jan Kara <[email protected]>
    Reviewed-by: Ritesh Harjani <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Theodore Ts'o <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Ye Bin authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    ad2c5d7 View commit details
    Browse the repository at this point in the history
  128. ext4: fix bug_on ext4_mb_use_inode_pa

    commit a08f789 upstream.
    
    Hulk Robot reported a BUG_ON:
    ==================================================================
    kernel BUG at fs/ext4/mballoc.c:3211!
    [...]
    RIP: 0010:ext4_mb_mark_diskspace_used.cold+0x85/0x136f
    [...]
    Call Trace:
     ext4_mb_new_blocks+0x9df/0x5d30
     ext4_ext_map_blocks+0x1803/0x4d80
     ext4_map_blocks+0x3a4/0x1a10
     ext4_writepages+0x126d/0x2c30
     do_writepages+0x7f/0x1b0
     __filemap_fdatawrite_range+0x285/0x3b0
     file_write_and_wait_range+0xb1/0x140
     ext4_sync_file+0x1aa/0xca0
     vfs_fsync_range+0xfb/0x260
     do_fsync+0x48/0xa0
    [...]
    ==================================================================
    
    Above issue may happen as follows:
    -------------------------------------
    do_fsync
     vfs_fsync_range
      ext4_sync_file
       file_write_and_wait_range
        __filemap_fdatawrite_range
         do_writepages
          ext4_writepages
           mpage_map_and_submit_extent
            mpage_map_one_extent
             ext4_map_blocks
              ext4_mb_new_blocks
               ext4_mb_normalize_request
                >>> start + size <= ac->ac_o_ex.fe_logical
               ext4_mb_regular_allocator
                ext4_mb_simple_scan_group
                 ext4_mb_use_best_found
                  ext4_mb_new_preallocation
                   ext4_mb_new_inode_pa
                    ext4_mb_use_inode_pa
                     >>> set ac->ac_b_ex.fe_len <= 0
               ext4_mb_mark_diskspace_used
                >>> BUG_ON(ac->ac_b_ex.fe_len <= 0);
    
    we can easily reproduce this problem with the following commands:
    	`fallocate -l100M disk`
    	`mkfs.ext4 -b 1024 -g 256 disk`
    	`mount disk /mnt`
    	`fsstress -d /mnt -l 0 -n 1000 -p 1`
    
    The size must be smaller than or equal to EXT4_BLOCKS_PER_GROUP.
    Therefore, "start + size <= ac->ac_o_ex.fe_logical" may occur
    when the size is truncated. So start should be the start position of
    the group where ac_o_ex.fe_logical is located after alignment.
    In addition, when the value of fe_logical or EXT4_BLOCKS_PER_GROUP
    is very large, the value calculated by start_off is more accurate.
    
    Cc: [email protected]
    Fixes: cd648b8 ("ext4: trim allocation requests to group size")
    Reported-by: Hulk Robot <[email protected]>
    Signed-off-by: Baokun Li <[email protected]>
    Reviewed-by: Ritesh Harjani <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Theodore Ts'o <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    LiBaokun96 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    887a3e9 View commit details
    Browse the repository at this point in the history
  129. ext4: make variable "count" signed

    commit bc75a6e upstream.
    
    Since dx_make_map() may return -EFSCORRUPTED now, so change "count" to
    be a signed integer so we can correctly check for an error code returned
    by dx_make_map().
    
    Fixes: 46c116b ("ext4: verify dir block before splitting it")
    Cc: [email protected]
    Signed-off-by: Ding Xiang <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Theodore Ts'o <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Ding Xiang authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    084648a View commit details
    Browse the repository at this point in the history
  130. ext4: add reserved GDT blocks check

    commit b55c3cd upstream.
    
    We capture a NULL pointer issue when resizing a corrupt ext4 image which
    is freshly clear resize_inode feature (not run e2fsck). It could be
    simply reproduced by following steps. The problem is because of the
    resize_inode feature was cleared, and it will convert the filesystem to
    meta_bg mode in ext4_resize_fs(), but the es->s_reserved_gdt_blocks was
    not reduced to zero, so could we mistakenly call reserve_backup_gdb()
    and passing an uninitialized resize_inode to it when adding new group
    descriptors.
    
     mkfs.ext4 /dev/sda 3G
     tune2fs -O ^resize_inode /dev/sda #forget to run requested e2fsck
     mount /dev/sda /mnt
     resize2fs /dev/sda 8G
    
     ========
     BUG: kernel NULL pointer dereference, address: 0000000000000028
     CPU: 19 PID: 3243 Comm: resize2fs Not tainted 5.18.0-rc7-00001-gfde086c5ebfd torvalds#748
     ...
     RIP: 0010:ext4_flex_group_add+0xe08/0x2570
     ...
     Call Trace:
      <TASK>
      ext4_resize_fs+0xbec/0x1660
      __ext4_ioctl+0x1749/0x24e0
      ext4_ioctl+0x12/0x20
      __x64_sys_ioctl+0xa6/0x110
      do_syscall_64+0x3b/0x90
      entry_SYSCALL_64_after_hwframe+0x44/0xae
     RIP: 0033:0x7f2dd739617b
     ========
    
    The fix is simple, add a check in ext4_resize_begin() to make sure that
    the es->s_reserved_gdt_blocks is zero when the resize_inode feature is
    disabled.
    
    Cc: [email protected]
    Signed-off-by: Zhang Yi <[email protected]>
    Reviewed-by: Ritesh Harjani <[email protected]>
    Reviewed-by: Jan Kara <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Theodore Ts'o <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    zhangyi089 authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    af75c48 View commit details
    Browse the repository at this point in the history
  131. KVM: arm64: Always start with clearing SVE flag on load

    commit d52d165 upstream.
    
    On each vcpu load, we set the KVM_ARM64_HOST_SVE_ENABLED
    flag if SVE is enabled for EL0 on the host. This is used to restore
    the correct state on vpcu put.
    
    However, it appears that nothing ever clears this flag. Once
    set, it will stick until the vcpu is destroyed, which has the
    potential to spuriously enable SVE for userspace.
    
    We probably never saw the issue because no VMM uses SVE, but
    that's still pretty bad. Unconditionally clearing the flag
    on vcpu load addresses the issue.
    
    Fixes: 8383741 ("KVM: arm64: Get rid of host SVE tracking/saving")
    Signed-off-by: Marc Zyngier <[email protected]>
    Cc: [email protected]
    Reviewed-by: Mark Brown <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Marc Zyngier authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    179d8d2 View commit details
    Browse the repository at this point in the history
  132. KVM: arm64: Don't read a HW interrupt pending state in user context

    commit 2cdea19 upstream.
    
    Since 5bfa685 ("KVM: arm64: vgic: Read HW interrupt pending state
    from the HW"), we're able to source the pending bit for an interrupt
    that is stored either on the physical distributor or on a device.
    
    However, this state is only available when the vcpu is loaded,
    and is not intended to be accessed from userspace. Unfortunately,
    the GICv2 emulation doesn't provide specific userspace accessors,
    and we fallback with the ones that are intended for the guest,
    with fatal consequences.
    
    Add a new vgic_uaccess_read_pending() accessor for userspace
    to use, build on top of the existing vgic_mmio_read_pending().
    
    Reported-by: Eric Auger <[email protected]>
    Reviewed-by: Eric Auger <[email protected]>
    Tested-by: Eric Auger <[email protected]>
    Signed-off-by: Marc Zyngier <[email protected]>
    Fixes: 5bfa685 ("KVM: arm64: vgic: Read HW interrupt pending state from the HW")
    Link: https://lore.kernel.org/r/[email protected]
    Cc: [email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Marc Zyngier authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    e9f2eb9 View commit details
    Browse the repository at this point in the history
  133. virtio-pci: Remove wrong address verification in vp_del_vqs()

    commit 7e41528 upstream.
    
    GCC 12 enhanced -Waddress when comparing array address to null [0],
    which warns:
    
        drivers/virtio/virtio_pci_common.c: In function ‘vp_del_vqs’:
        drivers/virtio/virtio_pci_common.c:257:29: warning: the comparison will always evaluate as ‘true’ for the pointer operand in ‘vp_dev->msix_affinity_masks + (sizetype)((long unsigned int)i * 256)’ must not be NULL [-Waddress]
          257 |                         if (vp_dev->msix_affinity_masks[i])
              |                             ^~~~~~
    
    In fact, the verification is comparing the result of a pointer
    arithmetic, the address "msix_affinity_masks + i", which will always
    evaluate to true.
    
    Under the hood, free_cpumask_var() calls kfree(), which is safe to pass
    NULL, not requiring non-null verification.  So remove the verification
    to make compiler happy (happy compiler, happy life).
    
    [0] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102103
    
    Signed-off-by: Murilo Opsfelder Araujo <[email protected]>
    Message-Id: <[email protected]>
    Signed-off-by: Michael S. Tsirkin <[email protected]>
    Acked-by: Christophe de Dinechin <[email protected]>
    Cc: Sudip Mukherjee <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    mopsfelder authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    3b295d6 View commit details
    Browse the repository at this point in the history
  134. netfs: Fix gcc-12 warning by embedding vfs inode in netfs_i_context

    commit 874c8ca upstream.
    
    While randstruct was satisfied with using an open-coded "void *" offset
    cast for the netfs_i_context <-> inode casting, __builtin_object_size() as
    used by FORTIFY_SOURCE was not as easily fooled.  This was causing the
    following complaint[1] from gcc v12:
    
      In file included from include/linux/string.h:253,
                       from include/linux/ceph/ceph_debug.h:7,
                       from fs/ceph/inode.c:2:
      In function 'fortify_memset_chk',
          inlined from 'netfs_i_context_init' at include/linux/netfs.h:326:2,
          inlined from 'ceph_alloc_inode' at fs/ceph/inode.c:463:2:
      include/linux/fortify-string.h:242:25: warning: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
        242 |                         __write_overflow_field(p_size_field, size);
            |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Fix this by embedding a struct inode into struct netfs_i_context (which
    should perhaps be renamed to struct netfs_inode).  The struct inode
    vfs_inode fields are then removed from the 9p, afs, ceph and cifs inode
    structs and vfs_inode is then simply changed to "netfs.inode" in those
    filesystems.
    
    Further, rename netfs_i_context to netfs_inode, get rid of the
    netfs_inode() function that converted a netfs_i_context pointer to an
    inode pointer (that can now be done with &ctx->inode) and rename the
    netfs_i_context() function to netfs_inode() (which is now a wrapper
    around container_of()).
    
    Most of the changes were done with:
    
      perl -p -i -e 's/vfs_inode/netfs.inode/'g \
            `git grep -l 'vfs_inode' -- fs/{9p,afs,ceph,cifs}/*.[ch]`
    
    Kees suggested doing it with a pair structure[2] and a special
    declarator to insert that into the network filesystem's inode
    wrapper[3], but I think it's cleaner to embed it - and then it doesn't
    matter if struct randomisation reorders things.
    
    Dave Chinner suggested using a filesystem-specific VFS_I() function in
    each filesystem to convert that filesystem's own inode wrapper struct
    into the VFS inode struct[4].
    
    Version #2:
     - Fix a couple of missed name changes due to a disabled cifs option.
     - Rename nfs_i_context to nfs_inode
     - Use "netfs" instead of "nic" as the member name in per-fs inode wrapper
       structs.
    
    [ This also undoes commit 507160f ("netfs: gcc-12: temporarily
      disable '-Wattribute-warning' for now") that is no longer needed ]
    
    Fixes: bc899ee ("netfs: Add a netfs inode context")
    Reported-by: Jeff Layton <[email protected]>
    Signed-off-by: David Howells <[email protected]>
    Reviewed-by: Jeff Layton <[email protected]>
    Reviewed-by: Kees Cook <[email protected]>
    Reviewed-by: Xiubo Li <[email protected]>
    cc: Jonathan Corbet <[email protected]>
    cc: Eric Van Hensbergen <[email protected]>
    cc: Latchesar Ionkov <[email protected]>
    cc: Dominique Martinet <[email protected]>
    cc: Christian Schoenebeck <[email protected]>
    cc: Marc Dionne <[email protected]>
    cc: Ilya Dryomov <[email protected]>
    cc: Steve French <[email protected]>
    cc: William Kucharski <[email protected]>
    cc: "Matthew Wilcox (Oracle)" <[email protected]>
    cc: Dave Chinner <[email protected]>
    cc: [email protected]
    cc: [email protected]
    cc: [email protected]
    cc: [email protected]
    cc: [email protected]
    cc: [email protected]
    cc: [email protected]
    cc: [email protected]
    Link: https://lore.kernel.org/r/[email protected]/ [1]
    Link: https://lore.kernel.org/r/[email protected]/ [2]
    Link: https://lore.kernel.org/r/[email protected]/ [3]
    Link: https://lore.kernel.org/r/[email protected]/ [4]
    Link: https://lore.kernel.org/r/165296786831.3591209.12111293034669289733.stgit@warthog.procyon.org.uk/ # v1
    Link: https://lore.kernel.org/r/165305805651.4094995.7763502506786714216.stgit@warthog.procyon.org.uk # v2
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    dhowells authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    44db13d View commit details
    Browse the repository at this point in the history
  135. drm/i915/uc: remove accidental static from a local variable

    commit 2636e00 upstream.
    
    The arrays are static const, but the pointer shouldn't be static.
    
    Fixes: 3d832f3 ("drm/i915/uc: Allow platforms to have GuC but not HuC")
    Cc: John Harrison <[email protected]>
    Cc: Lucas De Marchi <[email protected]>
    Cc: Daniele Ceraolo Spurio <[email protected]>
    Signed-off-by: Jani Nikula <[email protected]>
    Reviewed-by: Tvrtko Ursulin <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 5821a0b)
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jnikula authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    26f5afd View commit details
    Browse the repository at this point in the history
  136. bpf: Use safer kvmalloc_array() where possible

    commit fd58f7d upstream.
    
    The kvmalloc_array() function is safer because it has a check for
    integer overflows.  These sizes come from the user and I was not
    able to see any bounds checking so an integer overflow seems like a
    realistic concern.
    
    Fixes: 0dcac27 ("bpf: Add multi kprobe link")
    Signed-off-by: Dan Carpenter <[email protected]>
    Signed-off-by: Andrii Nakryiko <[email protected]>
    Link: https://lore.kernel.org/bpf/Yo9VRVMeHbALyjUH@kili
    Signed-off-by: Alexei Starovoitov <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Dan Carpenter authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    16fa23f View commit details
    Browse the repository at this point in the history
  137. powerpc/book3e: get rid of #include <generated/compile.h>

    commit 7ad4bd8 upstream.
    
    You cannot include <generated/compile.h> here because it is generated
    in init/Makefile but there is no guarantee that it happens before
    arch/powerpc/mm/nohash/kaslr_booke.c is compiled for parallel builds.
    
    The places where you can reliably include <generated/compile.h> are:
    
      - init/          (because init/Makefile can specify the dependency)
      - arch/*/boot/   (because it is compiled after vmlinux)
    
    Commit f231e43 ("hexagon: get rid of #include <generated/compile.h>")
    fixed the last breakage at that time, but powerpc re-added this.
    
    <generated/compile.h> was unneeded because 'build_str' is almost the
    same as 'linux_banner' defined in init/version.c
    
    Let's copy the solution from MIPS.
    (get_random_boot() in arch/mips/kernel/relocate.c)
    
    Fixes: 6a38ea1 ("powerpc/fsl_booke/32: randomize the kernel image offset")
    Signed-off-by: Masahiro Yamada <[email protected]>
    Acked-by: Scott Wood <[email protected]>
    Signed-off-by: Michael Ellerman <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    masahir0y authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    3e77bec View commit details
    Browse the repository at this point in the history
  138. dt-bindings: mfd: bd9571mwv: update rohm,bd9571mwv.yaml reference

    commit e0b5c59 upstream.
    
    Changeset 983b629 ("dt-bindings: mfd: bd9571mwv: Convert to json-schema")
    renamed: Documentation/devicetree/bindings/mfd/bd9571mwv.txt
    to: Documentation/devicetree/bindings/mfd/rohm,bd9571mwv.yaml.
    
    Update its cross-reference accordingly.
    
    Fixes: 983b629 ("dt-bindings: mfd: bd9571mwv: Convert to json-schema")
    Signed-off-by: Mauro Carvalho Chehab <[email protected]>
    Signed-off-by: Rob Herring <[email protected]>
    Link: https://lore.kernel.org/r/1906a4d935eab57c10ce09358eae02175ce4abb7.1654529011.git.mchehab@kernel.org
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    mchehab authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    69e8dd4 View commit details
    Browse the repository at this point in the history
  139. dt-bindings: interrupt-controller: update brcm,l2-intc.yaml reference

    commit 7e40381 upstream.
    
    Changeset 539d25b ("dt-bindings: interrupt-controller: Convert Broadcom STB L2 to YAML")
    renamed: Documentation/devicetree/bindings/interrupt-controller/brcm,l2-intc.txt
    to: Documentation/devicetree/bindings/interrupt-controller/brcm,l2-intc.yaml.
    
    Update its cross-reference accordingly.
    
    Fixes: 539d25b ("dt-bindings: interrupt-controller: Convert Broadcom STB L2 to YAML")
    Signed-off-by: Mauro Carvalho Chehab <[email protected]>
    Signed-off-by: Rob Herring <[email protected]>
    Link: https://lore.kernel.org/r/a40c02a7aaea91ea7b6ce24b6bc574ae5bcf4cf6.1654529011.git.mchehab@kernel.org
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    mchehab authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    e494408 View commit details
    Browse the repository at this point in the history
  140. dm: fix bio_set allocation

    commit 29dec90 upstream.
    
    The use of bioset_init_from_src mean that the pre-allocated pools weren't
    used for anything except parameter passing, and the integrity pool
    creation got completely lost for the actual live mapped_device.  Fix that
    by assigning the actual preallocated dm_md_mempools to the mapped_device
    and using that for I/O instead of creating new mempools.
    
    Fixes: 2a2a4c5 ("dm: use bioset_init_from_src() to copy bio_set")
    Signed-off-by: Christoph Hellwig <[email protected]>
    Signed-off-by: Mike Snitzer <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Christoph Hellwig authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    2088c1e View commit details
    Browse the repository at this point in the history
  141. clk: imx8mp: fix usb_root_clk parent

    commit cf7f3f4 upstream.
    
    According to reference mannual CCGR77(usb) sources from hsio_axi, fix
    it.
    
    Fixes: 9c140d9 ("clk: imx: Add support for i.MX8MP clock driver")
    Signed-off-by: Peng Fan <[email protected]>
    Reviewed-by: Abel Vesa <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Abel Vesa <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    MrVan authored and gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    8bd39fa View commit details
    Browse the repository at this point in the history
  142. Linux 5.18.6

    Link: https://lore.kernel.org/r/[email protected]
    Tested-by: Ronald Warsow <[email protected]
    Tested-by: Justin M. Forbes <[email protected]>
    Tested-by: Fenil Jain <[email protected]>
    Tested-by: Florian Fainelli <[email protected]>
    Tested-by: Fox Chen <[email protected]>
    Tested-by: Ron Economos <[email protected]>
    Tested-by: Guenter Roeck <[email protected]>
    Tested-by: Sudip Mukherjee <[email protected]>
    Tested-by: Bagas Sanjaya <[email protected]>
    Tested-by: Jon Hunter <[email protected]>
    Tested-by: Rudi Heitbaum <[email protected]>
    Tested-by: Linux Kernel Functional Testing <[email protected]>
    Tested-by: Shuah Khan <[email protected]>
    Tested-by: Zan Aziz <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    gregkh committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    5f112b5 View commit details
    Browse the repository at this point in the history
  143. base packaging

    Kernel Builder (kathleen) committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f72fd1f View commit details
    Browse the repository at this point in the history
  144. UBUNTU: SAUCE: kbuild: add -fcf-protection=none when using retpoline …

    …flags
    
    BugLink: [Replace -fcf-protection=none patch with new version]
    
    The gcc -fcf-protection=branch option is not compatible with
    -mindirect-branch=thunk-extern. The latter is used when
    CONFIG_RETPOLINE is selected, and this will fail to build with
    a gcc which has -fcf-protection=branch enabled by default. Adding
    -fcf-protection=none when building with retpoline support to
    prevents such build failures.
    
    Signed-off-by: Seth Forshee <[email protected]>
    Seth Forshee authored and Kernel Builder (kathleen) committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    a30039a View commit details
    Browse the repository at this point in the history
  145. UBUNTU: SAUCE: add vmlinux.strip to BOOT_TARGETS1 on powerpc

    Signed-off-by: Andy Whitcroft <[email protected]>
    Andy Whitcroft authored and Kernel Builder (kathleen) committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    ee69d7b View commit details
    Browse the repository at this point in the history
  146. UBUNTU: SAUCE: tools/hv/lsvmbus -- add manual page

    BugLink: http://bugs.launchpad.net/bugs/1585311
    
    Signed-off-by: Andy Whitcroft <[email protected]>
    Acked-by: Tim Gardner <[email protected]>
    Acked-by: Brad Figg <[email protected]>
    Signed-off-by: Kamal Mostafa <[email protected]>
    Andy Whitcroft authored and Kernel Builder (kathleen) committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    5078efa View commit details
    Browse the repository at this point in the history
  147. debian changelog

    Kernel Builder (kathleen) committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    a48d8e9 View commit details
    Browse the repository at this point in the history
  148. configs (based on Ubuntu-5.18.0-6.6)

    Kernel Builder (kathleen) committed Jun 22, 2022
    Configuration menu
    Copy the full SHA
    dc0dcc8 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2022

  1. System76 Linux

    jackpot51 committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    a77267f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aee3a72 View commit details
    Browse the repository at this point in the history
  3. ALSA: hda/realtek - Reapply pin fixup for oryp5

    The pin fixup is required to detect headset microphones on the oryp5.
    
    Fixes: 80690a2 ("ALSA: hda/realtek - Add quirk for Tuxedo XC 1509")
    Signed-off-by: Tim Crawford <[email protected]>
    crawfxrd authored and jackpot51 committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    c65ec32 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dc74edc View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a365a5d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ecdaf14 View commit details
    Browse the repository at this point in the history
  7. Adds an ALSA mapping for Gigabyte Pro WiFi Rev 2.1

    This patch was written by Takashi Iwai, I am just
    commiting it into the pop-os kernel before this
    is upstreamed
    13r0ck authored and jackpot51 committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    6652c61 View commit details
    Browse the repository at this point in the history
  8. Mixer-Maps: Add alternate ALC4080

    Asus released motherboard(s) with an alternate ALC4080 that lacks
    a SPDIF jack, and requires applying this map.
    13r0ck authored and jackpot51 committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    eeeb698 View commit details
    Browse the repository at this point in the history
  9. ALSA: hda/realtek: Add quirk for Clevo PD70PNT

    Fixes speaker output and headset detection on Clevo PD70PNT.
    
    Signed-off-by: Tim Crawford <[email protected]>
    crawfxrd authored and jackpot51 committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    6dc12bd View commit details
    Browse the repository at this point in the history
  10. ALSA: hda/realtek: Add quirk for Clevo NS50PU

    Fixes headset detection on Clevo NS50PU.
    
    Signed-off-by: Tim Crawford <[email protected]>
    crawfxrd authored and jackpot51 committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    6ef004a View commit details
    Browse the repository at this point in the history
  11. ALSA: hda/realtek: Add quirk for Clevo L140PU

    Fixes headset detection on Clevo L140PU.
    
    Signed-off-by: Tim Crawford <[email protected]>
    crawfxrd authored and jackpot51 committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    7a59a10 View commit details
    Browse the repository at this point in the history
  12. DROP ON REBASE: 5.18.6-76051806.202206221336 based on 5.18.6-051806.2…

    …02206221336
    
    Signed-off-by: Jeremy Soller <[email protected]>
    jackpot51 committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    e19fbf9 View commit details
    Browse the repository at this point in the history