Skip to content
Permalink
Tony-Luck/x86-…
Switch branches/tags

Commits on Oct 18, 2021

  1. x86/sgx: Add check for SGX pages to ghes_do_memory_failure()

    SGX EPC pages do not have a "struct page" associated with them so the
    pfn_valid() sanity check fails and results in a warning message to
    the console.
    
    Add an additional check to skip the warning if the address of the error
    is in an SGX EPC page.
    
    Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
    Tested-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    aegl authored and intel-lab-lkp committed Oct 18, 2021
  2. x86/sgx: Add hook to error injection address validation

    SGX reserved memory does not appear in the standard address maps.
    
    Add hook to call into the SGX code to check if an address is located
    in SGX memory.
    
    There are other challenges in injecting errors into SGX. Update the
    documentation with a sequence of operations to inject.
    
    Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
    Tested-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    aegl authored and intel-lab-lkp committed Oct 18, 2021
  3. x86/sgx: Hook arch_memory_failure() into mainline code

    Add a call inside memory_failure() to call the arch specific code
    to check if the address is an SGX EPC page and handle it.
    
    Note the SGX EPC pages do not have a "struct page" entry, so the hook
    goes in at the same point as the device mapping hook.
    
    Pull the call to acquire the mutex earlier so the SGX errors are also
    protected.
    
    Make set_mce_nospec() skip SGX pages when trying to adjust
    the 1:1 map.
    
    Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
    Tested-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    aegl authored and intel-lab-lkp committed Oct 18, 2021
  4. x86/sgx: Add SGX infrastructure to recover from poison

    Provide a recovery function sgx_memory_failure(). If the poison was
    consumed synchronously then send a SIGBUS. Note that the virtual
    address of the access is not included with the SIGBUS as is the case
    for poison outside of SGX enclaves. This doesn't matter as addresses
    of code/data inside an enclave is of little to no use to code executing
    outside the (now dead) enclave.
    
    Poison found in a free page results in the page being moved from the
    free list to the per-node poison page list.
    
    Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
    Tested-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    aegl authored and intel-lab-lkp committed Oct 18, 2021
  5. x86/sgx: Initial poison handling for dirty and free pages

    A memory controller patrol scrubber can report poison in a page
    that isn't currently being used.
    
    Add "poison" field in the sgx_epc_page that can be set for an
    sgx_epc_page. Check for it:
    1) When sanitizing dirty pages
    2) When freeing epc pages
    
    Poison is a new field separated from flags to avoid having to make all
    updates to flags atomic, or integrate poison state changes into some
    other locking scheme to protect flags (Currently just sgx_reclaimer_lock
    which protects the SGX_EPC_PAGE_RECLAIMER_TRACKED bit in page->flags).
    
    In both cases place the poisoned page on a per-node list of poisoned
    epc pages to make sure it will not be reallocated.
    
    Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
    Tested-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    aegl authored and intel-lab-lkp committed Oct 18, 2021
  6. x86/sgx: Add infrastructure to identify SGX EPC pages

    X86 machine check architecture reports a physical address when there
    is a memory error. Handling that error requires a method to determine
    whether the physical address reported is in any of the areas reserved
    for EPC pages by BIOS.
    
    SGX EPC pages do not have Linux "struct page" associated with them.
    
    Keep track of the mapping from ranges of EPC pages to the sections
    that contain them using an xarray.
    
    Create a function arch_is_platform_page() that simply reports whether an
    address is an EPC page for use elsewhere in the kernel. The ACPI error
    injection code needs this function and is typically built as a module,
    so export it.
    
    Note that arch_is_platform_page() will be slower than other similar
    "what type is this page" functions that can simply check bits in the
    "struct page".  If there is some future performance critical user of
    this function it may need to be implemented in a more efficient way.
    
    Note also that the current implementation of xarray allocates a few
    hundred kilobytes for this usage on a system with 4GB of SGX EPC memory
    configured. This isn't ideal, but worth it for the code simplicity.
    
    Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
    Tested-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    aegl authored and intel-lab-lkp committed Oct 18, 2021
  7. x86/sgx: Add new sgx_epc_page flag bit to mark free pages

    SGX EPC pages go through the following life cycle:
    
            DIRTY ---> FREE ---> IN-USE --\
                        ^                 |
                        \-----------------/
    
    Recovery action for poison for a DIRTY or FREE page is simple. Just
    make sure never to allocate the page. IN-USE pages need some extra
    handling.
    
    Add a new flag bit SGX_EPC_PAGE_IS_FREE that is set when a page
    is added to a free list and cleared when the page is allocated.
    
    Notes:
    
    1) These transitions are made while holding the node->lock so that
       future code that checks the flags while holding the node->lock
       can be sure that if the SGX_EPC_PAGE_IS_FREE bit is set, then the
       page is on the free list.
    
    2) Initially while the pages are on the dirty list the
       SGX_EPC_PAGE_IS_FREE bit is cleared.
    
    Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
    Tested-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    aegl authored and intel-lab-lkp committed Oct 18, 2021

