1. 28 Oct, 2021 4 commits
  2. 27 Oct, 2021 2 commits
  3. 26 Oct, 2021 6 commits
  4. 25 Oct, 2021 7 commits
    • Linus Torvalds's avatar
      Linux 5.15-rc7 · 3906fe9b
      Linus Torvalds authored
      3906fe9b
    • Matthew Wilcox (Oracle)'s avatar
      secretmem: Prevent secretmem_users from wrapping to zero · cb685432
      Matthew Wilcox (Oracle) authored
      Commit 11086054 ("mm/secretmem: use refcount_t instead of atomic_t")
      attempted to fix the problem of secretmem_users wrapping to zero and
      allowing suspend once again.
      
      But it was reverted in commit 87066fdd ("Revert 'mm/secretmem: use
      refcount_t instead of atomic_t'") because of the problems it caused - a
      refcount_t was not semantically the right type to use.
      
      Instead prevent secretmem_users from wrapping to zero by forbidding new
      users if the number of users has wrapped from positive to negative.
      This stops a long way short of reaching the necessary 4 billion users
      where it wraps to zero again, so there's no need to be clever with
      special anti-wrap types or checking the return value from atomic_inc().
      Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      Cc: Jordy Zomer <jordy@pwning.systems>
      Cc: Kees Cook <keescook@chromium.org>,
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Mike Rapoport <rppt@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cb685432
    • Linus Torvalds's avatar
      spi: Fix tegra20 build with CONFIG_PM=n once again · ac8a6eba
      Linus Torvalds authored
      Commit efafec27 ("spi: Fix tegra20 build with CONFIG_PM=n") already
      fixed the build without PM support once.  There was an alternative fix
      by Guenter in commit 2bab9409 ("spi: tegra20-slink: Declare runtime
      suspend and resume functions conditionally"), and Mark then merged the
      two correctly in ffb1e76f ("Merge tag 'v5.15-rc2' into spi-5.15").
      
      But for some inexplicable reason, Mark then merged things _again_ in
      commit 59c4e190 ("Merge tag 'v5.15-rc3' into spi-5.15"), and screwed
      things up at that point, and the __maybe_unused attribute on
      tegra_slink_runtime_resume() went missing.
      
      Reinstate it, so that alpha (and other architectures without PM support)
      builds cleanly again.
      
      Btw, this is another prime example of how random back-merges are not
      good.  Just don't do them.  Subsystem developers should not merge my
      tree in any normal circumstances.  Both of those merge commits pointed
      to above are bad: even the one that got the merge result right doesn't
      even mention _why_ it was done, and the one that got it wrong is
      obviously broken.
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Cc: Mark Brown <broonie@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ac8a6eba
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · c2b43854
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
      
       - Fix clang-related relocation warning in futex code
      
       - Fix incorrect use of get_kernel_nofault()
      
       - Fix bad code generation in __get_user_check() when kasan is enabled
      
       - Ensure TLB function table is correctly aligned
      
       - Remove duplicated string function definitions in decompressor
      
       - Fix link-time orphan section warnings
      
       - Fix old-style function prototype for arch_init_kprobes()
      
       - Only warn about XIP address when not compile testing
      
       - Handle BE32 big endian for keystone2 remapping
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9148/1: handle CONFIG_CPU_ENDIAN_BE32 in arch/arm/kernel/head.S
        ARM: 9141/1: only warn about XIP address when not compile testing
        ARM: 9139/1: kprobes: fix arch_init_kprobes() prototype
        ARM: 9138/1: fix link warning with XIP + frame-pointer
        ARM: 9134/1: remove duplicate memcpy() definition
        ARM: 9133/1: mm: proc-macros: ensure *_tlb_fns are 4B aligned
        ARM: 9132/1: Fix __get_user_check failure with ARM KASAN images
        ARM: 9125/1: fix incorrect use of get_kernel_nofault()
        ARM: 9122/1: select HAVE_FUTEX_CMPXCHG
      c2b43854
    • Linus Torvalds's avatar
      Merge tag 'libata-5.15-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 4862649f
      Linus Torvalds authored
      Pull libata fix from Damien Le Moal:
       "A single fix in this pull request addressing an invalid error code
        return in the sata_mv driver (from Zheyu)"
      
      * tag 'libata-5.15-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        ata: sata_mv: Fix the error handling of mv_chip_id()
      4862649f
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · a51aec41
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
       "Some late pin control fixes, the most generally annoying will probably
        be the AMD IRQ storm fix affecting the Microsoft surface.
      
        Summary:
      
         - Three fixes pertaining to Broadcom DT bindings. Some stuff didn't
           work out as inteded, we need to back out
      
         - A resume bug fix in the STM32 driver
      
         - Disable and mask the interrupts on probe in the AMD pinctrl driver,
           affecting Microsoft surface"
      
      * tag 'pinctrl-v5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: amd: disable and mask interrupts on probe
        pinctrl: stm32: use valid pin identifier in stm32_pinctrl_resume()
        Revert "pinctrl: bcm: ns: support updated DT binding as syscon subnode"
        dt-bindings: pinctrl: brcm,ns-pinmux: drop unneeded CRU from example
        Revert "dt-bindings: pinctrl: bcm4708-pinmux: rework binding to use syscon"
      a51aec41
    • LABBE Corentin's avatar
      ARM: 9148/1: handle CONFIG_CPU_ENDIAN_BE32 in arch/arm/kernel/head.S · 00568b8a
      LABBE Corentin authored
      My intel-ixp42x-welltech-epbx100 no longer boot since 4.14.
      This is due to commit 463dbba4 ("ARM: 9104/2: Fix Keystone 2 kernel
      mapping regression")
      which forgot to handle CONFIG_CPU_ENDIAN_BE32 as possible BE config.
      Suggested-by: default avatarKrzysztof Hałasa <khalasa@piap.pl>
      Fixes: 463dbba4 ("ARM: 9104/2: Fix Keystone 2 kernel mapping regression")
      Signed-off-by: default avatarCorentin Labbe <clabbe.montjoie@gmail.com>
      Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      00568b8a
  5. 24 Oct, 2021 7 commits
    • Zheyu Ma's avatar
      ata: sata_mv: Fix the error handling of mv_chip_id() · a0023bb9
      Zheyu Ma authored
      mv_init_host() propagates the value returned by mv_chip_id() which in turn
      gets propagated by mv_pci_init_one() and hits local_pci_probe().
      
      During the process of driver probing, the probe function should return < 0
      for failure, otherwise, the kernel will treat value > 0 as success.
      
      Since this is a bug rather than a recoverable runtime error we should
      use dev_alert() instead of dev_err().
      Signed-off-by: default avatarZheyu Ma <zheyuma97@gmail.com>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      a0023bb9
    • Linus Torvalds's avatar
      Revert "mm/secretmem: use refcount_t instead of atomic_t" · 87066fdd
      Linus Torvalds authored
      This reverts commit 11086054.
      
      Converting the "secretmem_users" counter to a refcount is incorrect,
      because a refcount is special in zero and can't just be incremented (but
      a count of users is not, and "no users" is actually perfectly valid and
      not a sign of a free'd resource).
      
      Reported-by: syzbot+75639e6a0331cd61d3e2@syzkaller.appspotmail.com
      Cc: Jordy Zomer <jordy@pwning.systems>
      Cc: Kees Cook <keescook@chromium.org>,
      Cc: Jordy Zomer <jordy@jordyzomer.github.io>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Mike Rapoport <rppt@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      87066fdd
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · b20078fd
      Linus Torvalds authored
      Pull autofs fix from Al Viro:
       "Fix for a braino of mine (in getting rid of open-coded
        dentry_path_raw() in autofs a couple of cycles ago).
      
        Mea culpa...  Obvious -stable fodder"
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        autofs: fix wait name hash calculation in autofs_wait()
      b20078fd
    • Linus Torvalds's avatar
      Merge tag 'sched_urgent_for_v5.15_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6c62666d
      Linus Torvalds authored
      Pull scheduler fix from Borislav Petkov:
       "Reset clang's Shadow Call Stack on hotplug to prevent it from
        overflowing"
      
      * tag 'sched_urgent_for_v5.15_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/scs: Reset the shadow stack when idle_task_exit
      6c62666d
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v5.15_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 16bc1776
      Linus Torvalds authored
      Pull x86 fix from Borislav Petkov:
       "A single change adding Dave Hansen to our maintainers team"
      
      * tag 'x86_urgent_for_v5.15_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        MAINTAINERS: Add Dave Hansen to the x86 maintainer team
      16bc1776
    • Linus Torvalds's avatar
      Merge tag '5.15-rc6-ksmbd-fixes' of git://git.samba.org/ksmbd · c460e789
      Linus Torvalds authored
      Pull ksmbd fixes from Steve French:
       "Ten fixes for the ksmbd kernel server, for improved security and
        additional buffer overflow checks:
      
         - a security improvement to session establishment to reduce the
           possibility of dictionary attacks
      
         - fix to ensure that maximum i/o size negotiated in the protocol is
           not less than 64K and not more than 8MB to better match expected
           behavior
      
         - fix for crediting (flow control) important to properly verify that
           sufficient credits are available for the requested operation
      
         - seven additional buffer overflow, buffer validation checks"
      
      * tag '5.15-rc6-ksmbd-fixes' of git://git.samba.org/ksmbd:
        ksmbd: add buffer validation in session setup
        ksmbd: throttle session setup failures to avoid dictionary attacks
        ksmbd: validate OutputBufferLength of QUERY_DIR, QUERY_INFO, IOCTL requests
        ksmbd: validate credit charge after validating SMB2 PDU body size
        ksmbd: add buffer validation for smb direct
        ksmbd: limit read/write/trans buffer size not to exceed 8MB
        ksmbd: validate compound response buffer
        ksmbd: fix potencial 32bit overflow from data area check in smb2_write
        ksmbd: improve credits management
        ksmbd: add validation in smb2_ioctl
      c460e789
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 0f386a60
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Ten fixes, seven of which are in drivers.
      
        The core fixes are one to fix a potential crash on resume, one to sort
        out our reference count releases to avoid releasing in-use modules and
        one to adjust the cmd per lun calculation to avoid an overflow in
        hyper-v"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: ufs: ufs-pci: Force a full restore after suspend-to-disk
        scsi: qla2xxx: Fix unmap of already freed sgl
        scsi: qla2xxx: Fix a memory leak in an error path of qla2x00_process_els()
        scsi: qla2xxx: Return -ENOMEM if kzalloc() fails
        scsi: sd: Fix crashes in sd_resume_runtime()
        scsi: mpi3mr: Fix duplicate device entries when scanning through sysfs
        scsi: core: Put LLD module refcnt after SCSI device is released
        scsi: storvsc: Fix validation for unsolicited incoming packets
        scsi: iscsi: Fix set_param() handling
        scsi: core: Fix shost->cmd_per_lun calculation in scsi_add_host_with_dma()
      0f386a60
  6. 23 Oct, 2021 4 commits
    • Rob Clark's avatar
      drm/msm/dpu: Remove dynamic allocation from atomic context · 00326bfa
      Rob Clark authored
      We know the upper bound on # of mixers (ie. two), so lets just allocate
      this on the stack.
      
      Fixes:
      
         BUG: sleeping function called from invalid context at include/linux/sched/mm.h:201
         in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 0, name: swapper/0
         INFO: lockdep is turned off.
         irq event stamp: 43642
         hardirqs last  enabled at (43641): [<ffffffe24dd276bc>] cpuidle_enter_state+0x158/0x25c
         hardirqs last disabled at (43642): [<ffffffe24dfff450>] enter_el1_irq_or_nmi+0x10/0x1c
         softirqs last  enabled at (43620): [<ffffffe24d4103fc>] __do_softirq+0x1e4/0x464
         softirqs last disabled at (43615): [<ffffffe24d48bd90>] __irq_exit_rcu+0x104/0x150
         CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W         5.15.0-rc3-debug+ #105
         Hardware name: Google Lazor (rev1 - 2) with LTE (DT)
         Call trace:
          dump_backtrace+0x0/0x18c
          show_stack+0x24/0x30
          dump_stack_lvl+0xa0/0xd4
          dump_stack+0x18/0x34
          ___might_sleep+0x1e0/0x1f0
          __might_sleep+0x78/0x8c
          slab_pre_alloc_hook.constprop.0+0x48/0x6c
          __kmalloc+0xc8/0x21c
          dpu_crtc_vblank_callback+0x158/0x1f8
          dpu_encoder_vblank_callback+0x70/0xc4
          dpu_encoder_phys_vid_vblank_irq+0x50/0x12c
          dpu_core_irq+0x1bc/0x1d0
          dpu_irq+0x1c/0x28
          msm_irq+0x34/0x40
          __handle_irq_event_percpu+0x15c/0x308
          handle_irq_event_percpu+0x3c/0x90
          handle_irq_event+0x54/0x98
          handle_level_irq+0xa0/0xd0
          handle_irq_desc+0x2c/0x44
          generic_handle_domain_irq+0x28/0x34
          dpu_mdss_irq+0x90/0xe8
          handle_irq_desc+0x2c/0x44
          handle_domain_irq+0x54/0x80
          gic_handle_irq+0xd4/0x148
          call_on_irq_stack+0x2c/0x54
          do_interrupt_handler+0x4c/0x64
          el1_interrupt+0x30/0xd0
          el1h_64_irq_handler+0x18/0x24
          el1h_64_irq+0x78/0x7c
          arch_local_irq_enable+0xc/0x14
          cpuidle_enter+0x44/0x5c
          do_idle+0x248/0x268
          cpu_startup_entry+0x30/0x48
          rest_init+0x188/0x19c
          arch_call_rest_init+0x1c/0x28
          start_kernel+0x704/0x744
          __primary_switched+0xc0/0xc8
      
      Fixes: 78d9b458 ("drm/msm/dpu: Add CRC support for DPU")
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      Link: https://lore.kernel.org/r/20211023160016.3322052-2-robdclark@gmail.comSigned-off-by: default avatarRob Clark <robdclark@chromium.org>
      00326bfa
    • Rob Clark's avatar
    • Linus Torvalds's avatar
      Merge tag 'block-5.15-2021-10-22' of git://git.kernel.dk/linux-block · 9c0c4d24
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Fix for the cgroup code not ussing irq safe stats updates, and one fix
        for an error handling condition in add_partition()"
      
      * tag 'block-5.15-2021-10-22' of git://git.kernel.dk/linux-block:
        block: fix incorrect references to disk objects
        blk-cgroup: blk_cgroup_bio_start() should use irq-safe operations on blkg->iostat_cpu
      9c0c4d24
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.15-2021-10-22' of git://git.kernel.dk/linux-block · da4d34b6
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Two fixes for the max workers limit API that was introduced this
        series: one fix for an issue with that code, and one fixing a linked
        timeout regression in this series"
      
      * tag 'io_uring-5.15-2021-10-22' of git://git.kernel.dk/linux-block:
        io_uring: apply worker limits to previous users
        io_uring: fix ltimeout unprep
        io_uring: apply max_workers limit to all future users
        io-wq: max_worker fixes
      da4d34b6
  7. 22 Oct, 2021 10 commits