Skip to content
Permalink
3090101217-zju…
Switch branches/tags

Commits on Feb 14, 2022

  1. usb: gadget: f_uac1: add superspeed transfer support

    Currently uac1 only supports high speed.
    
    Signed-off-by: Jing Leng <jleng@ambarella.com>
    Jing Leng authored and intel-lab-lkp committed Feb 14, 2022

Commits on Sep 14, 2021

  1. usb: chipidea: udc: make controller hardware endpoint primed

    Root-cause:
    There is an issue like endpoint is not recognized as primed, when bus
    have more pressure and the add dTD tripwire semaphore (ATDTW bit in
    USBCMD register) that can cause the controller to ignore a dTD that is
    added to a primed endpoint.
    This issue observed with the Windows10 host machine.
    
    Workaround:
    The software must implement a periodic cycle, and check for each dTD,
    if the endpoint is primed. It can do this by reading the corresponding
    bits in the ENDPTPRIME and ENDPTSTAT registers. If these bits are read
    at 0, the software needs to re-prime the endpoint by writing 1 to the
    corresponding bit in the ENDPTPRIME register.
    
    Added conditional revision check of 2.20[CI_REVISION_22].
    
    Signed-off-by: Piyush Mehta <piyush.mehta@xilinx.com>
    Link: https://lore.kernel.org/r/20210913140005.955699-1-piyush.mehta@xilinx.com
    Signed-off-by: Peter Chen <peter.chen@kernel.org>
    Piyush Mehta authored and Peter Chen committed Sep 14, 2021

Commits on Aug 21, 2021

  1. usb: chipidea: host: fix port index underflow and UBSAN complains

    If wIndex is 0 (and it often is), these calculations underflow and
    UBSAN complains, here resolve this by not decrementing the index when
    it is equal to 0, this copies the solution from commit 85e3990
    ("USB: EHCI: avoid undefined pointer arithmetic and placate UBSAN")
    
    Reported-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
    Signed-off-by: Li Jun <jun.li@nxp.com>
    Link: https://lore.kernel.org/r/1624004938-2399-1-git-send-email-jun.li@nxp.com
    Signed-off-by: Peter Chen <peter.chen@kernel.org>
    Li Jun authored and Peter Chen committed Aug 21, 2021