Commits on Oct 13, 2021

  1. x86/sgx/virt: Implement SGX_IOC_VEPC_REMOVE ioctl

    For bare-metal SGX on real hardware, the hardware provides guaranteed
    SGX state at reboot.  For instance, all pages start out uninitialized.
    The vepc driver provides a similar guarantee today for freshly-opened
    vepc instances, but guests such as Windows expect all pages to be in
    uninitialized state on startup, including after every guest reboot.
    
    Some userspace implementations of virtual SGX would rather avoid having
    to close and reopen the /dev/sgx_vepc file descriptor and re-mmap the
    virtual EPC.  For example, they could sandbox themselves after the guest
    starts and forbid further calls to open(), in order to mitigate exploits
    from untrusted guests.
    
    Therefore, add a ioctl that does this with EREMOVE.  Userspace can
    invoke the ioctl to bring its vEPC pages back to uninitialized state.
    There is a possibility that some pages fail to be removed if they are
    SECS pages, and the child and SECS pages could be in separate vEPC
    regions.  Therefore, the ioctl returns the number of EREMOVE failures,
    telling userspace to try the ioctl again after it's done with all
    vEPC regions.  A more verbose description of the correct usage and
    the possible error conditions is documented in sgx.rst.
    
     [ bp: Minor massaging. ]
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
    Link: https://lkml.kernel.org/r/20211012105708.2070480-3-pbonzini@redhat.com
    bonzini authored and Borislav Petkov committed Oct 13, 2021
  2. x86/sgx/virt: Extract sgx_vepc_remove_page()

    For bare-metal SGX on real hardware, the hardware provides guaranteed
    SGX state at reboot.  For instance, all pages start out uninitialized.
    The vepc driver provides a similar guarantee today for freshly-opened
    vepc instances, but guests such as Windows expect all pages to be in
    uninitialized state on startup, including after every guest reboot.
    
    One way to do this is to simply close and reopen the /dev/sgx_vepc file
    descriptor and re-mmap the virtual EPC.  However, this is problematic
    because it prevents sandboxing the userspace (for example forbidding
    open() after the guest starts; this is doable with heavy use of SCM_RIGHTS
    file descriptor passing).
    
    In order to implement this, an ioctl will be needed that performs
    EREMOVE on all pages mapped by a /dev/sgx_vepc file descriptor: other
    possibilities, such as closing and reopening the device, are racy.
    
    Start the implementation by creating a separate function with just
    the __eremove() wrapper.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
    Link: https://lkml.kernel.org/r/20211012105708.2070480-2-pbonzini@redhat.com
    bonzini authored and Borislav Petkov committed Oct 13, 2021

Commits on Oct 11, 2021

  1. Linux 5.15-rc5

    torvalds committed Oct 11, 2021

Commits on Oct 10, 2021

  1. Merge tag 'powerpc-5.15-3' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/powerpc/linux
    
    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
    torvalds committed Oct 10, 2021
  2. Merge tag 'objtool_urgent_for_v5.15_rc5' of git://git.kernel.org/pub/…

    …scm/linux/kernel/git/tip/tip
    
    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()
    torvalds committed Oct 10, 2021
  3. Merge tag 'x86_urgent_for_v5.15_rc5' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    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]
    torvalds committed Oct 10, 2021

Commits on Oct 9, 2021

  1. Merge branch 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/wsa/linux
    
    Pull i2c fixes from Wolfram Sang:
     "Three driver bugfixes and one leak fix for the core"
    
    * 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
      i2c: mlxcpld: Modify register setting for 400KHz frequency
      i2c: mlxcpld: Fix criteria for frequency setting
      i2c: mediatek: Add OFFSET_EXT_CONF setting back
      i2c: acpi: fix resource leak in reconfiguration device addition
    torvalds committed Oct 9, 2021
  2. Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/jejb/scsi
    
    Pull SCSI fixes from James Bottomley:
     "Five fixes, all in drivers.
    
      The big change is the UFS task management rework, with lpfc next and
      the rest being fairly minor and obvious fixes"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      scsi: iscsi: Fix iscsi_task use after free
      scsi: lpfc: Fix memory overwrite during FC-GS I/O abort handling
      scsi: elx: efct: Delete stray unlock statement
      scsi: ufs: core: Fix task management completion
      scsi: acornscsi: Remove scsi_cmd_to_tag() reference
    torvalds committed Oct 9, 2021
  3. Merge tag 'block-5.15-2021-10-09' of git://git.kernel.dk/linux-block

    Pull block fixes from Jens Axboe:
     "Two small fixes for this release:
    
       - Add missing QUEUE_FLAG_HCTX_ACTIVE in the debugfs handling
         (Johannes)
    
       - Fix double free / UAF issue in __alloc_disk_node (Tetsuo)"
    
    * tag 'block-5.15-2021-10-09' of git://git.kernel.dk/linux-block:
      block: decode QUEUE_FLAG_HCTX_ACTIVE in debugfs output
      block: genhd: fix double kfree() in __alloc_disk_node()
    torvalds committed Oct 9, 2021
  4. Merge tag '5.15-rc4-ksmbd-fixes' of git://git.samba.org/ksmbd

    Pull ksmbd fixes from Steve French:
     "Six fixes for the ksmbd kernel server, including two additional
      overflow checks, a fix for oops, and some cleanup (e.g. remove dead
      code for less secure dialects that has been removed)"
    
    * tag '5.15-rc4-ksmbd-fixes' of git://git.samba.org/ksmbd:
      ksmbd: fix oops from fuse driver
      ksmbd: fix version mismatch with out of tree
      ksmbd: use buf_data_size instead of recalculation in smb3_decrypt_req()
      ksmbd: remove the leftover of smb2.0 dialect support
      ksmbd: check strictly data area in ksmbd_smb2_check_message()
      ksmbd: add the check to vaildate if stream protocol length exceeds maximum value
    torvalds committed Oct 9, 2021
  5. Merge tag 'riscv-for-linus-5.15-rc5' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/riscv/linux
    
    Pull RISC-V fixes from Palmer Dabbelt:
    
     - A pair of fixes (along with the necessory cleanup) to our VDSO, to
       avoid a locking during OOM and to prevent the text from overflowing
       into the data page
    
     - A fix to checksyscalls to teach it about our rv32 UABI
    
     - A fix to add clone3() to the rv32 UABI, which was pointed out by
       checksyscalls
    
     - A fix to properly flush the icache on the local CPU in addition to
       the remote CPUs
    
    * tag 'riscv-for-linus-5.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
      checksyscalls: Unconditionally ignore fstat{,at}64
      riscv: Flush current cpu icache before other cpus
      RISC-V: Include clone3() on rv32
      riscv/vdso: make arch_setup_additional_pages wait for mmap_sem for write killable
      riscv/vdso: Move vdso data page up front
      riscv/vdso: Refactor asm/vdso.h
    torvalds committed Oct 9, 2021

