1. 11 Oct, 2021 4 commits
    • Linus Torvalds's avatar
      Merge branch 'for-5.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 0a5d6c64
      Linus Torvalds authored
      Pull workqueue fixes from Tejun Heo:
       "One patch to add a missing __printf annotation and the other to enable
        deferred printing for debug dumps to avoid deadlocks when triggered
        from some contexts (e.g. console drivers)"
      
      * 'for-5.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: fix state-dump console deadlock
        workqueue: annotate alloc_workqueue() as printf
      0a5d6c64
    • Linus Torvalds's avatar
      Merge tag 'for-5.15-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 1986c10a
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "A few more error handling fixes, stemming from code inspection, error
        injection or fuzzing"
      
      * tag 'for-5.15-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix abort logic in btrfs_replace_file_extents
        btrfs: check for error when looking up inode during dir entry replay
        btrfs: unify lookup return value when dir entry is missing
        btrfs: deal with errors when adding inode reference during log replay
        btrfs: deal with errors when replaying dir entry during log replay
        btrfs: deal with errors when checking if a dir entry exists during log replay
        btrfs: update refs for any root except tree log roots
        btrfs: unlock newly allocated extent buffer after error
      1986c10a
    • Johan Hovold's avatar
      workqueue: fix state-dump console deadlock · 57116ce1
      Johan Hovold authored
      Console drivers often queue work while holding locks also taken in their
      console write paths, something which can lead to deadlocks on SMP when
      dumping workqueue state (e.g. sysrq-t or on suspend failures).
      
      For serial console drivers this could look like:
      
      	CPU0				CPU1
      	----				----
      
      	show_workqueue_state();
      	  lock(&pool->lock);		<IRQ>
      	  				  lock(&port->lock);
      					  schedule_work();
      					    lock(&pool->lock);
      	  printk();
      	    lock(console_owner);
      	    lock(&port->lock);
      
      where workqueues are, for example, used to push data to the line
      discipline, process break signals and handle modem-status changes. Line
      disciplines and serdev drivers can also queue work on write-wakeup
      notifications, etc.
      
      Reworking every console driver to avoid queuing work while holding locks
      also taken in their write paths would complicate drivers and is neither
      desirable or feasible.
      
      Instead use the deferred-printk mechanism to avoid printing while
      holding pool locks when dumping workqueue state.
      
      Note that there are a few WARN_ON() assertions in the workqueue code
      which could potentially also trigger a deadlock. Hopefully the ongoing
      printk rework will provide a general solution for this eventually.
      
      This was originally reported after a lockdep splat when executing
      sysrq-t with the imx serial driver.
      
      Fixes: 3494fc30 ("workqueue: dump workqueues on sysrq-t")
      Cc: stable@vger.kernel.org	# 4.0
      Reported-by: default avatarFabio Estevam <festevam@denx.de>
      Tested-by: default avatarFabio Estevam <festevam@denx.de>
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Reviewed-by: default avatarJohn Ogness <john.ogness@linutronix.de>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      57116ce1
    • Linus Torvalds's avatar
      Linux 5.15-rc5 · 64570fbc
      Linus Torvalds authored
      64570fbc
  2. 10 Oct, 2021 3 commits
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · efb52a7d
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "A bit of a big batch, partly because I didn't send any last week, and
        also just because the BPF fixes happened to land this week.
      
        Summary:
      
         - Fix a regression hit by the IPR SCSI driver, introduced by the
           recent addition of MSI domains on pseries.
      
         - A big series including 8 BPF fixes, some with potential security
           impact and the rest various code generation issues.
      
         - Fix our program check assembler entry path, which was accidentally
           jumping into a gas macro and generating strange stack frames, which
           could confuse find_bug().
      
         - A couple of fixes, and related changes, to fix corner cases in our
           machine check handling.
      
         - Fix our DMA IOMMU ops, which were not always returning the optimal
           DMA mask, leading to at least one device falling back to 32-bit DMA
           when it shouldn't.
      
         - A fix for KUAP handling on 32-bit Book3S.
      
         - Fix crashes seen when kdumping on some pseries systems.
      
        Thanks to Naveen N. Rao, Nicholas Piggin, Alexey Kardashevskiy, Cédric
        Le Goater, Christophe Leroy, Mahesh Salgaonkar, Abdul Haleem,
        Christoph Hellwig, Johan Almbladh, Stan Johnson"
      
      * tag 'powerpc-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        pseries/eeh: Fix the kdump kernel crash during eeh_pseries_init
        powerpc/32s: Fix kuap_kernel_restore()
        powerpc/pseries/msi: Add an empty irq_write_msi_msg() handler
        powerpc/64s: Fix unrecoverable MCE calling async handler from NMI
        powerpc/64/interrupt: Reconcile soft-mask state in NMI and fix false BUG
        powerpc/64: warn if local irqs are enabled in NMI or hardirq context
        powerpc/traps: do not enable irqs in _exception
        powerpc/64s: fix program check interrupt emergency stack path
        powerpc/bpf ppc32: Fix BPF_SUB when imm == 0x80000000
        powerpc/bpf ppc32: Do not emit zero extend instruction for 64-bit BPF_END
        powerpc/bpf ppc32: Fix JMP32_JSET_K
        powerpc/bpf ppc32: Fix ALU32 BPF_ARSH operation
        powerpc/bpf: Emit stf barrier instruction sequences for BPF_NOSPEC
        powerpc/security: Add a helper to query stf_barrier type
        powerpc/bpf: Fix BPF_SUB when imm == 0x80000000
        powerpc/bpf: Fix BPF_MOD when imm == 1
        powerpc/bpf: Validate branch ranges
        powerpc/lib: Add helper to check if offset is within conditional branch range
        powerpc/iommu: Report the correct most efficient DMA mask for PCI devices
      efb52a7d
    • Linus Torvalds's avatar
      Merge tag 'objtool_urgent_for_v5.15_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 75cd9b01
      Linus Torvalds authored
      Pull objtool fixes from Borislav Petkov:
      
       - Remove an extra section.len member in favour of section.sh_size
      
       - Align .altinstructions section creation with the kernel's by creating
         them with entry size of 0
      
       - Fix objtool to convert a reloc symbol to a section offset and not to
         not warn about not knowing how
      
      * tag 'objtool_urgent_for_v5.15_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool: Remove redundant 'len' field from struct section
        objtool: Make .altinstructions section entry size consistent
        objtool: Remove reloc symbol type checks in get_alt_entry()
      75cd9b01
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v5.15_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c22ccc4a
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
      
       - A FPU fix to properly handle invalid MXCSR values: 32-bit masks them
         out due to historical reasons and 64-bit kernels reject them
      
       - A fix to clear X86_FEATURE_SMAP when support for is not
         config-enabled
      
       - Three fixes correcting misspelled Kconfig symbols used in code
      
       - Two resctrl object cleanup fixes
      
       - Yet another attempt at fixing the neverending saga of botched x86
         timers, this time because some incredibly smart hardware decides to
         turn off the HPET timer in a low power state - who cares if the OS is
         relying on it...
      
       - Check the full return value range of an SEV VMGEXIT call to determine
         whether it returned an error
      
      * tag 'x86_urgent_for_v5.15_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Restore the masking out of reserved MXCSR bits
        x86/Kconfig: Correct reference to MWINCHIP3D
        x86/platform/olpc: Correct ifdef symbol to intended CONFIG_OLPC_XO15_SCI
        x86/entry: Clear X86_FEATURE_SMAP when CONFIG_X86_SMAP=n
        x86/entry: Correct reference to intended CONFIG_64_BIT
        x86/resctrl: Fix kfree() of the wrong type in domain_add_cpu()
        x86/resctrl: Free the ctrlval arrays when domain_setup_mon_state() fails
        x86/hpet: Use another crystalball to evaluate HPET usability
        x86/sev: Return an error on a returned non-zero SW_EXITINFO1[31:0]
      c22ccc4a
  3. 09 Oct, 2021 5 commits
  4. 08 Oct, 2021 14 commits
    • Linus Torvalds's avatar
      Merge tag 's390-5.15-5' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · f84fc4e3
      Linus Torvalds authored
      Pull s390 fixes from Vasily Gorbik:
      
       - Fix potential memory leak on a error path in eBPF
      
       - Fix handling of zpci device on reserve
      
      * tag 's390-5.15-5' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/pci: fix zpci_zdev_put() on reserve
        bpf, s390: Fix potential memory leak about jit_data
      f84fc4e3
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20211008' of git://github.com/jcmvbkbc/linux-xtensa · 5d6ab0bb
      Linus Torvalds authored
      Pull xtensa fixes from Max Filippov:
      
       - fix build/boot issues caused by CONFIG_OF vs CONFIC_USE_OF usage
      
       - fix reset handler for xtfpga boards
      
      * tag 'xtensa-20211008' of git://github.com/jcmvbkbc/linux-xtensa:
        xtensa: xtfpga: Try software restart before simulating CPU reset
        xtensa: xtfpga: use CONFIG_USE_OF instead of CONFIG_OF
        xtensa: call irqchip_init only when CONFIG_USE_OF is selected
        xtensa: use CONFIG_USE_OF instead of CONFIG_OF
      5d6ab0bb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.15b-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 3946b46c
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
      
       - fix two minor issues in the Xen privcmd driver plus a cleanup patch
         for that driver
      
       - fix multiple issues related to running as PVH guest and some related
         earlyprintk fixes for other Xen guest types
      
       - fix an issue introduced in 5.15 the Xen balloon driver
      
      * tag 'for-linus-5.15b-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/balloon: fix cancelled balloon action
        xen/x86: adjust data placement
        x86/PVH: adjust function/data placement
        xen/x86: hook up xen_banner() also for PVH
        xen/x86: generalize preferred console model from PV to PVH Dom0
        xen/x86: make "earlyprintk=xen" work for HVM/PVH DomU
        xen/x86: allow "earlyprintk=xen" to work for PV Dom0
        xen/x86: make "earlyprintk=xen" work better for PVH Dom0
        xen/x86: allow PVH Dom0 without XEN_PV=y
        xen/x86: prevent PVH type from getting clobbered
        xen/privcmd: drop "pages" parameter from xen_remap_pfn()
        xen/privcmd: fix error handling in mmap-resource processing
        xen/privcmd: replace kcalloc() by kvcalloc() when allocating empty pages
      3946b46c
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-fixes-5.15' of... · 0dcf60d0
      Linus Torvalds authored
      Merge tag 'asm-generic-fixes-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic
      
      Pull asm-generic fixes from Arnd Bergmann:
       "There is one build fix for Arm platforms that ended up impacting most
        architectures because of the way the drivers/firmware Kconfig file is
        wired up:
      
        The CONFIG_QCOM_SCM dependency have caused a number of randconfig
        regressions over time, and some still remain in v5.15-rc4. The fix we
        agreed on in the end is to make this symbol selected by any driver
        using it, and then building it even for non-Arm platforms with
        CONFIG_COMPILE_TEST.
      
        To make this work on all architectures, the drivers/firmware/Kconfig
        file needs to be included for all architectures to make the symbol
        itself visible.
      
        In a separate discussion, we found that a sound driver patch that is
        pending for v5.16 needs the same change to include this Kconfig file,
        so the easiest solution seems to have my Kconfig rework included in
        v5.15.
      
        Finally, the branch also includes a small unrelated build fix for
        NOMMU architectures"
      
      Link: https://lore.kernel.org/all/20210928153508.101208f8@canb.auug.org.au/
      Link: https://lore.kernel.org/all/20210928075216.4193128-1-arnd@kernel.org/
      Link: https://lore.kernel.org/all/20211007151010.333516-1-arnd@kernel.org/
      
      * tag 'asm-generic-fixes-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        asm-generic/io.h: give stub iounmap() on !MMU same prototype as elsewhere
        qcom_scm: hide Kconfig symbol
        firmware: include drivers/firmware/Kconfig unconditionally
      0dcf60d0
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · cdc726fb
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "Fix a recent ACPI-related regression in the PCI subsystem that
        introduced a NULL pointer dereference possible to trigger from
        user space via sysfs on some systems"
      
      * tag 'acpi-5.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PCI: ACPI: Check parent pointer in acpi_pci_find_companion()
      cdc726fb
    • Linus Torvalds's avatar
      Merge tag 'usb-5.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 741668ef
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some small USB fixes for 5.15-rc5 that resolve a number of
        reported issues:
      
         - gadget driver fixes
      
         - xhci build warning fixes
      
         - build configuration fix
      
         - cdc-acm tty handling fixes
      
         - cdc-wdm fix
      
         - typec fixes
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-5.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        USB: cdc-acm: fix break reporting
        USB: cdc-acm: fix racy tty buffer accesses
        usb: gadget: f_uac2: fixed EP-IN wMaxPacketSize
        usb: cdc-wdm: Fix check for WWAN
        usb: chipidea: ci_hdrc_imx: Also search for 'phys' phandle
        usb: typec: tcpm: handle SRC_STARTUP state if cc changes
        usb: typec: tcpci: don't handle vSafe0V event if it's not enabled
        usb: typec: tipd: Remove dependency on "connector" child fwnode
        Partially revert "usb: Kconfig: using select for USB_COMMON dependency"
        usb: dwc3: gadget: Revert "set gadgets parent to the right controller"
        usb: xhci: tegra: mark PM functions as __maybe_unused
      741668ef
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 9c7e7050
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "A couple of MMC host fixes:
      
         - meson-gx: Fix read/write access for dram-access-quirk
      
         - sdhci-of-at91: Fix calibration sequence"
      
      * tag 'mmc-v5.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: meson-gx: do not use memcpy_to/fromio for dram-access-quirk
        mmc: sdhci-of-at91: replace while loop with read_poll_timeout
        mmc: sdhci-of-at91: wait for calibration done before proceed
      9c7e7050
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2021-10-08' of git://anongit.freedesktop.org/drm/drm · 0068dc8c
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "I've returned from my tropical island retreat, even managed to bring
        one of my kids on a dive with some turtles. Thanks to Daniel for doing
        last week's work.
      
        Otherwise this is the weekly fixes pull, it's a bit bigger because the
        vc4 reverts in your tree caused some problems with fixes in the
        drm-misc tree so it got left out last week, so this week has the misc
        fixes rebased without the vc4 pieces.
      
        Otherwise it's i915, amdgpu with the usual fixes and a scattering over
        other drivers.
      
        I expect things should calm down a bit more next week.
      
        core:
         - Kconfig fix for fb_simple vs simpledrm.
      
        i915:
         - Fix RKL HDMI audio
         - Fix runtime pm imbalance on i915_gem_shrink() error path
         - Fix Type-C port access before hw/sw state sync
         - Fix VBT backlight struct version/size check
         - Fix VT-d async flip on SKL/BXT with plane stretch workaround
      
        amdgpu:
         - DCN 3.1 DP alt mode fixes
         - S0ix gfxoff fix
         - Fix DRM_AMD_DC_SI dependencies
         - PCIe DPC handling fix
         - DCN 3.1 scaling fix
         - Documentation fix
      
        amdkfd:
         - Fix potential memory leak
         - IOMMUv2 init fixes
      
        vc4 (there were some hdmi fixes but things got reverted, sort it out
             later):
         - compiler fix
      
        nouveau:
         - Cursor fix
         - Fix ttm buffer moves for ampere gpu's by adding minimal
           acceleration support.
         - memory leak fixes
      
        rockchip:
         - crtc/clk fixup
      
        panel:
         - ili9341 Fix DT bindings indent
         - y030xx067a - yellow tint init seq fix
      
        gbefb:
         - Fix gbefb when built with COMPILE_TEST"
      
      * tag 'drm-fixes-2021-10-08' of git://anongit.freedesktop.org/drm/drm: (33 commits)
        drm/amd/display: Fix detection of 4 lane for DPALT
        drm/amd/display: Limit display scaling to up to 4k for DCN 3.1
        drm/amd/display: Skip override for preferred link settings during link training
        drm/nouveau/debugfs: fix file release memory leak
        drm/nouveau/kms/nv50-: fix file release memory leak
        drm/nouveau: avoid a use-after-free when BO init fails
        DRM: delete DRM IRQ legacy midlayer docs
        video: fbdev: gbefb: Only instantiate device when built for IP32
        fbdev: simplefb: fix Kconfig dependencies
        drm/panel: abt-y030xx067a: yellow tint fix
        dt-bindings: panel: ili9341: correct indentation
        drm/nouveau/fifo/ga102: initialise chid on return from channel creation
        drm/rockchip: Update crtc fixup to account for fractional clk change
        drm/nouveau/ga102-: support ttm buffer moves via copy engine
        drm/nouveau/kms/tu102-: delay enabling cursor until after assign_windows
        drm/sun4i: dw-hdmi: Fix HDMI PHY clock setup
        drm/vc4: hdmi: Remove unused struct
        drm/kmb: Enable alpha blended second plane
        drm/amdgpu: handle the case of pci_channel_io_frozen only in amdgpu_pci_resume
        drm/amdgpu: init iommu after amdkfd device init
        ...
      0068dc8c
    • Adam Borowski's avatar
      asm-generic/io.h: give stub iounmap() on !MMU same prototype as elsewhere · 2fbc3499
      Adam Borowski authored
      It made -Werror sad.
      Signed-off-by: default avatarAdam Borowski <kilobyte@angband.pl>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      2fbc3499
    • Borislav Petkov's avatar
      x86/fpu: Restore the masking out of reserved MXCSR bits · d298b035
      Borislav Petkov authored
      Ser Olmy reported a boot failure:
      
        init[1] bad frame in sigreturn frame:(ptrval) ip:b7c9fbe6 sp:bf933310 orax:ffffffff \
      	  in libc-2.33.so[b7bed000+156000]
        Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
        CPU: 0 PID: 1 Comm: init Tainted: G        W         5.14.9 #1
        Hardware name: Hewlett-Packard HP PC/HP Board, BIOS  JD.00.06 12/06/2001
        Call Trace:
         dump_stack_lvl
         dump_stack
         panic
         do_exit.cold
         do_group_exit
         get_signal
         arch_do_signal_or_restart
         ? force_sig_info_to_task
         ? force_sig
         exit_to_user_mode_prepare
         syscall_exit_to_user_mode
         do_int80_syscall_32
         entry_INT80_32
      
      on an old 32-bit Intel CPU:
      
        vendor_id       : GenuineIntel
        cpu family      : 6
        model           : 6
        model name      : Celeron (Mendocino)
        stepping        : 5
        microcode       : 0x3
      
      Ser bisected the problem to the commit in Fixes.
      
      tglx suggested reverting the rejection of invalid MXCSR values which
      this commit introduced and replacing it with what the old code did -
      simply masking them out to zero.
      
      Further debugging confirmed his suggestion:
      
        fpu->state.fxsave.mxcsr: 0xb7be13b4, mxcsr_feature_mask: 0xffbf
        WARNING: CPU: 0 PID: 1 at arch/x86/kernel/fpu/signal.c:384 __fpu_restore_sig+0x51f/0x540
      
      so restore the original behavior only for 32-bit kernels where you have
      ancient machines with buggy hardware. For 32-bit programs on 64-bit
      kernels, user space which supplies wrong MXCSR values is considered
      malicious so fail the sigframe restoration there.
      
      Fixes: 6f9866a1 ("x86/fpu/signal: Let xrstor handle the features to init")
      Reported-by: default avatarSer Olmy <ser.olmy@protonmail.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      Tested-by: default avatarSer Olmy <ser.olmy@protonmail.com>
      Cc: <stable@vger.kernel.org>
      Link: https://lkml.kernel.org/r/YVtA67jImg3KlBTw@zn.tnic
      d298b035
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-5.15-2021-10-06' of... · bf79045e
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-5.15-2021-10-06' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
      
      amd-drm-fixes-5.15-2021-10-06:
      
      amdgpu:
      - DCN 3.1 DP alt mode fixes
      - S0ix gfxoff fix
      - Fix DRM_AMD_DC_SI dependencies
      - PCIe DPC handling fix
      - DCN 3.1 scaling fix
      - Documentation fix
      
      amdkfd:
      - Fix potential memory leak
      - IOMMUv2 init fixes
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211006203828.4818-1-alexander.deucher@amd.com
      bf79045e
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2021-10-06' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · b28a130f
      Dave Airlie authored
      Rebased drm-misc-fixes for v5.15-rc5:
      - Dropped vc4 patches.
      - Compiler fix for vc4.
      - Cursor fix for nouveau.
      - Fix ttm buffer moves for ampere gpu's by adding minimal acceleration support.
      - Small rockchip fixes.
      - Fix DT bindings indent for ili9341.
      - Fix y030xx067a init sequence to not get a yellow tint.
      - Kconfig fix for fb_simple vs simpledrm.
      - Assorted nouvaeu memory leaks.
      - Fix gbefb when built with COMPILE_TEST.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/3272bf72-2c37-31eb-404e-cf7edd485c7d@linux.intel.com
      b28a130f
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2021-10-07' of... · 7d80cc70
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2021-10-07' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      drm/i915 fixes for v5.15-rc5:
      - Fix RKL HDMI audio
      - Fix runtime pm imbalance on i915_gem_shrink() error path
      - Fix Type-C port access before hw/sw state sync
      - Fix VBT backlight struct version/size check
      - Fix VT-d async flip on SKL/BXT with plane stretch workaround
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Jani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/87k0ipywo4.fsf@intel.com
      7d80cc70
    • Palmer Dabbelt's avatar
      checksyscalls: Unconditionally ignore fstat{,at}64 · 3ef6ca4f
      Palmer Dabbelt authored
      These can be replaced by statx().  Since rv32 has a 64-bit time_t we
      just never ended up with them in the first place.  This is now an error
      due to -Werror.
      Suggested-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      3ef6ca4f
  5. 07 Oct, 2021 14 commits
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · 1da38549
      Linus Torvalds authored
      Pull nfsd fixes from Chuck Lever:
       "Bug fixes for NFSD error handling paths"
      
      * tag 'nfsd-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
        NFSD: Keep existing listeners on portlist error
        SUNRPC: fix sign error causing rpcsec_gss drops
        nfsd: Fix a warning for nfsd_file_close_inode
        nfsd4: Handle the NFSv4 READDIR 'dircount' hint being zero
        nfsd: fix error handling of register_pernet_subsys() in init_nfsd()
      1da38549
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 3e899c72
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "This is a larger than normal update for Arm SoC specific code, most of
        it in device trees, but also drivers and the omap and at91/sama7
        platforms:
      
         - There are four new entries to the MAINTAINERS file: Sven Peter and
           Alyssa Rosenzweig for Apple M1, Romain Perier for Mstar/sigmastar,
           and Vignesh Raghavendra for TI K3
      
         - Build fixes to address randconfig warnings in sharpsl, dove, omap1,
           and qcom platforms as well as the scmi and op-tee subsystems
      
         - Regression fixes for missing CONFIG_FB and other options for
           several defconfigs
      
         - Several bug fixes for the newly added Microchip SAMA7 platform,
           mostly regarding power management
      
         - Missing SMP barriers to protect accesses to SCMI virtio device
      
         - Regression fixes for TI OMAP, including a boot-time hang on am335x.
      
         - Lots of bug fixes for NXP i.MX, mostly addressing incorrect
           settings in devicetree files, and one revert for broken suspend.
      
         - Fixes for ARM Juno/Vexpress devicetree files, addressing a couple
           of schema warnings.
      
         - Regression fixes for qualcomm SoC specific drivers and devicetree
           files, reverting an mdt_loader change and at least pastially
           reverting some of the 5.15 DTS changes, plus some minor bugfixes"
      
      * tag 'armsoc-fixes-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (64 commits)
        MAINTAINERS: Add Sven Peter as ARM/APPLE MACHINE maintainer
        MAINTAINERS: Add Alyssa Rosenzweig as M1 reviewer
        firmware: arm_scmi: Add proper barriers to scmi virtio device
        firmware: arm_scmi: Simplify spinlocks in virtio transport
        ARM: dts: omap3430-sdp: Fix NAND device node
        bus: ti-sysc: Use CLKDM_NOAUTO for dra7 dcan1 for errata i893
        ARM: sharpsl_param: work around -Wstringop-overread warning
        ARM: defconfig: gemini: Restore framebuffer
        ARM: dove: mark 'putc' as inline
        ARM: omap1: move omap15xx local bus handling to usb.c
        MAINTAINERS: Add Vignesh to TI K3 platform maintainership
        arm64: dts: imx8m*-venice-gw7902: fix M2_RST# gpio
        ARM: imx6: disable the GIC CPU interface before calling stby-poweroff sequence
        arm64: dts: ls1028a: fix eSDHC2 node
        arm64: dts: imx8mm-kontron-n801x-som: do not allow to switch off buck2
        ARM: dts: at91: sama7g5ek: to not touch slew-rate for SDMMC pins
        ARM: dts: at91: sama7g5ek: use proper slew-rate settings for GMACs
        ARM: at91: pm: preload base address of controllers in tlb
        ARM: at91: pm: group constants and addresses loading
        ARM: dts: at91: sama7g5ek: add suspend voltage for ddr3l rail
        ...
      3e899c72
    • Josef Bacik's avatar
      btrfs: fix abort logic in btrfs_replace_file_extents · 4afb912f
      Josef Bacik authored
      Error injection testing uncovered a case where we'd end up with a
      corrupt file system with a missing extent in the middle of a file.  This
      occurs because the if statement to decide if we should abort is wrong.
      
      The only way we would abort in this case is if we got a ret !=
      -EOPNOTSUPP and we called from the file clone code.  However the
      prealloc code uses this path too.  Instead we need to abort if there is
      an error, and the only error we _don't_ abort on is -EOPNOTSUPP and only
      if we came from the clone file code.
      
      CC: stable@vger.kernel.org # 5.10+
      Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
      Reviewed-by: default avatarFilipe Manana <fdmanana@suse.com>
      Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
      Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      4afb912f
    • Filipe Manana's avatar
      btrfs: check for error when looking up inode during dir entry replay · cfd31269
      Filipe Manana authored
      At replay_one_name(), we are treating any error from btrfs_lookup_inode()
      as if the inode does not exists. Fix this by checking for an error and
      returning it to the caller.
      
      CC: stable@vger.kernel.org # 4.14+
      Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
      Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      cfd31269
    • Filipe Manana's avatar
      btrfs: unify lookup return value when dir entry is missing · 8dcbc261
      Filipe Manana authored
      btrfs_lookup_dir_index_item() and btrfs_lookup_dir_item() lookup for dir
      entries and both are used during log replay or when updating a log tree
      during an unlink.
      
      However when the dir item does not exists, btrfs_lookup_dir_item() returns
      NULL while btrfs_lookup_dir_index_item() returns PTR_ERR(-ENOENT), and if
      the dir item exists but there is no matching entry for a given name or
      index, both return NULL. This makes the call sites during log replay to
      be more verbose than necessary and it makes it easy to miss this slight
      difference. Since we don't need to distinguish between those two cases,
      make btrfs_lookup_dir_index_item() always return NULL when there is no
      matching directory entry - either because there isn't any dir entry or
      because there is one but it does not match the given name and index.
      
      Also rename the argument 'objectid' of btrfs_lookup_dir_index_item() to
      'index' since it is supposed to match an index number, and the name
      'objectid' is not very good because it can easily be confused with an
      inode number (like the inode number a dir entry points to).
      
      CC: stable@vger.kernel.org # 4.14+
      Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
      Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      8dcbc261
    • Filipe Manana's avatar
      btrfs: deal with errors when adding inode reference during log replay · 52db7779
      Filipe Manana authored
      At __inode_add_ref(), we treating any error returned from
      btrfs_lookup_dir_item() or from btrfs_lookup_dir_index_item() as meaning
      that there is no existing directory entry in the fs/subvolume tree.
      This is not correct since we can get errors such as, for example, -EIO
      when reading extent buffers while searching the fs/subvolume's btree.
      
      So fix that and return the error to the caller when it is not -ENOENT.
      
      CC: stable@vger.kernel.org # 4.14+
      Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
      Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      52db7779
    • Filipe Manana's avatar
      btrfs: deal with errors when replaying dir entry during log replay · e15ac641
      Filipe Manana authored
      At replay_one_one(), we are treating any error returned from
      btrfs_lookup_dir_item() or from btrfs_lookup_dir_index_item() as meaning
      that there is no existing directory entry in the fs/subvolume tree.
      This is not correct since we can get errors such as, for example, -EIO
      when reading extent buffers while searching the fs/subvolume's btree.
      
      So fix that and return the error to the caller when it is not -ENOENT.
      
      CC: stable@vger.kernel.org # 4.14+
      Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
      Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      e15ac641
    • Filipe Manana's avatar
      btrfs: deal with errors when checking if a dir entry exists during log replay · 77a5b9e3
      Filipe Manana authored
      Currently inode_in_dir() ignores errors returned from
      btrfs_lookup_dir_index_item() and from btrfs_lookup_dir_item(), treating
      any errors as if the directory entry does not exists in the fs/subvolume
      tree, which is obviously not correct, as we can get errors such as -EIO
      when reading extent buffers while searching the fs/subvolume's tree.
      
      Fix that by making inode_in_dir() return the errors and making its only
      caller, add_inode_ref(), deal with returned errors as well.
      Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
      Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      77a5b9e3
    • Josef Bacik's avatar
      btrfs: update refs for any root except tree log roots · d175209b
      Josef Bacik authored
      I hit a stuck relocation on btrfs/061 during my overnight testing.  This
      turned out to be because we had left over extent entries in our extent
      root for a data reloc inode that no longer existed.  This happened
      because in btrfs_drop_extents() we only update refs if we have SHAREABLE
      set or we are the tree_root.  This regression was introduced by
      aeb935a4 ("btrfs: don't set SHAREABLE flag for data reloc tree")
      where we stopped setting SHAREABLE for the data reloc tree.
      
      The problem here is we actually do want to update extent references for
      data extents in the data reloc tree, in fact we only don't want to
      update extent references if the file extents are in the log tree.
      Update this check to only skip updating references in the case of the
      log tree.
      
      This is relatively rare, because you have to be running scrub at the
      same time, which is what btrfs/061 does.  The data reloc inode has its
      extents pre-allocated, and then we copy the extent into the
      pre-allocated chunks.  We theoretically should never be calling
      btrfs_drop_extents() on a data reloc inode.  The exception of course is
      with scrub, if our pre-allocated extent falls inside of the block group
      we are scrubbing, then the block group will be marked read only and we
      will be forced to cow that extent.  This means we will call
      btrfs_drop_extents() on that range when we COW that file extent.
      
      This isn't really problematic if we do this, the data reloc inode
      requires that our extent lengths match exactly with the extent we are
      copying, thankfully we validate the extent is correct with
      get_new_location(), so if we happen to COW only part of the extent we
      won't link it in when we do the relocation, so we are safe from any
      other shenanigans that arise because of this interaction with scrub.
      
      Fixes: aeb935a4 ("btrfs: don't set SHAREABLE flag for data reloc tree")
      CC: stable@vger.kernel.org # 5.8+
      Reviewed-by: default avatarQu Wenruo <wqu@suse.com>
      Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      d175209b
    • Qu Wenruo's avatar
      btrfs: unlock newly allocated extent buffer after error · 19ea40dd
      Qu Wenruo authored
      [BUG]
      There is a bug report that injected ENOMEM error could leave a tree
      block locked while we return to user-space:
      
        BTRFS info (device loop0): enabling ssd optimizations
        FAULT_INJECTION: forcing a failure.
        name failslab, interval 1, probability 0, space 0, times 0
        CPU: 0 PID: 7579 Comm: syz-executor Not tainted 5.15.0-rc1 #16
        Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
        rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
        Call Trace:
         __dump_stack lib/dump_stack.c:88 [inline]
         dump_stack_lvl+0x8d/0xcf lib/dump_stack.c:106
         fail_dump lib/fault-inject.c:52 [inline]
         should_fail+0x13c/0x160 lib/fault-inject.c:146
         should_failslab+0x5/0x10 mm/slab_common.c:1328
         slab_pre_alloc_hook.constprop.99+0x4e/0xc0 mm/slab.h:494
         slab_alloc_node mm/slub.c:3120 [inline]
         slab_alloc mm/slub.c:3214 [inline]
         kmem_cache_alloc+0x44/0x280 mm/slub.c:3219
         btrfs_alloc_delayed_extent_op fs/btrfs/delayed-ref.h:299 [inline]
         btrfs_alloc_tree_block+0x38c/0x670 fs/btrfs/extent-tree.c:4833
         __btrfs_cow_block+0x16f/0x7d0 fs/btrfs/ctree.c:415
         btrfs_cow_block+0x12a/0x300 fs/btrfs/ctree.c:570
         btrfs_search_slot+0x6b0/0xee0 fs/btrfs/ctree.c:1768
         btrfs_insert_empty_items+0x80/0xf0 fs/btrfs/ctree.c:3905
         btrfs_new_inode+0x311/0xa60 fs/btrfs/inode.c:6530
         btrfs_create+0x12b/0x270 fs/btrfs/inode.c:6783
         lookup_open+0x660/0x780 fs/namei.c:3282
         open_last_lookups fs/namei.c:3352 [inline]
         path_openat+0x465/0xe20 fs/namei.c:3557
         do_filp_open+0xe3/0x170 fs/namei.c:3588
         do_sys_openat2+0x357/0x4a0 fs/open.c:1200
         do_sys_open+0x87/0xd0 fs/open.c:1216
         do_syscall_x64 arch/x86/entry/common.c:50 [inline]
         do_syscall_64+0x34/0xb0 arch/x86/entry/common.c:80
         entry_SYSCALL_64_after_hwframe+0x44/0xae
        RIP: 0033:0x46ae99
        Code: f7 d8 64 89 02 b8 ff ff ff ff c3 66 0f 1f 44 00 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 bc ff ff ff f7 d8 64 89 01 48
        RSP: 002b:00007f46711b9c48 EFLAGS: 00000246 ORIG_RAX: 0000000000000055
        RAX: ffffffffffffffda RBX: 000000000078c0a0 RCX: 000000000046ae99
        RDX: 0000000000000000 RSI: 00000000000000a1 RDI: 0000000020005800
        RBP: 00007f46711b9c80 R08: 0000000000000000 R09: 0000000000000000
        R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000017
        R13: 0000000000000000 R14: 000000000078c0a0 R15: 00007ffc129da6e0
      
        ================================================
        WARNING: lock held when returning to user space!
        5.15.0-rc1 #16 Not tainted
        ------------------------------------------------
        syz-executor/7579 is leaving the kernel with locks still held!
        1 lock held by syz-executor/7579:
         #0: ffff888104b73da8 (btrfs-tree-01/1){+.+.}-{3:3}, at:
        __btrfs_tree_lock+0x2e/0x1a0 fs/btrfs/locking.c:112
      
      [CAUSE]
      In btrfs_alloc_tree_block(), after btrfs_init_new_buffer(), the new
      extent buffer @buf is locked, but if later operations like adding
      delayed tree ref fail, we just free @buf without unlocking it,
      resulting above warning.
      
      [FIX]
      Unlock @buf in out_free_buf: label.
      Reported-by: default avatarHao Sun <sunhao.th@gmail.com>
      Link: https://lore.kernel.org/linux-btrfs/CACkBjsZ9O6Zr0KK1yGn=1rQi6Crh1yeCRdTSBxx9R99L4xdn-Q@mail.gmail.com/
      CC: stable@vger.kernel.org # 5.4+
      Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
      Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      19ea40dd
    • Arnd Bergmann's avatar
      Merge tag 'asahi-soc-fixes-5.15' of https://github.com/AsahiLinux/linux into arm/fixes · 897c2e74
      Arnd Bergmann authored
      Apple SoC fixes for 5.15; just two MAINTAINERS updates.
      
      - MAINTAINERS: Add Sven Peter as ARM/APPLE MACHINE maintainer
      - MAINTAINERS: Add Alyssa Rosenzweig as M1 reviewer
      
      * tag 'asahi-soc-fixes-5.15' of https://github.com/AsahiLinux/linux:
        MAINTAINERS: Add Sven Peter as ARM/APPLE MACHINE maintainer
        MAINTAINERS: Add Alyssa Rosenzweig as M1 reviewer
      
      Link: https://lore.kernel.org/r/a50a9015-0e62-c451-4d0d-668233b35b85@marcan.stSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      897c2e74
    • Arnd Bergmann's avatar
      Merge tag 'scmi-fixes-5.15' of... · 6aaa8434
      Arnd Bergmann authored
      Merge tag 'scmi-fixes-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/fixes
      
      SCMI fixes for v5.15
      
      A few fixes addressing:
      - Kconfig dependency between VIRTIO and ARM_SCMI_PROTOCOL
      - Link-time error with __exit annotation for virtio_scmi_exit
      - Unnecessary nested irqsave/irqrestore spinlocks in virtio transport
      - Missing SMP barriers to protect accesses to SCMI virtio device
      
      * tag 'scmi-fixes-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
        firmware: arm_scmi: Add proper barriers to scmi virtio device
        firmware: arm_scmi: Simplify spinlocks in virtio transport
        firmware: arm_scmi: Remove __exit annotation
        firmware: arm_scmi: Fix virtio transport Kconfig dependency
      
      Link: https://lore.kernel.org/r/20211007102822.27886-1-sudeep.holla@arm.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      6aaa8434
    • Arnd Bergmann's avatar
      Merge tag 'omap-for-v5.15/fixes-rc4' of... · 3c7f58b3
      Arnd Bergmann authored
      Merge tag 'omap-for-v5.15/fixes-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes
      
      Fixes for omaps for v5.15
      
      Few regression fixes for omaps for the v5.15-rc cycle. There is a fix
      for boot time hangs that can happen on some am335x devices that started
      when the pruss devicetree nodes were added. The other fixes are less
      critical:
      
      - Fix compiler warning for sysc_init_soc() that got recently introduced
      
      - Fix external abort for am335x pruss as otherwise some am335x will hang
      
      - Use CLKDM_NOAUTO quirk also for dra7 dcan1
      
      - Fix older NAND device node regression for omap3-sdp
      
      * tag 'omap-for-v5.15/fixes-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: omap3430-sdp: Fix NAND device node
        bus: ti-sysc: Use CLKDM_NOAUTO for dra7 dcan1 for errata i893
        soc: ti: omap-prm: Fix external abort for am335x pruss
        bus: ti-sysc: Add break in switch statement in sysc_init_soc()
      
      Link: https://lore.kernel.org/r/pull-1633609552-789682@atomide.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      3c7f58b3
    • Linus Torvalds's avatar
      Merge tag 'misc-fixes-20211007' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · 7041503d
      Linus Torvalds authored
      Pull netfslib, cachefiles and afs fixes from David Howells:
      
       - Fix another couple of oopses in cachefiles tracing stemming from the
         possibility of passing in a NULL object pointer
      
       - Fix netfs_clear_unread() to set READ on the iov_iter so that source
         it is passed to doesn't do the wrong thing (some drivers look at the
         flag on iov_iter rather than other available information to determine
         the direction)
      
       - Fix afs_launder_page() to write back at the correct file position on
         the server so as not to corrupt data
      
      * tag 'misc-fixes-20211007' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        afs: Fix afs_launder_page() to set correct start file position
        netfs: Fix READ/WRITE confusion when calling iov_iter_xarray()
        cachefiles: Fix oops with cachefiles_cull() due to NULL object
      7041503d