Commits on Aug 18, 2021

  1. USB: EHCI: Add alias for Broadcom INSNREG

    Refactor struct ehci_regs to avoid accessing beyond the end of
    port_status. This change results in no difference in the final
    object code.
    
    Avoids several warnings when building with -Warray-bounds:
    
    drivers/usb/host/ehci-brcm.c: In function 'ehci_brcm_reset':
    drivers/usb/host/ehci-brcm.c:113:32: warning: array subscript 16 is above array bounds of 'u32[15]' {aka 'unsigned int[15]'} [-Warray-bounds]
      113 |  ehci_writel(ehci, 0x00800040, &ehci->regs->port_status[0x10]);
          |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from drivers/usb/host/ehci.h:274,
                     from drivers/usb/host/ehci-brcm.c:15:
    ./include/linux/usb/ehci_def.h:132:7: note: while referencing 'port_status'
      132 |   u32 port_status[HCS_N_PORTS_MAX];
          |       ^~~~~~~~~~~
    
    Note that the documentation around this proprietary register was
    confusing. If "USB_EHCI_INSNREG00" is at port_status[0x0f], its offset
    would be 0x80 (not 0x90). The comments have been adjusted to fix this
    apparent typo.
    
    Fixes: 9df2315 ("usb: ehci: Add new EHCI driver for Broadcom STB SoC's")
    Cc: Al Cooper <alcooperx@gmail.com>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: linux-usb@vger.kernel.org
    Cc: bcm-kernel-feedback-list@broadcom.com
    Suggested-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Link: https://lore.kernel.org/r/20210818173018.2259231-3-keescook@chromium.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    kees authored and gregkh committed Aug 18, 2021
  2. USB: EHCI: Add register array bounds to HCS ports

    The original EHCI register struct used a trailing 0-element array for
    addressing the N_PORTS-many available registers. However, after commit
    a46af4e ("USB: EHCI: define extension registers like normal ones")
    the 0-element array started to overlap the USBMODE extension register.
    
    To avoid future compile-time warnings about accessing indexes within a
    0-element array, rearrange the struct to actually describe the expected
    layout (max 15 registers) with a union. All offsets remain the same, and
    bounds checking becomes possible on accesses to port_status and hostpc.
    
    There are no binary differences, and struct offsets continue to match.
    "pahole --hex -C ehci_regs" before:
    
    struct ehci_regs {
    	u32                        command;              /*     0   0x4 */
    	u32                        status;               /*   0x4   0x4 */
    	u32                        intr_enable;          /*   0x8   0x4 */
    	u32                        frame_index;          /*   0xc   0x4 */
    	u32                        segment;              /*  0x10   0x4 */
    	u32                        frame_list;           /*  0x14   0x4 */
    	u32                        async_next;           /*  0x18   0x4 */
    	u32                        reserved1[2];         /*  0x1c   0x8 */
    	u32                        txfill_tuning;        /*  0x24   0x4 */
    	u32                        reserved2[6];         /*  0x28  0x18 */
    	/* --- cacheline 1 boundary (64 bytes) --- */
    	u32                        configured_flag;      /*  0x40   0x4 */
    	u32                        port_status[0];       /*  0x44     0 */
    	u32                        reserved3[9];         /*  0x44  0x24 */
    	u32                        usbmode;              /*  0x68   0x4 */
    	u32                        reserved4[6];         /*  0x6c  0x18 */
    	/* --- cacheline 2 boundary (128 bytes) was 4 bytes ago --- */
    	u32                        hostpc[0];            /*  0x84     0 */
    	u32                        reserved5[17];        /*  0x84  0x44 */
    	/* --- cacheline 3 boundary (192 bytes) was 8 bytes ago --- */
    	u32                        usbmode_ex;           /*  0xc8   0x4 */
    
    	/* size: 204, cachelines: 4, members: 18 */
    	/* last cacheline: 12 bytes */
    };
    
    after:
    
    struct ehci_regs {
    	u32                        command;              /*     0   0x4 */
    	u32                        status;               /*   0x4   0x4 */
    	u32                        intr_enable;          /*   0x8   0x4 */
    	u32                        frame_index;          /*   0xc   0x4 */
    	u32                        segment;              /*  0x10   0x4 */
    	u32                        frame_list;           /*  0x14   0x4 */
    	u32                        async_next;           /*  0x18   0x4 */
    	u32                        reserved1[2];         /*  0x1c   0x8 */
    	u32                        txfill_tuning;        /*  0x24   0x4 */
    	u32                        reserved2[6];         /*  0x28  0x18 */
    	/* --- cacheline 1 boundary (64 bytes) --- */
    	u32                        configured_flag;      /*  0x40   0x4 */
    	union {
    		u32                port_status[15];      /*  0x44  0x3c */
    		struct {
    			u32        reserved3[9];         /*  0x44  0x24 */
    			u32        usbmode;              /*  0x68   0x4 */
    		};                                       /*  0x44  0x28 */
    	};                                               /*  0x44  0x3c */
    	/* --- cacheline 2 boundary (128 bytes) --- */
    	u32                        reserved4;            /*  0x80   0x4 */
    	u32                        hostpc[15];           /*  0x84  0x3c */
    	/* --- cacheline 3 boundary (192 bytes) --- */
    	u32                        reserved5[2];         /*  0xc0   0x8 */
    	u32                        usbmode_ex;           /*  0xc8   0x4 */
    
    	/* size: 204, cachelines: 4, members: 16 */
    	/* last cacheline: 12 bytes */
    };
    
    With this fixed, adding -Wzero-length-bounds to the build no longer
    produces several warnings like this:
    
    In file included from drivers/usb/host/ehci-hcd.c:306:
    drivers/usb/host/ehci-hub.c: In function 'ehci_port_handed_over':
    drivers/usb/host/ehci-hub.c:1194:8: warning: array subscript '<unknown>' is outside the bounds of an interior zero-length array 'u32[0]' {aka 'unsigned int[]'} [-Wzero-length-bounds]
     1194 |  reg = &ehci->regs->port_status[portnum - 1];
          |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from drivers/usb/host/ehci.h:274,
                     from drivers/usb/host/ehci-hcd.c:97:
    ./include/linux/usb/ehci_def.h:130:7: note: while referencing 'port_status'
      130 |  u32  port_status[0]; /* up to N_PORTS */
          |       ^~~~~~~~~~~
    
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Al Cooper <alcooperx@gmail.com>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Cc: linux-usb@vger.kernel.org
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Link: https://lore.kernel.org/r/20210818173018.2259231-2-keescook@chromium.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    kees authored and gregkh committed Aug 18, 2021
  3. usb: gadget: mv_u3d: request_irq() after initializing UDC

    If IRQ occurs between calling  request_irq() and  mv_u3d_eps_init(),
    then null pointer dereference occurs since u3d->eps[] wasn't
    initialized yet but used in mv_u3d_nuke().
    
    The patch puts registration of the interrupt handler after
    initializing of neccesery data.
    
    Found by Linux Driver Verification project (linuxtesting.org).
    
    Fixes: 90fccb5 ("usb: gadget: Gadget directory cleanup - group UDC drivers")
    Acked-by: Felipe Balbi <balbi@kernel.org>
    Signed-off-by: Nadezda Lutovinova <lutovinova@ispras.ru>
    Link: https://lore.kernel.org/r/20210818141247.4794-1-lutovinova@ispras.ru
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Nadezda Lutovinova authored and gregkh committed Aug 18, 2021
  4. usb: gadget: f_uac1: fixing inconsistent indenting

    Fixing inconsistent indenting identified by kernel test
    robot.
    
    Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com>
    Acked-By: Felipe Balbi <balbi@kernel.org>
    Link: https://lore.kernel.org/r/20210817100555.4437-1-pavel.hofman@ivitera.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    pavhofman authored and gregkh committed Aug 18, 2021
  5. usb: remove reference to deleted config STB03xxx

    Commit 7583b63 ("powerpc/40x: Remove STB03xxx") removes the config
    STB03xxx, but left a reference in ./drivers/usb/Kconfig behind.
    
    Hence, ./scripts/checkkconfigsymbols.py warns:
    
    STB03xxx
    Referencing files: drivers/usb/Kconfig
    
    Remove this reference to the deleted config.
    
    Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
    Link: https://lore.kernel.org/r/20210818071137.22711-4-lukas.bulwahn@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    bulwahn authored and gregkh committed Aug 18, 2021
  6. usb: host: remove line for obsolete config USB_HWA_HCD

    Commit 71ed79b ("USB: Move wusbcore and UWB to staging as it is
    obsolete") misses to adjust some part in ./drivers/usb/host/Makefile.
    
    Hence, ./scripts/checkkconfigsymbols.py warns:
    
    USB_HWA_HCD
    Referencing files: drivers/usb/Makefile
    
    Remove the missing piece of this code removal.
    
    Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
    Link: https://lore.kernel.org/r/20210818071137.22711-3-lukas.bulwahn@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    bulwahn authored and gregkh committed Aug 18, 2021
  7. usb: host: remove dead EHCI support for on-chip PMC MSP71xx USB contr…

    …oller
    
    Commit 1b00767 ("MIPS: Remove PMC MSP71xx platform") deletes
    ./arch/mips/pmcs-msp71xx/Kconfig, including its config  MSP_HAS_USB.
    
    Hence, since then, the corresponding EHCI support for on-chip PMC MSP71xx
    USB controller is dead code. Remove this dead driver.
    
    Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
    Link: https://lore.kernel.org/r/20210818071137.22711-2-lukas.bulwahn@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    bulwahn authored and gregkh committed Aug 18, 2021
  8. usb: dwc3: Decouple USB 2.0 L1 & L2 events

    On DWC_usb3 revisions 3.00a and newer (including DWC_usb31 and
    DWC_usb32) the GUCTL1 register gained the DEV_DECOUPLE_L1L2_EVT
    field (bit 31) which when enabled allows the controller in device
    mode to treat USB 2.0 L1 LPM & L2 events separately.
    
    After commit d1d90dd ("usb: dwc3: gadget: Enable suspend
    events") the controller will now receive events (and therefore
    interrupts) for every state change when entering/exiting either
    L1 or L2 states.  Since L1 is handled entirely by the hardware
    and requires no software intervention, there is no need to even
    enable these events and unnecessarily notify the gadget driver.
    Enable the aforementioned bit to help reduce the overall interrupt
    count for these L1 events that don't need to be handled while
    retaining the events for full L2 suspend/wakeup.
    
    Tested-by: Jun Li <jun.li@nxp.com>
    Tested-by: Amit Pundir <amit.pundir@linaro.org> # for RB5 (sm8250)
    Tested-by: John Stultz <john.stultz@linaro.org> # for HiKey960 & db845c
    Reviewed-by: Jun Li <jun.li@nxp.com>
    Acked-by: Felipe Balbi <balbi@kernel.org>
    Signed-off-by: Jack Pham <jackp@codeaurora.org>
    Link: https://lore.kernel.org/r/20210812082635.12924-1-jackp@codeaurora.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Jack Pham authored and gregkh committed Aug 18, 2021

Commits on Aug 16, 2021

  1. usb: phy: tahvo: add IRQ check

    The driver neglects to check the result of platform_get_irq()'s call and
    blithely passes the negative error codes to request_threaded_irq() (which
    takes *unsigned* IRQ #), causing it to fail with -EINVAL, overriding an
    original error code.  Stop calling request_threaded_irq() with the invalid
    IRQ #s.
    
    Fixes: 9ba96ae ("usb: omap1: Tahvo USB transceiver driver")
    Acked-by: Felipe Balbi <balbi@kernel.org>
    Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
    Link: https://lore.kernel.org/r/8280d6a4-8e9a-7cfe-1aa9-db586dc9afdf@omp.ru
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Sergey Shtylyov authored and gregkh committed Aug 16, 2021
  2. usb: host: ohci-tmio: add IRQ check

    The driver neglects to check the  result of platform_get_irq()'s call and
    blithely passes the negative error codes to usb_add_hcd() (which takes
    *unsigned* IRQ #), causing request_irq() that it calls to fail with
    -EINVAL, overriding an original error code. Stop calling usb_add_hcd()
    with the invalid IRQ #s.
    
    Fixes: 78c7341 ("USB: ohci: add support for tmio-ohci cell")
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
    Link: https://lore.kernel.org/r/402e1a45-a0a4-0e08-566a-7ca1331506b1@omp.ru
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Sergey Shtylyov authored and gregkh committed Aug 16, 2021
  3. dt-bindings: usb: mtk-musb: add MT7623 compatible

    Document MT7623 compatible for mtk-musb.
    
    Signed-off-by: Sungbo Eo <mans0n@gorani.run>
    Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
    Acked-by: Rob Herring <robh@kernel.org>
    Link: https://lore.kernel.org/r/20210808123840.176738-2-mans0n@gorani.run
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    mans0n authored and gregkh committed Aug 16, 2021
  4. Merge 5.14-rc6 into usb-next

    We need the USB fix in here as well.
    
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    gregkh committed Aug 16, 2021

Commits on Aug 15, 2021

  1. Linux 5.14-rc6

    torvalds committed Aug 15, 2021
  2. Merge tag 'powerpc-5.14-5' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
    
     - Fix crashes coming out of nap on 32-bit Book3s (eg. powerbooks).
    
     - Fix critical and debug interrupts on BookE, seen as crashes when
       using ptrace.
    
     - Fix an oops when running an SMP kernel on a UP system.
    
     - Update pseries LPAR security flavor after partition migration.
    
     - Fix an oops when using kprobes on BookE.
    
     - Fix oops on 32-bit pmac by not calling do_IRQ() from
       timer_interrupt().
    
     - Fix softlockups on CPU hotplug into a CPU-less node with xive (P9).
    
    Thanks to Cédric Le Goater, Christophe Leroy, Finn Thain, Geetika
    Moolchandani, Laurent Dufour, Laurent Vivier, Nicholas Piggin, Pu Lehui,
    Radu Rendec, Srikar Dronamraju, and Stan Johnson.
    
    * tag 'powerpc-5.14-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      powerpc/xive: Do not skip CPU-less nodes when creating the IPIs
      powerpc/interrupt: Do not call single_step_exception() from other exceptions
      powerpc/interrupt: Fix OOPS by not calling do_IRQ() from timer_interrupt()
      powerpc/kprobes: Fix kprobe Oops happens in booke
      powerpc/pseries: Fix update of LPAR security flavor after LPM
      powerpc/smp: Fix OOPS in topology_init()
      powerpc/32: Fix critical and debug interrupts on BOOKE
      powerpc/32s: Fix napping restore in data storage interrupt (DSI)
    torvalds committed Aug 15, 2021
  3. Merge tag 'irq-urgent-2021-08-15' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tip/tip
    
    Pull irq fixes from Thomas Gleixner:
     "A set of fixes for PCI/MSI and x86 interrupt startup:
    
       - Mask all MSI-X entries when enabling MSI-X otherwise stale unmasked
         entries stay around e.g. when a crashkernel is booted.
    
       - Enforce masking of a MSI-X table entry when updating it, which
         mandatory according to speification
    
       - Ensure that writes to MSI[-X} tables are flushed.
    
       - Prevent invalid bits being set in the MSI mask register
    
       - Properly serialize modifications to the mask cache and the mask
         register for multi-MSI.
    
       - Cure the violation of the affinity setting rules on X86 during
         interrupt startup which can cause lost and stale interrupts. Move
         the initial affinity setting ahead of actualy enabling the
         interrupt.
    
       - Ensure that MSI interrupts are completely torn down before freeing
         them in the error handling case.
    
       - Prevent an array out of bounds access in the irq timings code"
    
    * tag 'irq-urgent-2021-08-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      driver core: Add missing kernel doc for device::msi_lock
      genirq/msi: Ensure deactivation on teardown
      genirq/timings: Prevent potential array overflow in __irq_timings_store()
      x86/msi: Force affinity setup before startup
      x86/ioapic: Force affinity setup before startup
      genirq: Provide IRQCHIP_AFFINITY_PRE_STARTUP
      PCI/MSI: Protect msi_desc::masked for multi-MSI
      PCI/MSI: Use msi_mask_irq() in pci_msi_shutdown()
      PCI/MSI: Correct misleading comments
      PCI/MSI: Do not set invalid bits in MSI mask
      PCI/MSI: Enforce MSI[X] entry updates to be visible
      PCI/MSI: Enforce that MSI-X table entry is masked for update
      PCI/MSI: Mask all unused MSI-X entries
      PCI/MSI: Enable and mask MSI-X early
    torvalds committed Aug 15, 2021
  4. Merge tag 'locking_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/…

    …scm/linux/kernel/git/tip/tip
    
    Pull locking fix from Borislav Petkov:
    
     - Fix a CONFIG symbol's spelling
    
    * tag 'locking_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      locking/rtmutex: Use the correct rtmutex debugging config option
    torvalds committed Aug 15, 2021
  5. Merge tag 'efi_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull EFI fixes from Borislav Petkov:
     "A batch of fixes for the arm64 stub image loader:
    
       - fix a logic bug that can make the random page allocator fail
         spuriously
    
       - force reallocation of the Image when it overlaps with firmware
         reserved memory regions
    
       - fix an oversight that defeated on optimization introduced earlier
         where images loaded at a suitable offset are never moved if booting
         without randomization
    
       - complain about images that were not loaded at the right offset by
         the firmware image loader"
    
    * tag 'efi_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      efi/libstub: arm64: Double check image alignment at entry
      efi/libstub: arm64: Warn when efi_random_alloc() fails
      efi/libstub: arm64: Relax 2M alignment again for relocatable kernels
      efi/libstub: arm64: Force Image reallocation if BSS was not reserved
      arm64: efi: kaslr: Fix occasional random alloc (and boot) failure
    torvalds committed Aug 15, 2021
  6. Merge tag 'x86_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull x86 fixes from Borislav Petkov:
     "Two fixes:
    
       - An objdump checker fix to ignore parenthesized strings in the
         objdump version
    
       - Fix resctrl default monitoring groups reporting when new subgroups
         get created"
    
    * tag 'x86_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/resctrl: Fix default monitoring groups reporting
      x86/tools: Fix objdump version check again
    torvalds committed Aug 15, 2021
  7. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull KVM fixes from Paolo Bonzini:
     "ARM:
    
       - Plug race between enabling MTE and creating vcpus
    
       - Fix off-by-one bug when checking whether an address range is RAM
    
      x86:
    
       - Fixes for the new MMU, especially a memory leak on hosts with <39
         physical address bits
    
       - Remove bogus EFER.NX checks on 32-bit non-PAE hosts
    
       - WAITPKG fix"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
      KVM: x86/mmu: Protect marking SPs unsync when using TDP MMU with spinlock
      KVM: x86/mmu: Don't step down in the TDP iterator when zapping all SPTEs
      KVM: x86/mmu: Don't leak non-leaf SPTEs when zapping all SPTEs
      KVM: nVMX: Use vmx_need_pf_intercept() when deciding if L0 wants a #PF
      kvm: vmx: Sync all matching EPTPs when injecting nested EPT fault
      KVM: x86: remove dead initialization
      KVM: x86: Allow guest to set EFER.NX=1 on non-PAE 32-bit kernels
      KVM: VMX: Use current VMCS to query WAITPKG support for MSR emulation
      KVM: arm64: Fix race when enabling KVM_ARM_CAP_MTE
      KVM: arm64: Fix off-by-one in range_is_memory
    torvalds committed Aug 15, 2021
  8. Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/jejb/scsi
    
    Pull SCSI fixes from James Bottomley:
     "Three minor fixes, all in drivers"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      scsi: mpt3sas: Fix incorrectly assigned error return and check
      scsi: storvsc: Log TEST_UNIT_READY errors as warnings
      scsi: lpfc: Move initialization of phba->poll_list earlier to avoid crash
    torvalds committed Aug 15, 2021
  9. Merge tag 'libnvdimm-fixes-5.14-rc6' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/nvdimm/nvdimm
    
    Pull libnvdimm fixes from Dan Williams:
     "A couple of fixes for long standing bugs, a warning fixup, and some
      miscellaneous dax cleanups.
    
      The bugs were recently found due to new platforms looking to use the
      ACPI NFIT "virtual" device definition, and new error injection
      capabilities to trigger error responses to label area requests. Ira's
      cleanups have been long pending, I neglected to send them earlier, and
      see no harm in including them now. This has all appeared in -next with
      no reported issues.
    
      Summary:
    
       - Fix support for NFIT "virtual" ranges (BIOS-defined memory disks)
    
       - Fix recovery from failed label storage areas on NVDIMM devices
    
       - Miscellaneous cleanups from Ira's investigation of
         dax_direct_access paths preparing for stray-write protection"
    
    * tag 'libnvdimm-fixes-5.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
      tools/testing/nvdimm: Fix missing 'fallthrough' warning
      libnvdimm/region: Fix label activation vs errors
      ACPI: NFIT: Fix support for virtual SPA ranges
      dax: Ensure errno is returned from dax_direct_access
      fs/dax: Clarify nr_pages to dax_direct_access()
      fs/fuse: Remove unneeded kaddr parameter
    torvalds committed Aug 15, 2021
  10. Merge tag 'usb-5.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/gregkh/usb
    
    Pull USB fix from Greg KH:
     "A single revert of a commit that caused problems in 5.14-rc5 for
      5.14-rc6. It has been in linux-next almost all week, and has resolved
      the issues that were reported on lots of different systems that were
      not the platform that the change was originally tested on (gotta love
      SoC cores used in multiple devices from multiple vendors...)"
    
    * tag 'usb-5.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
      Revert "usb: dwc3: gadget: Use list_replace_init() before traversing lists"
    torvalds committed Aug 15, 2021
  11. Merge tag 'staging-5.14-rc6' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/gregkh/staging
    
    Pull IIO driver fixes from Greg KH:
     "Here are some small IIO driver fixes for reported problems for
      5.14-rc6 (no staging driver fixes at the moment).
    
      All of them resolve reported issues and have been in linux-next all
      week with no reported problems. Full details are in the shortlog"
    
    * tag 'staging-5.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
      iio: adc: Fix incorrect exit of for-loop
      iio: humidity: hdc100x: Add margin to the conversion time
      dt-bindings: iio: st: Remove wrong items length check
      iio: accel: fxls8962af: fix i2c dependency
      iio: adis: set GPIO reset pin direction
      iio: adc: ti-ads7950: Ensure CS is deasserted after reading channels
      iio: accel: fxls8962af: fix potential use of uninitialized symbol
    torvalds committed Aug 15, 2021
  12. Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/wsa/linux
    
    Pull i2c fixes from Wolfram Sang:
     "One driver bugfix, a documentation bugfix, and an "uninitialized data"
      leak fix for the core"
    
    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
      Documentation: i2c: add i2c-sysfs into index
      i2c: dev: zero out array used for i2c reads from userspace
      i2c: iproc: fix race between client unreg and tasklet
    torvalds committed Aug 15, 2021

Commits on Aug 14, 2021

  1. Merge tag 'for-linus-5.14-rc6-tag' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/xen/tip
    
    Pull xen fixes from Juergen Gross:
     "A small cleanup patch and a fix of a rare race in the Xen evtchn
      driver"
    
    * tag 'for-linus-5.14-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
      xen/events: Fix race in set_evtchn_to_irq
      xen/events: remove redundant initialization of variable irq
    torvalds committed Aug 14, 2021
  2. Merge tag 'riscv-for-linus-5.14-rc6' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/riscv/linux
    
    Pull RISC-V fixes from Palmer Dabbelt:
    
     - avoid passing -mno-relax to compilers that don't support it
    
     - a comment fix
    
    * tag 'riscv-for-linus-5.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
      riscv: Fix comment regarding kernel mapping overlapping with IS_ERR_VALUE
      riscv: kexec: do not add '-mno-relax' flag if compiler doesn't support it
    torvalds committed Aug 14, 2021
  3. Merge tag 'configfs-5.14' of git://git.infradead.org/users/hch/configfs

    Pull configfs fix from Christoph Hellwig:
    
     - fix to revert to the historic write behavior (Bart Van Assche)
    
    * tag 'configfs-5.14' of git://git.infradead.org/users/hch/configfs:
      configfs: restore the kernel v5.13 text attribute write behavior
    torvalds committed Aug 14, 2021
  4. Merge branch 'akpm' (patches from Andrew)

    Merge misc fixes from Andrew Morton:
     "7 patches.
    
      Subsystems affected by this patch series: mm (kasan, mm/slub,
      mm/madvise, and memcg), and lib"
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
      lib: use PFN_PHYS() in devmem_is_allowed()
      mm/memcg: fix incorrect flushing of lruvec data in obj_stock
      mm/madvise: report SIGBUS as -EFAULT for MADV_POPULATE_(READ|WRITE)
      mm: slub: fix slub_debug disabling for list of slabs
      slub: fix kmalloc_pagealloc_invalid_free unit test
      kasan, slub: reset tag when printing address
      kasan, kmemleak: reset tags when scanning block
    torvalds committed Aug 14, 2021
  5. Merge tag '5.14-rc5-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6

    Pull cifs fixes from Steve French:
     "Four CIFS/SMB3 Fixes, all for stable, two relating to deferred close,
      and one for the 'modefromsid' mount option (when 'idsfromsid' not
      specified)"
    
    * tag '5.14-rc5-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
      cifs: Call close synchronously during unlink/rename/lease break.
      cifs: Handle race conditions during rename
      cifs: use the correct max-length for dentry_path_raw()
      cifs: create sd context must be a multiple of 8
    torvalds committed Aug 14, 2021
  6. Merge tag 'linux-kselftest-fixes-5.14-rc6' of git://git.kernel.org/pu…

    …b/scm/linux/kernel/git/shuah/linux-kselftest
    
    Pull Kselftest fix from Shuah Khan:
     "A single patch to sgx test to fix Q1 and Q2 calculation"
    
    * tag 'linux-kselftest-fixes-5.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
      selftests/sgx: Fix Q1 and Q2 calculation in sigstruct.c
    torvalds committed Aug 14, 2021
  7. lib: use PFN_PHYS() in devmem_is_allowed()

    The physical address may exceed 32 bits on 32-bit systems with more than
    32 bits of physcial address.  Use PFN_PHYS() in devmem_is_allowed(), or
    the physical address may overflow and be truncated.
    
    We found this bug when mapping a high addresses through devmem tool,
    when CONFIG_STRICT_DEVMEM is enabled on the ARM with ARM_LPAE and devmem
    is used to map a high address that is not in the iomem address range, an
    unexpected error indicating no permission is returned.
    
    This bug was initially introduced from v2.6.37, and the function was
    moved to lib in v5.11.
    
    Link: https://lkml.kernel.org/r/20210731025057.78825-1-wangliang101@huawei.com
    Fixes: 087aaff ("ARM: implement CONFIG_STRICT_DEVMEM by disabling access to RAM via /dev/mem")
    Fixes: 527701e ("lib: Add a generic version of devmem_is_allowed()")
    Signed-off-by: Liang Wang <wangliang101@huawei.com>
    Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
    Cc: Palmer Dabbelt <palmerdabbelt@google.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Liang Wang <wangliang101@huawei.com>
    Cc: Xiaoming Ni <nixiaoming@huawei.com>
    Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
    Cc: <stable@vger.kernel.org>	[2.6.37+]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Liang Wang authored and torvalds committed Aug 14, 2021
  8. mm/memcg: fix incorrect flushing of lruvec data in obj_stock

    When mod_objcg_state() is called with a pgdat that is different from
    that in the obj_stock, the old lruvec data cached in obj_stock are
    flushed out.  Unfortunately, they were flushed to the new pgdat and so
    the data go to the wrong node.  This will screw up the slab data
    reported in /sys/devices/system/node/node*/meminfo.
    
    Fix that by flushing the data to the cached pgdat instead.
    
    Link: https://lkml.kernel.org/r/20210802143834.30578-1-longman@redhat.com
    Fixes: 68ac5b3 ("mm/memcg: cache vmstat data in percpu memcg_stock_pcp")
    Signed-off-by: Waiman Long <longman@redhat.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Reviewed-by: Shakeel Butt <shakeelb@google.com>
    Acked-by: Roman Gushchin <guro@fb.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Pekka Enberg <penberg@kernel.org>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Muchun Song <songmuchun@bytedance.com>
    Cc: Alex Shi <alex.shi@linux.alibaba.com>
    Cc: Chris Down <chris@chrisdown.name>
    Cc: Yafang Shao <laoar.shao@gmail.com>
    Cc: Wei Yang <richard.weiyang@gmail.com>
    Cc: Masayoshi Mizuma <msys.mizuma@gmail.com>
    Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Waiman Long <longman@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Waiman Long authored and torvalds committed Aug 14, 2021
Older