Commits on Oct 8, 2021

  1. Merge tag 's390-5.15-5' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/s390/linux
    
    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
    torvalds committed Oct 8, 2021
  2. Merge tag 'xtensa-20211008' of git://github.com/jcmvbkbc/linux-xtensa

    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
    torvalds committed Oct 8, 2021
  3. Merge tag 'for-linus-5.15b-rc5-tag' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/xen/tip
    
    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
    torvalds committed Oct 8, 2021
  4. Merge tag 'asm-generic-fixes-5.15' of git://git.kernel.org/pub/scm/li…

    …nux/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
    torvalds committed Oct 8, 2021
  5. Merge tag 'acpi-5.15-rc5' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/rafael/linux-pm
    
    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()
    torvalds committed Oct 8, 2021
  6. Merge tag 'usb-5.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/gregkh/usb
    
    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
    torvalds committed Oct 8, 2021
  7. Merge tag 'mmc-v5.15-rc4' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/ulfh/mmc
    
    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
    torvalds committed Oct 8, 2021
  8. Merge tag 'drm-fixes-2021-10-08' of git://anongit.freedesktop.org/drm…

    …/drm
    
    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
      ...
    torvalds committed Oct 8, 2021
  9. asm-generic/io.h: give stub iounmap() on !MMU same prototype as elsew…

    …here
    
    It made -Werror sad.
    
    Signed-off-by: Adam Borowski <kilobyte@angband.pl>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    kilobyte authored and arndb committed Oct 8, 2021
  10. x86/fpu: Restore the masking out of reserved MXCSR bits

    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: 6f9866a ("x86/fpu/signal: Let xrstor handle the features to init")
    Reported-by: Ser Olmy <ser.olmy@protonmail.com>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Tested-by: Ser Olmy <ser.olmy@protonmail.com>
    Cc: <stable@vger.kernel.org>
    Link: https://lkml.kernel.org/r/YVtA67jImg3KlBTw@zn.tnic
    Borislav Petkov committed Oct 8, 2021
  11. Merge tag 'amd-drm-fixes-5.15-2021-10-06' of https://gitlab.freedeskt…

    …op.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: Dave 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
    airlied committed Oct 8, 2021
  12. Merge tag 'drm-misc-fixes-2021-10-06' of git://anongit.freedesktop.or…

    …g/drm/drm-misc into drm-fixes
    
    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: Dave 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
    airlied committed Oct 8, 2021
  13. Merge tag 'drm-intel-fixes-2021-10-07' of git://anongit.freedesktop.o…

    …rg/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: Dave Airlie <airlied@redhat.com>
    From: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/87k0ipywo4.fsf@intel.com
    airlied committed Oct 8, 2021
  14. checksyscalls: Unconditionally ignore fstat{,at}64

    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: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
    palmer-dabbelt committed Oct 8, 2021

Commits on Oct 7, 2021

  1. Merge tag 'nfsd-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/cel/linux
    
    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()
    torvalds committed Oct 7, 2021
  2. Merge tag 'armsoc-fixes-5.15' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/soc/soc
    
    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
      ...
    torvalds committed Oct 7, 2021
  3. Merge tag 'asahi-soc-fixes-5.15' of https://github.com/AsahiLinux/linux

    … into arm/fixes
    
    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.st
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    arndb committed Oct 7, 2021
Older