12 Oct, 2020

16 commits

  • This will help simplify the code.

    [ jlayton: fix minor merge conflict in quota.c ]

    Signed-off-by: Xiubo Li
    Signed-off-by: Jeff Layton
    Signed-off-by: Ilya Dryomov

    Xiubo Li
     
  • This special casing was added in 7ce469a53e71 (ceph: fix splice
    read for no Fc capability case). The confirm callback for ITER_PIPE
    expects that the page is Uptodate and returns an error otherwise.

    A simpler workaround is just to use the Uptodate bit, which has no
    meaning for anonymous pages. Rip out the special casing for ITER_PIPE
    and just SetPageUptodate before we copy to the iter.

    Cc: John Hubbard
    Suggested-by: Al Viro
    Signed-off-by: Jeff Layton
    Signed-off-by: Ilya Dryomov

    Jeff Layton
     
  • In multi-mds, the 'caps' debugfs file will have duplicate ino,
    add the 'mds' column to indicate which mds session the cap belongs to.

    Signed-off-by: Yanhu Cao
    Reviewed-by: Jeff Layton
    Signed-off-by: Ilya Dryomov

    Yanhu Cao
     
  • Replace a global map->crush_workspace (protected by a global mutex)
    with a list of workspaces, up to the number of CPUs + 1.

    This is based on a patch from Robin Geuze .
    Robin and his team have observed a 10-20% increase in IOPS on all
    queue depths and lower CPU usage as well on a high-end all-NVMe
    100GbE cluster.

    Signed-off-by: Ilya Dryomov

    Ilya Dryomov
     
  • Since there's a return immediately after the 'break', there's no need for
    this extra 'return' in the S_IFDIR case.

    Signed-off-by: Luis Henriques
    Reviewed-by: Jeff Layton
    Signed-off-by: Ilya Dryomov

    Luis Henriques
     
  • Since nautilus, MDS tracks dirfrags whose child inodes have caps in open
    file table. When MDS recovers, it prefetches all of these dirfrags. This
    avoids using backtrace to load inodes. But dirfrags prefetch may load
    lots of useless inodes into cache, and make MDS run out of memory.

    Recent MDS adds an option that disables dirfrags prefetch. When dirfrags
    prefetch is disabled. Recovering MDS only prefetches corresponding dir
    inodes. Including inodes' parent/d_name in cap reconnect message can
    help MDS to load inodes into its cache.

    Signed-off-by: "Yan, Zheng"
    Reviewed-by: Jeff Layton
    Signed-off-by: Ilya Dryomov

    Yan, Zheng
     
  • Linus Torvalds
     
  • Merge misc fixes from Andrew Morton:
    "Five fixes.

    Subsystems affected by this patch series: MAINTAINERS, mm/pagemap,
    mm/swap, and mm/hugetlb"

    * emailed patches from Andrew Morton :
    mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged
    mm: validate inode in mapping_set_error()
    mm: mmap: Fix general protection fault in unlink_file_vma()
    MAINTAINERS: Antoine Tenart's email address
    MAINTAINERS: change hardening mailing list

    Linus Torvalds
     
  • Pull vfs fix from Al Viro:
    "Fixes an obvious bug (memory leak introduced in 5.8)"

    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    pipe: Fix memory leaks in create_pipe_files()

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Two fixes:

    - Fix a (hopefully final) IRQ state tracking bug vs MCE handling

    - Fix a documentation link"

    * tag 'x86-urgent-2020-10-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    Documentation/x86: Fix incorrect references to zero-page.txt
    x86/mce: Use idtentry_nmi_enter/exit()

    Linus Torvalds
     
  • Pull perf fix from Ingo Molnar:
    "Fix an error handling bug that can cause a lockup if a CPU is offline
    (doh ...)"

    * tag 'perf-urgent-2020-10-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf: Fix task_function_call() error handling

    Linus Torvalds
     
  • When memory is hotplug added or removed the min_free_kbytes should be
    recalculated based on what is expected by khugepaged. Currently after
    hotplug, min_free_kbytes will be set to a lower default and higher
    default set when THP enabled is lost.

    This change restores min_free_kbytes as expected for THP consumers.

    [vijayb@linux.microsoft.com: v5]
    Link: https://lkml.kernel.org/r/1601398153-5517-1-git-send-email-vijayb@linux.microsoft.com

    Fixes: f000565adb77 ("thp: set recommended min free kbytes")
    Signed-off-by: Vijay Balakrishna
    Signed-off-by: Andrew Morton
    Reviewed-by: Pavel Tatashin
    Acked-by: Michal Hocko
    Cc: Allen Pais
    Cc: Andrea Arcangeli
    Cc: "Kirill A. Shutemov"
    Cc: Oleg Nesterov
    Cc: Song Liu
    Cc:
    Link: https://lkml.kernel.org/r/1600305709-2319-2-git-send-email-vijayb@linux.microsoft.com
    Link: https://lkml.kernel.org/r/1600204258-13683-1-git-send-email-vijayb@linux.microsoft.com
    Signed-off-by: Linus Torvalds

    Vijay Balakrishna
     
  • The swap address_space doesn't have host. Thus, it makes kernel crash once
    swap write meets error. Fix it.

    Fixes: 735e4ae5ba28 ("vfs: track per-sb writeback errors and report them to syncfs")
    Signed-off-by: Minchan Kim
    Signed-off-by: Andrew Morton
    Acked-by: Jeff Layton
    Cc: Jan Kara
    Cc: Andres Freund
    Cc: Matthew Wilcox
    Cc: Al Viro
    Cc: Christoph Hellwig
    Cc: Dave Chinner
    Cc: David Howells
    Cc:
    Link: https://lkml.kernel.org/r/20201010000650.750063-1-minchan@kernel.org
    Signed-off-by: Linus Torvalds

    Minchan Kim
     
  • The syzbot reported the below general protection fault:

    general protection fault, probably for non-canonical address
    0xe00eeaee0000003b: 0000 [#1] PREEMPT SMP KASAN
    KASAN: maybe wild-memory-access in range [0x00777770000001d8-0x00777770000001df]
    CPU: 1 PID: 10488 Comm: syz-executor721 Not tainted 5.9.0-rc3-syzkaller #0
    RIP: 0010:unlink_file_vma+0x57/0xb0 mm/mmap.c:164
    Call Trace:
    free_pgtables+0x1b3/0x2f0 mm/memory.c:415
    exit_mmap+0x2c0/0x530 mm/mmap.c:3184
    __mmput+0x122/0x470 kernel/fork.c:1076
    mmput+0x53/0x60 kernel/fork.c:1097
    exit_mm kernel/exit.c:483 [inline]
    do_exit+0xa8b/0x29f0 kernel/exit.c:793
    do_group_exit+0x125/0x310 kernel/exit.c:903
    get_signal+0x428/0x1f00 kernel/signal.c:2757
    arch_do_signal+0x82/0x2520 arch/x86/kernel/signal.c:811
    exit_to_user_mode_loop kernel/entry/common.c:136 [inline]
    exit_to_user_mode_prepare+0x1ae/0x200 kernel/entry/common.c:167
    syscall_exit_to_user_mode+0x7e/0x2e0 kernel/entry/common.c:242
    entry_SYSCALL_64_after_hwframe+0x44/0xa9

    It's because the ->mmap() callback can change vma->vm_file and fput the
    original file. But the commit d70cec898324 ("mm: mmap: merge vma after
    call_mmap() if possible") failed to catch this case and always fput()
    the original file, hence add an extra fput().

    [ Thanks Hillf for pointing this extra fput() out. ]

    Fixes: d70cec898324 ("mm: mmap: merge vma after call_mmap() if possible")
    Reported-by: syzbot+c5d5a51dcbb558ca0cb5@syzkaller.appspotmail.com
    Signed-off-by: Miaohe Lin
    Signed-off-by: Andrew Morton
    Cc: Christian König
    Cc: Hongxiang Lou
    Cc: Chris Wilson
    Cc: Dave Airlie
    Cc: Daniel Vetter
    Cc: Sumit Semwal
    Cc: Matthew Wilcox (Oracle)
    Cc: John Hubbard
    Link: https://lkml.kernel.org/r/20200916090733.31427-1-linmiaohe@huawei.com
    Signed-off-by: Linus Torvalds

    Miaohe Lin
     
  • Use my kernel.org address instead of my bootlin.com one.

    Signed-off-by: Antoine Tenart
    Signed-off-by: Andrew Morton
    Link: https://lkml.kernel.org/r/20201005164533.16811-1-atenart@kernel.org
    Signed-off-by: Linus Torvalds

    Antoine Tenart
     
  • As more email from git history gets aimed at the OpenWall
    kernel-hardening@ list, there has been a desire to separate "new topics"
    from "on-going" work.

    To handle this, the superset of hardening email topics are now to be
    directed to linux-hardening@vger.kernel.org.

    Update the MAINTAINERS file and the .mailmap to accomplish this, so that
    linux-hardening@ can be treated like any other regular upstream kernel
    development list.

    Signed-off-by: Kees Cook
    Signed-off-by: Andrew Morton
    Cc: Randy Dunlap
    Cc: Emese Revfy
    Cc: "Tobin C. Harding"
    Cc: Tycho Andersen
    Cc: Jonathan Corbet
    Link: https://lore.kernel.org/linux-hardening/202010051443.279CC265D@keescook/
    Link: https://lkml.kernel.org/r/20201006000012.2768958-1-keescook@chromium.org
    Signed-off-by: Linus Torvalds

    Kees Cook
     

11 Oct, 2020

3 commits

  • Pull i2c fixes from Wolfram Sang:
    "Some more driver bugfixes for I2C. Including a revert - the updated
    series for it will come during the next merge window"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: owl: Clear NACK and BUS error bits
    Revert "i2c: imx: Fix reset of I2SR_IAL flag"
    i2c: meson: fixup rate calculation with filter delay
    i2c: meson: keep peripheral clock enabled
    i2c: meson: fix clock setting overwrite
    i2c: imx: Fix reset of I2SR_IAL flag

    Linus Torvalds
     
  • On setxattr() syscall path due to an apprent typo the size of a dynamically
    allocated memory chunk for storing struct smb2_file_full_ea_info object is
    computed incorrectly, to be more precise the first addend is the size of
    a pointer instead of the wanted object size. Coincidentally it makes no
    difference on 64-bit platforms, however on 32-bit targets the following
    memcpy() writes 4 bytes of data outside of the dynamically allocated memory.

    =============================================================================
    BUG kmalloc-16 (Not tainted): Redzone overwritten
    -----------------------------------------------------------------------------

    Disabling lock debugging due to kernel taint
    INFO: 0x79e69a6f-0x9e5cdecf @offset=368. First byte 0x73 instead of 0xcc
    INFO: Slab 0xd36d2454 objects=85 used=51 fp=0xf7d0fc7a flags=0x35000201
    INFO: Object 0x6f171df3 @offset=352 fp=0x00000000

    Redzone 5d4ff02d: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc ................
    Object 6f171df3: 00 00 00 00 00 05 06 00 73 6e 72 75 62 00 66 69 ........snrub.fi
    Redzone 79e69a6f: 73 68 32 0a sh2.
    Padding 56254d82: 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZ
    CPU: 0 PID: 8196 Comm: attr Tainted: G B 5.9.0-rc8+ #3
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1 04/01/2014
    Call Trace:
    dump_stack+0x54/0x6e
    print_trailer+0x12c/0x134
    check_bytes_and_report.cold+0x3e/0x69
    check_object+0x18c/0x250
    free_debug_processing+0xfe/0x230
    __slab_free+0x1c0/0x300
    kfree+0x1d3/0x220
    smb2_set_ea+0x27d/0x540
    cifs_xattr_set+0x57f/0x620
    __vfs_setxattr+0x4e/0x60
    __vfs_setxattr_noperm+0x4e/0x100
    __vfs_setxattr_locked+0xae/0xd0
    vfs_setxattr+0x4e/0xe0
    setxattr+0x12c/0x1a0
    path_setxattr+0xa4/0xc0
    __ia32_sys_lsetxattr+0x1d/0x20
    __do_fast_syscall_32+0x40/0x70
    do_fast_syscall_32+0x29/0x60
    do_SYSENTER_32+0x15/0x20
    entry_SYSENTER_32+0x9f/0xf2

    Fixes: 5517554e4313 ("cifs: Add support for writing attributes on SMB2+")
    Signed-off-by: Vladimir Zapolskiy
    Signed-off-by: Linus Torvalds

    Vladimir Zapolskiy
     
  • There have been elusive reports of filemap_fault() hitting its
    VM_BUG_ON_PAGE(page_to_pgoff(page) != offset, page) on kernels built
    with CONFIG_READ_ONLY_THP_FOR_FS=y.

    Suren has hit it on a kernel with CONFIG_READ_ONLY_THP_FOR_FS=y and
    CONFIG_NUMA is not set: and he has analyzed it down to how khugepaged
    without NUMA reuses the same huge page after collapse_file() failed
    (whereas NUMA targets its allocation to the respective node each time).
    And most of us were usually testing with CONFIG_NUMA=y kernels.

    collapse_file(old start)
    new_page = khugepaged_alloc_page(hpage)
    __SetPageLocked(new_page)
    new_page->index = start // hpage->index=old offset
    new_page->mapping = mapping
    xas_store(&xas, new_page)

    filemap_fault
    page = find_get_page(mapping, offset)
    // if offset falls inside hpage then
    // compound_head(page) == hpage
    lock_page_maybe_drop_mmap()
    __lock_page(page)

    // collapse fails
    xas_store(&xas, old page)
    new_page->mapping = NULL
    unlock_page(new_page)

    collapse_file(new start)
    new_page = khugepaged_alloc_page(hpage)
    __SetPageLocked(new_page)
    new_page->index = start // hpage->index=new offset
    new_page->mapping = mapping // mapping becomes valid again

    // since compound_head(page) == hpage
    // page_to_pgoff(page) got changed
    VM_BUG_ON_PAGE(page_to_pgoff(page) != offset)

    An initial patch replaced __SetPageLocked() by lock_page(), which did
    fix the race which Suren illustrates above. But testing showed that it's
    not good enough: if the racing task's __lock_page() gets delayed long
    after its find_get_page(), then it may follow collapse_file(new start)'s
    successful final unlock_page(), and crash on the same VM_BUG_ON_PAGE.

    It could be fixed by relaxing filemap_fault()'s VM_BUG_ON_PAGE to a
    check and retry (as is done for mapping), with similar relaxations in
    find_lock_entry() and pagecache_get_page(): but it's not obvious what
    else might get caught out; and khugepaged non-NUMA appears to be unique
    in exposing a page to page cache, then revoking, without going through
    a full cycle of freeing before reuse.

    Instead, non-NUMA khugepaged_prealloc_page() release the old page
    if anyone else has a reference to it (1% of cases when I tested).

    Although never reported on huge tmpfs, I believe its find_lock_entry()
    has been at similar risk; but huge tmpfs does not rely on khugepaged
    for its normal working nearly so much as READ_ONLY_THP_FOR_FS does.

    Reported-by: Denis Lisov
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=206569
    Link: https://lore.kernel.org/linux-mm/?q=20200219144635.3b7417145de19b65f258c943%40linux-foundation.org
    Reported-by: Qian Cai
    Link: https://lore.kernel.org/linux-xfs/?q=20200616013309.GB815%40lca.pw
    Reported-and-analyzed-by: Suren Baghdasaryan
    Fixes: 87c460a0bded ("mm/khugepaged: collapse_shmem() without freezing new_page")
    Signed-off-by: Hugh Dickins
    Cc: stable@vger.kernel.org # v4.9+
    Reviewed-by: Matthew Wilcox (Oracle)
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     

10 Oct, 2020

8 commits

  • When the NACK and BUS error bits are set by the hardware, the driver is
    responsible for clearing them by writing "1" into the corresponding
    status registers.

    Hence perform the necessary operations in owl_i2c_interrupt().

    Fixes: d211e62af466 ("i2c: Add Actions Semiconductor Owl family S900 I2C driver")
    Reported-by: Manivannan Sadhasivam
    Signed-off-by: Cristian Ciocaltea
    Signed-off-by: Wolfram Sang

    Cristian Ciocaltea
     
  • This reverts commit fa4d30556883f2eaab425b88ba9904865a4d00f3. An updated
    version was sent. So, revert this version and give the new version more
    time for testing.

    Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • Pull spi fix from Mark Brown:
    "One last minute fix for v5.9 which has been causing crashes in test
    systems with the fsl-dspi driver when they hit deferred probe (and
    which I probably let cook in next a bit longer than is ideal).

    And an update to MAINTAINERS reflecting Serge's extensive and
    detailed recent work on the DesignWare driver"

    * tag 'spi-fix-v5.9-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
    MAINTAINERS: Add maintainer of DW APB SSI driver
    spi: fsl-dspi: fix NULL pointer dereference

    Linus Torvalds
     
  • Pull RISC-V fixes from Palmer Dabbelt:
    "Two fixes this week:

    - A fix to actually reserve the device tree's memory. Without this
    the device tree can be overwritten on systems that don't otherwise
    reserve it. This issue should only manifest on !MMU systems.

    - A workaround for a BUG() that triggers when the memory that
    originally contained initdata is freed and later repurposed. This
    triggers a BUG() on builds that had HARDENED_USERCOPY enabled"

    * tag 'riscv-for-linus-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
    riscv: Fixup bootup failure with HARDENED_USERCOPY
    RISC-V: Make sure memblock reserves the memory containing DT

    Linus Torvalds
     
  • Pull power supply fix from Sebastian Reichel:
    "Just a single change to revert enablement of packet error checking for
    battery data on Chromebooks, since some of their embedded controllers
    do not handle it correctly"

    * tag 'for-v5.9-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
    power: supply: sbs-battery: chromebook workaround for PEC

    Linus Torvalds
     
  • Pull GPIO fixes from Linus Walleij:
    "Some late fixes: one IRQ issue and one compilation issue for UML.

    - Fix a compilation issue with User Mode Linux

    - Handle spurious interrupts properly in the PCA953x driver"

    * tag 'gpio-v5.9-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: pca953x: Survive spurious interrupts
    gpiolib: Disable compat ->read() code in UML case

    Linus Torvalds
     
  • Pull MMC fix from Ulf Hansson:
    "Assign a proper discard granularity rather than incorrectly set it to
    zero"

    * tag 'mmc-v5.9-rc4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
    mmc: core: don't set limits.discard_granularity as 0

    Linus Torvalds
     
  • Pull amdgpu drm fixes from Dave Airlie:
    "Fixes trickling in this week.

    Alex had a final fix for the newest GPU they introduced in rc1, along
    with one build regression and one crasher fix.

    Cross my fingers that's it for 5.9:

    - Fix a crash on renoir if you override the IP discovery parameter

    - Fix the build on ARC platforms

    - Display fix for Sienna Cichlid"

    * tag 'drm-fixes-2020-10-09' of git://anongit.freedesktop.org/drm/drm:
    drm/amd/display: Change ABM config init interface
    drm/amdgpu/swsmu: fix ARC build errors
    drm/amdgpu: fix NULL pointer dereference for Renoir

    Linus Torvalds
     

09 Oct, 2020

13 commits

  • In mmc_queue_setup_discard() the mmc driver queue's discard_granularity
    might be set as 0 (when card->pref_erase > max_discard) while the mmc
    device still declares to support discard operation. This is buggy and
    triggered the following kernel warning message,

    WARNING: CPU: 0 PID: 135 at __blkdev_issue_discard+0x200/0x294
    CPU: 0 PID: 135 Comm: f2fs_discard-17 Not tainted 5.9.0-rc6 #1
    Hardware name: Google Kevin (DT)
    pstate: 00000005 (nzcv daif -PAN -UAO BTYPE=--)
    pc : __blkdev_issue_discard+0x200/0x294
    lr : __blkdev_issue_discard+0x54/0x294
    sp : ffff800011dd3b10
    x29: ffff800011dd3b10 x28: 0000000000000000 x27: ffff800011dd3cc4 x26: ffff800011dd3e18 x25: 000000000004e69b x24: 0000000000000c40 x23: ffff0000f1deaaf0 x22: ffff0000f2849200 x21: 00000000002734d8 x20: 0000000000000008 x19: 0000000000000000 x18: 0000000000000000 x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 x14: 0000000000000394 x13: 0000000000000000 x12: 0000000000000000 x11: 0000000000000000 x10: 00000000000008b0 x9 : ffff800011dd3cb0 x8 : 000000000004e69b x7 : 0000000000000000 x6 : ffff0000f1926400 x5 : ffff0000f1940800 x4 : 0000000000000000 x3 : 0000000000000c40 x2 : 0000000000000008 x1 : 00000000002734d8 x0 : 0000000000000000 Call trace:
    __blkdev_issue_discard+0x200/0x294
    __submit_discard_cmd+0x128/0x374
    __issue_discard_cmd_orderly+0x188/0x244
    __issue_discard_cmd+0x2e8/0x33c
    issue_discard_thread+0xe8/0x2f0
    kthread+0x11c/0x120
    ret_from_fork+0x10/0x1c
    ---[ end trace e4c8023d33dfe77a ]---

    This patch fixes the issue by setting discard_granularity as SECTOR_SIZE
    instead of 0 when (card->pref_erase > max_discard) is true. Now no more
    complain from __blkdev_issue_discard() for the improper value of discard
    granularity.

    This issue is exposed after commit b35fd7422c2f ("block: check queue's
    limits.discard_granularity in __blkdev_issue_discard()"), a "Fixes:" tag
    is also added for the commit to make sure people won't miss this patch
    after applying the change of __blkdev_issue_discard().

    Fixes: e056a1b5b67b ("mmc: queue: let host controllers specify maximum discard timeout")
    Fixes: b35fd7422c2f ("block: check queue's limits.discard_granularity in __blkdev_issue_discard()").
    Reported-and-tested-by: Vicente Bergas
    Signed-off-by: Coly Li
    Acked-by: Adrian Hunter
    Cc: Ulf Hansson
    Link: https://lore.kernel.org/r/20201002013852.51968-1-colyli@suse.de
    Signed-off-by: Ulf Hansson

    Coly Li
     
  • The error handling introduced by commit:

    2ed6edd33a21 ("perf: Add cond_resched() to task_function_call()")

    looses any return value from smp_call_function_single() that is not
    {0, -EINVAL}. This is a problem because it will return -EXNIO when the
    target CPU is offline. Worse, in that case it'll turn into an infinite
    loop.

    Fixes: 2ed6edd33a21 ("perf: Add cond_resched() to task_function_call()")
    Reported-by: Srikar Dronamraju
    Signed-off-by: Kajol Jain
    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: Ingo Molnar
    Reviewed-by: Barret Rhoden
    Tested-by: Srikar Dronamraju
    Link: https://lkml.kernel.org/r/20200827064732.20860-1-kjain@linux.ibm.com

    Kajol Jain
     
  • amd-drm-fixes-5.9-2020-10-08:

    amdgpu:
    - Fix a crash on renoir if you override the IP discovery parameter
    - Fix the build on ARC platforms
    - Display fix for Sienna Cichlid

    Signed-off-by: Dave Airlie
    From: Alex Deucher
    Link: https://patchwork.freedesktop.org/patch/msgid/20201009024917.3984-1-alexander.deucher@amd.com

    Dave Airlie
     
  • Pull block fixes from Jens Axboe:
    "A few fixes that should go into this release:

    - NVMe controller error path reference fix (Chaitanya)

    - Fix regression with IBM partitions on non-dasd devices (Christoph)

    - Fix a missing clear in the compat CDROM packet structure (Peilin)"

    * tag 'block5.9-2020-10-08' of git://git.kernel.dk/linux-block:
    partitions/ibm: fix non-DASD devices
    nvme-core: put ctrl ref when module ref get fail
    block/scsi-ioctl: Fix kernel-infoleak in scsi_put_cdrom_generic_arg()

    Linus Torvalds
     
  • Looks like the I2C tunnel implementation from Chromebook's
    embedded controller does not handle PEC correctly. Fix this
    by disabling PEC for batteries behind those I2C tunnels as
    a workaround.

    Note, that some Chromebooks actually have been reported to
    have working PEC support (with I2C tunnel). Since the problem
    has not yet been fully understood this simply reverts all
    Chromebooks to not use PEC for now.

    Reported-by: "Milan P. Stanić"
    Reported-by: Vicente Bergas
    CC: Enric Balletbo i Serra
    Fixes: 7222bd603dd2 ("power: supply: sbs-battery: add PEC support")
    Tested-by: Vicente Bergas
    Tested-by: "Milan P. Stanić"
    Signed-off-by: Sebastian Reichel

    Sebastian Reichel
     
  • Pull vhost fixes from Michael Tsirkin:
    "Some last minute vhost,vdpa fixes.

    The last two of them haven't been in next but they do seem kind of
    obvious, very small and safe, fix bugs reported in the field, and they
    are both in a new mlx5 vdpa driver, so it's not like we can introduce
    regressions"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    vdpa/mlx5: Fix dependency on MLX5_CORE
    vdpa/mlx5: should keep avail_index despite device status
    vhost-vdpa: fix page pinning leakage in error path
    vhost-vdpa: fix vhost_vdpa_map() on error condition
    vhost: Don't call log_access_ok() when using IOTLB
    vhost: Use vhost_get_used_size() in vhost_vring_set_addr()
    vhost: Don't call access_ok() when using IOTLB
    vhost vdpa: fix vhost_vdpa_open error handling

    Linus Torvalds
     
  • [Why & How]
    change abm config init interface to support multiple ABMs.

    Signed-off-by: Yongqiang Sun
    Reviewed-by: Chris Park
    Acked-by: Rodrigo Siqueira
    Signed-off-by: Alex Deucher

    Yongqiang Sun
     
  • Pull networking fixes from Jakub Kicinski:
    "One more set of fixes from the networking tree:

    - add missing input validation in nl80211_del_key(), preventing
    out-of-bounds access

    - last minute fix / improvement of a MRP netlink (uAPI) interface
    introduced in 5.9 (current) release

    - fix "unresolved symbol" build error under CONFIG_NET w/o
    CONFIG_INET due to missing tcp_timewait_sock and inet_timewait_sock
    BTF.

    - fix 32 bit sub-register bounds tracking in the bpf verifier for OR
    case

    - tcp: fix receive window update in tcp_add_backlog()

    - openvswitch: handle DNAT tuple collision in conntrack-related code

    - r8169: wait for potential PHY reset to finish after applying a FW
    file, avoiding unexpected PHY behaviour and failures later on

    - mscc: fix tail dropping watermarks for Ocelot switches

    - avoid use-after-free in macsec code after a call to the GRO layer

    - avoid use-after-free in sctp error paths

    - add a device id for Cellient MPL200 WWAN card

    - rxrpc fixes:
    - fix the xdr encoding of the contents read from an rxrpc key
    - fix a BUG() for a unsupported encoding type.
    - fix missing _bh lock annotations.
    - fix acceptance handling for an incoming call where the incoming
    call is encrypted.
    - the server token keyring isn't network namespaced - it belongs
    to the server, so there's no need. Namespacing it means that
    request_key() fails to find it.
    - fix a leak of the server keyring"

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (21 commits)
    net: usb: qmi_wwan: add Cellient MPL200 card
    macsec: avoid use-after-free in macsec_handle_frame()
    r8169: consider that PHY reset may still be in progress after applying firmware
    openvswitch: handle DNAT tuple collision
    sctp: fix sctp_auth_init_hmacs() error path
    bridge: Netlink interface fix.
    net: wireless: nl80211: fix out-of-bounds access in nl80211_del_key()
    bpf: Fix scalar32_min_max_or bounds tracking
    tcp: fix receive window update in tcp_add_backlog()
    net: usb: rtl8150: set random MAC address when set_ethernet_addr() fails
    mptcp: more DATA FIN fixes
    net: mscc: ocelot: warn when encoding an out-of-bounds watermark value
    net: mscc: ocelot: divide watermark value by 60 when writing to SYS_ATOP
    net: qrtr: ns: Fix the incorrect usage of rcu_read_lock()
    rxrpc: Fix server keyring leak
    rxrpc: The server keyring isn't network-namespaced
    rxrpc: Fix accept on a connection that need securing
    rxrpc: Fix some missing _bh annotations on locking conn->state_lock
    rxrpc: Downgrade the BUG() for unsupported token type in rxrpc_read()
    rxrpc: Fix rxkad token xdr encoding
    ...

    Linus Torvalds
     
  • Remove propmt for selecting MLX5_VDPA by the user and modify
    MLX5_VDPA_NET to select MLX5_VDPA. Also modify MLX5_VDPA_NET to depend
    on mlx5_core.

    This fixes an issue where configuration sets 'y' for MLX5_VDPA_NET while
    MLX5_CORE is compiled as a module causing link errors.

    Reported-by: kernel test robot
    Fixes: 1a86b377aa21 ("vdpa/mlx5: Add VDPA driver for supported mlx5 device")s
    Signed-off-by: Eli Cohen
    Link: https://lore.kernel.org/r/20201007064011.GA50074@mtl-vdi-166.wap.labs.mlnx
    Signed-off-by: Michael S. Tsirkin

    Eli Cohen
     
  • A VM with mlx5 vDPA has below warnings while being reset:

    vhost VQ 0 ring restore failed: -1: Resource temporarily unavailable (11)
    vhost VQ 1 ring restore failed: -1: Resource temporarily unavailable (11)

    We should allow userspace emulating the virtio device be
    able to get to vq's avail_index, regardless of vDPA device
    status. Save the index that was last seen when virtq was
    stopped, so that userspace doesn't complain.

    Signed-off-by: Si-Wei Liu
    Link: https://lore.kernel.org/r/1601583511-15138-1-git-send-email-si-wei.liu@oracle.com
    Signed-off-by: Michael S. Tsirkin
    Acked-by: Eli Cohen

    Si-Wei Liu
     
  • Add usb ids of the Cellient MPL200 card.

    Signed-off-by: Wilken Gottwalt
    Acked-by: Bjørn Mork
    Signed-off-by: Jakub Kicinski

    Wilken Gottwalt
     
  • De-referencing skb after call to gro_cells_receive() is not allowed.
    We need to fetch skb->len earlier.

    Fixes: 5491e7c6b1a9 ("macsec: enable GRO and RPS on macsec devices")
    Signed-off-by: Eric Dumazet
    Cc: Paolo Abeni
    Acked-by: Paolo Abeni
    Signed-off-by: Jakub Kicinski

    Eric Dumazet
     
  • Some firmware files trigger a PHY soft reset and don't wait for it to
    be finished. PHY register writes directly after applying the firmware
    may fail or provide unexpected results therefore. Fix this by waiting
    for bit BMCR_RESET to be cleared after applying firmware.

    There's nothing wrong with the referenced change, it's just that the
    fix will apply cleanly only after this change.

    Fixes: 89fbd26cca7e ("r8169: fix firmware not resetting tp->ocp_base")
    Signed-off-by: Heiner Kallweit
    Signed-off-by: Jakub Kicinski

    Heiner Kallweit