Skip to content
Permalink
Fuad-Tabba/KVM…
Switch branches/tags

Commits on Aug 17, 2021

  1. KVM: arm64: Handle protected guests at 32 bits

    Protected KVM does not support protected AArch32 guests. However,
    it is possible for the guest to force run AArch32, potentially
    causing problems. Add an extra check so that if the hypervisor
    catches the guest doing that, it can prevent the guest from
    running again by resetting vcpu->arch.target and returning
    ARM_EXCEPTION_IL.
    
    If this were to happen, The VMM can try and fix it by re-
    initializing the vcpu with KVM_ARM_VCPU_INIT, however, this is
    likely not possible for protected VMs.
    
    Adapted from commit 22f5538 ("KVM: arm64: Handle Asymmetric
    AArch32 systems")
    
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  2. KVM: arm64: Trap access to pVM restricted features

    Trap accesses to restricted features for VMs running in protected
    mode.
    
    Access to feature registers are emulated, and only supported
    features are exposed to protected VMs.
    
    Accesses to restricted registers as well as restricted
    instructions are trapped, and an undefined exception is injected
    into the protected guests, i.e., with EC = 0x0 (unknown reason).
    This EC is the one used, according to the Arm Architecture
    Reference Manual, for unallocated or undefined system registers
    or instructions.
    
    Only affects the functionality of protected VMs. Otherwise,
    should not affect non-protected VMs when KVM is running in
    protected mode.
    
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  3. KVM: arm64: Move sanitized copies of CPU features

    Move the sanitized copies of the CPU feature registers to the
    recently created sys_regs.c. This consolidates all copies in a
    more relevant file.
    
    No functional change intended.
    
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  4. KVM: arm64: Add trap handlers for protected VMs

    Add trap handlers for protected VMs. These are mainly for Sys64
    and debug traps.
    
    No functional change intended as these are not hooked in yet to
    the guest exit handlers introduced earlier. So even when trapping
    is triggered, the exit handlers would let the host handle it, as
    before.
    
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  5. KVM: arm64: Guest exit handlers for nVHE hyp

    Add an array of pointers to handlers for various trap reasons in
    nVHE code.
    
    The current code selects how to fixup a guest on exit based on a
    series of if/else statements. Future patches will also require
    different handling for guest exists. Create an array of handlers
    to consolidate them.
    
    No functional change intended as the array isn't populated yet.
    
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  6. KVM: arm64: Add config register bit definitions

    Add hardware configuration register bit definitions for HCR_EL2
    and MDCR_EL2. Future patches toggle these hyp configuration
    register bits to trap on certain accesses.
    
    No functional change intended.
    
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  7. KVM: arm64: Add feature register flag definitions

    Add feature register flag definitions to clarify which features
    might be supported.
    
    Consolidate the various ID_AA64PFR0_ELx flags for all ELs.
    
    No functional change intended.
    
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  8. KVM: arm64: Track value of cptr_el2 in struct kvm_vcpu_arch

    Track the baseline guest value for cptr_el2 in struct
    kvm_vcpu_arch, similar to the other registers that control traps.
    Use this value when setting cptr_el2 for the guest.
    
    Currently this value is unchanged (CPTR_EL2_DEFAULT), but future
    patches will set trapping bits based on features supported for
    the guest.
    
    No functional change intended.
    
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  9. KVM: arm64: Keep mdcr_el2's value as set by __init_el2_debug

    __init_el2_debug configures mdcr_el2 at initialization based on,
    among other things, available hardware support. Trap deactivation
    doesn't check that, so keep the initial value.
    
    No functional change intended. However, the value of mdcr_el2
    might be different after deactivating traps than it was before
    this patch.
    
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  10. KVM: arm64: Restore mdcr_el2 from vcpu

    On deactivating traps, restore the value of mdcr_el2 from the
    newly created and preserved host value vcpu context, rather than
    directly reading the hardware register.
    
    Up until and including this patch the two values are the same,
    i.e., the hardware register and the vcpu one. A future patch will
    be changing the value of mdcr_el2 on activating traps, and this
    ensures that its value will be restored.
    
    No functional change intended.
    
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  11. KVM: arm64: Refactor sys_regs.h,c for nVHE reuse

    Refactor sys_regs.h and sys_regs.c to make it easier to reuse
    common code. It will be used in nVHE in a later patch.
    
    Note that the refactored code uses __inline_bsearch for find_reg
    instead of bsearch to avoid copying the bsearch code for nVHE.
    
    No functional change intended.
    
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  12. KVM: arm64: Fix names of config register fields

    Change the names of hcr_el2 register fields to match the Arm
    Architecture Reference Manual. Easier for cross-referencing and
    for grepping.
    
    Also, change the name of CPTR_EL2_RES1 to CPTR_NVHE_EL2_RES1,
    because res1 bits are different for VHE.
    
    No functional change intended.
    
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  13. KVM: arm64: MDCR_EL2 is a 64-bit register

    Fix the places in KVM that treat MDCR_EL2 as a 32-bit register.
    More recent features (e.g., FEAT_SPEv1p2) use bits above 31.
    
    No functional change intended.
    
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  14. KVM: arm64: Remove trailing whitespace in comment

    Remove trailing whitespace from comment in trap_dbgauthstatus_el1().
    
    No functional change intended.
    
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021
  15. KVM: arm64: placeholder to check if VM is protected

    Add a function to check whether a VM is protected (under pKVM).
    Since the creation of protected VMs isn't enabled yet, this is a
    placeholder that always returns false. The intention is for this
    to become a check for protected VMs in the future (see Will's RFC).
    
    No functional change intended.
    
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    
    Link: https://lore.kernel.org/kvmarm/20210603183347.1695-1-will@kernel.org/
    Fuad Tabba authored and intel-lab-lkp committed Aug 17, 2021

Commits on Aug 2, 2021

  1. Linux 5.14-rc4

    torvalds committed Aug 2, 2021

Commits on Aug 1, 2021

  1. Merge tag 'perf-tools-fixes-for-v5.14-2021-08-01' of git://git.kernel…

    ….org/pub/scm/linux/kernel/git/acme/linux
    
    Pull perf tools fixes from Arnaldo Carvalho de Melo:
    
     - Revert "perf map: Fix dso->nsinfo refcounting", this makes 'perf top'
       abort, uncovering a design flaw on how namespace information is kept.
       The fix for that is more than we can do right now, leave it for the
       next merge window.
    
     - Split --dump-raw-trace by AUX records for ARM's CoreSight, fixing up
       the decoding of some records.
    
     - Fix PMU alias matching.
    
    Thanks to James Clark and John Garry for these fixes.
    
    * tag 'perf-tools-fixes-for-v5.14-2021-08-01' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
      Revert "perf map: Fix dso->nsinfo refcounting"
      perf pmu: Fix alias matching
      perf cs-etm: Split --dump-raw-trace by AUX records
    torvalds committed Aug 1, 2021
  2. Merge tag 'powerpc-5.14-4' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
    
     - Don't use r30 in VDSO code, to avoid breaking existing Go lang
       programs.
    
     - Change an export symbol to allow non-GPL modules to use spinlocks
       again.
    
    Thanks to Paul Menzel, and Srikar Dronamraju.
    
    * tag 'powerpc-5.14-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      powerpc/vdso: Don't use r30 to avoid breaking Go lang
      powerpc/pseries: Fix regression while building external modules
    torvalds committed Aug 1, 2021
  3. Merge tag 'xfs-5.14-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/x…

    …fs-linux
    
    Pull xfs fixes from Darrick Wong:
     "This contains a bunch of bug fixes in XFS.
    
      Dave and I have been busy the last couple of weeks to find and fix as
      many log recovery bugs as we can find; here are the results so far. Go
      fstests -g recoveryloop! ;)
    
       - Fix a number of coordination bugs relating to cache flushes for
         metadata writeback, cache flushes for multi-buffer log writes, and
         FUA writes for single-buffer log writes
    
       - Fix a bug with incorrect replay of attr3 blocks
    
       - Fix unnecessary stalls when flushing logs to disk
    
       - Fix spoofing problems when recovering realtime bitmap blocks"
    
    * tag 'xfs-5.14-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
      xfs: prevent spoofing of rtbitmap blocks when recovering buffers
      xfs: limit iclog tail updates
      xfs: need to see iclog flags in tracing
      xfs: Enforce attr3 buffer recovery order
      xfs: logging the on disk inode LSN can make it go backwards
      xfs: avoid unnecessary waits in xfs_log_force_lsn()
      xfs: log forces imply data device cache flushes
      xfs: factor out forced iclog flushes
      xfs: fix ordering violation between cache flushes and tail updates
      xfs: fold __xlog_state_release_iclog into xlog_state_release_iclog
      xfs: external logs need to flush data device
      xfs: flush data dev on external log write
    torvalds committed Aug 1, 2021

Commits on Jul 31, 2021

  1. Merge tag '5.14-rc3-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6

    Pull cifs fixes from Steve French:
     "Three cifs/smb3 fixes, including two for stable, and a fix for an
      fallocate problem noticed by Clang"
    
    * tag '5.14-rc3-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
      cifs: add missing parsing of backupuid
      smb3: rc uninitialized in one fallocate path
      SMB3: fix readpage for large swap cache
    torvalds committed Jul 31, 2021

Commits on Jul 30, 2021

  1. Merge tag 'net-5.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/netdev/net
    
    Pull networking fixes from Jakub Kicinski:
     "Networking fixes for 5.14-rc4, including fixes from bpf, can, WiFi
      (mac80211) and netfilter trees.
    
      Current release - regressions:
    
       - mac80211: fix starting aggregation sessions on mesh interfaces
    
      Current release - new code bugs:
    
       - sctp: send pmtu probe only if packet loss in Search Complete state
    
       - bnxt_en: add missing periodic PHC overflow check
    
       - devlink: fix phys_port_name of virtual port and merge error
    
       - hns3: change the method of obtaining default ptp cycle
    
       - can: mcba_usb_start(): add missing urb->transfer_dma initialization
    
      Previous releases - regressions:
    
       - set true network header for ECN decapsulation
    
       - mlx5e: RX, avoid possible data corruption w/ relaxed ordering and
         LRO
    
       - phy: re-add check for PHY_BRCM_DIS_TXCRXC_NOENRGY on the BCM54811
         PHY
    
       - sctp: fix return value check in __sctp_rcv_asconf_lookup
    
      Previous releases - always broken:
    
       - bpf:
           - more spectre corner case fixes, introduce a BPF nospec
             instruction for mitigating Spectre v4
           - fix OOB read when printing XDP link fdinfo
           - sockmap: fix cleanup related races
    
       - mac80211: fix enabling 4-address mode on a sta vif after assoc
    
       - can:
           - raw: raw_setsockopt(): fix raw_rcv panic for sock UAF
           - j1939: j1939_session_deactivate(): clarify lifetime of session
             object, avoid UAF
           - fix number of identical memory leaks in USB drivers
    
       - tipc:
           - do not blindly write skb_shinfo frags when doing decryption
           - fix sleeping in tipc accept routine"
    
    * tag 'net-5.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (91 commits)
      gve: Update MAINTAINERS list
      can: esd_usb2: fix memory leak
      can: ems_usb: fix memory leak
      can: usb_8dev: fix memory leak
      can: mcba_usb_start(): add missing urb->transfer_dma initialization
      can: hi311x: fix a signedness bug in hi3110_cmd()
      MAINTAINERS: add Yasushi SHOJI as reviewer for the Microchip CAN BUS Analyzer Tool driver
      bpf: Fix leakage due to insufficient speculative store bypass mitigation
      bpf: Introduce BPF nospec instruction for mitigating Spectre v4
      sis900: Fix missing pci_disable_device() in probe and remove
      net: let flow have same hash in two directions
      nfc: nfcsim: fix use after free during module unload
      tulip: windbond-840: Fix missing pci_disable_device() in probe and remove
      sctp: fix return value check in __sctp_rcv_asconf_lookup
      nfc: s3fwrn5: fix undefined parameter values in dev_err()
      net/mlx5: Fix mlx5_vport_tbl_attr chain from u16 to u32
      net/mlx5e: Fix nullptr in mlx5e_hairpin_get_mdev()
      net/mlx5: Unload device upon firmware fatal error
      net/mlx5e: Fix page allocation failure for ptp-RQ over SF
      net/mlx5e: Fix page allocation failure for trap-RQ over SF
      ...
    torvalds committed Jul 30, 2021
  2. Merge tag 'acpi-5.14-rc4' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/rafael/linux-pm
    
    Pull ACPI fixes from Rafael Wysocki:
     "These revert a recent IRQ resources handling modification that turned
      out to be problematic, fix suspend-to-idle handling on AMD platforms
      to take upcoming systems into account properly and fix the retrieval
      of the DPTF attributes of the PCH FIVR.
    
      Specifics:
    
       - Revert recent change of the ACPI IRQ resources handling that
         attempted to improve the ACPI IRQ override selection logic, but
         introduced serious regressions on some systems (Hui Wang).
    
       - Fix up quirks for AMD platforms in the suspend-to-idle support code
         so as to take upcoming systems using uPEP HID AMDI007 into account
         as appropriate (Mario Limonciello).
    
       - Fix the code retrieving DPTF attributes of the PCH FIVR so that it
         agrees on the return data type with the ACPI control method
         evaluated for this purpose (Srinivas Pandruvada)"
    
    * tag 'acpi-5.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      ACPI: DPTF: Fix reading of attributes
      Revert "ACPI: resources: Add checks for ACPI IRQ override"
      ACPI: PM: Add support for upcoming AMD uPEP HID AMDI007
    torvalds committed Jul 30, 2021
  3. pipe: make pipe writes always wake up readers

    Since commit 1b6b26a ("pipe: fix and clarify pipe write wakeup
    logic") we have sanitized the pipe write logic, and would only try to
    wake up readers if they needed it.
    
    In particular, if the pipe already had data in it before the write,
    there was no point in trying to wake up a reader, since any existing
    readers must have been aware of the pre-existing data already.  Doing
    extraneous wakeups will only cause potential thundering herd problems.
    
    However, it turns out that some Android libraries have misused the EPOLL
    interface, and expected "edge triggered" be to "any new write will
    trigger it".  Even if there was no edge in sight.
    
    Quoting Sandeep Patil:
     "The commit 1b6b26a ('pipe: fix and clarify pipe write wakeup
      logic') changed pipe write logic to wakeup readers only if the pipe
      was empty at the time of write. However, there are libraries that
      relied upon the older behavior for notification scheme similar to
      what's described in [1]
    
      One such library 'realm-core'[2] is used by numerous Android
      applications. The library uses a similar notification mechanism as GNU
      Make but it never drains the pipe until it is full. When Android moved
      to v5.10 kernel, all applications using this library stopped working.
    
      The library has since been fixed[3] but it will be a while before all
      applications incorporate the updated library"
    
    Our regression rule for the kernel is that if applications break from
    new behavior, it's a regression, even if it was because the application
    did something patently wrong.  Also note the original report [4] by
    Michal Kerrisk about a test for this epoll behavior - but at that point
    we didn't know of any actual broken use case.
    
    So add the extraneous wakeup, to approximate the old behavior.
    
    [ I say "approximate", because the exact old behavior was to do a wakeup
      not for each write(), but for each pipe buffer chunk that was filled
      in. The behavior introduced by this change is not that - this is just
      "every write will cause a wakeup, whether necessary or not", which
      seems to be sufficient for the broken library use. ]
    
    It's worth noting that this adds the extraneous wakeup only for the
    write side, while the read side still considers the "edge" to be purely
    about reading enough from the pipe to allow further writes.
    
    See commit f467a6a ("pipe: fix and clarify pipe read wakeup logic")
    for the pipe read case, which remains that "only wake up if the pipe was
    full, and we read something from it".
    
    Link: https://lore.kernel.org/lkml/CAHk-=wjeG0q1vgzu4iJhW5juPkTsjTYmiqiMUYAebWW+0bam6w@mail.gmail.com/ [1]
    Link: https://github.com/realm/realm-core [2]
    Link: realm/realm-core#4666 [3]
    Link: https://lore.kernel.org/lkml/CAKgNAkjMBGeAwF=2MKK758BhxvW58wYTgYKB2V-gY1PwXxrH+Q@mail.gmail.com/ [4]
    Link: https://lore.kernel.org/lkml/20210729222635.2937453-1-sspatil@android.com/
    Reported-by: Sandeep Patil <sspatil@android.com>
    Cc: Michael Kerrisk <mtk.manpages@gmail.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Jul 30, 2021
  4. Revert "perf map: Fix dso->nsinfo refcounting"

    This makes 'perf top' abort in some cases, and the right fix will
    involve surgery that is too much to do at this stage, so revert for now
    and fix it in the next merge window.
    
    This reverts commit 2d6b74b.
    
    Cc: Riccardo Mancini <rickyman7@gmail.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Krister Johansen <kjlx@templeofstupid.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Arnaldo Carvalho de Melo committed Jul 30, 2021
  5. Merge branches 'acpi-resources' and 'acpi-dptf'

    * acpi-resources:
      Revert "ACPI: resources: Add checks for ACPI IRQ override"
    
    * acpi-dptf:
      ACPI: DPTF: Fix reading of attributes
    rafaeljw committed Jul 30, 2021
  6. Merge tag 'block-5.14-2021-07-30' of git://git.kernel.dk/linux-block

    Pull block fixes from Jens Axboe:
    
     - gendisk freeing fix (Christoph)
    
     - blk-iocost wake ordering fix (Tejun)
    
     - tag allocation error handling fix (John)
    
     - loop locking fix. While this isn't the prettiest fix in the world,
       nobody has any good alternatives for 5.14. Something to likely
       revisit for 5.15. (Tetsuo)
    
    * tag 'block-5.14-2021-07-30' of git://git.kernel.dk/linux-block:
      block: delay freeing the gendisk
      blk-iocost: fix operation ordering in iocg_wake_fn()
      blk-mq-sched: Fix blk_mq_sched_alloc_tags() error handling
      loop: reintroduce global lock for safe loop_validate_file() traversal
    torvalds committed Jul 30, 2021
  7. Merge tag 'io_uring-5.14-2021-07-30' of git://git.kernel.dk/linux-block

    Pull io_uring fixes from Jens Axboe:
    
     - A fix for block backed reissue (me)
    
     - Reissue context hardening (me)
    
     - Async link locking fix (Pavel)
    
    * tag 'io_uring-5.14-2021-07-30' of git://git.kernel.dk/linux-block:
      io_uring: fix poll requests leaking second poll entries
      io_uring: don't block level reissue off completion path
      io_uring: always reissue from task_work context
      io_uring: fix race in unified task_work running
      io_uring: fix io_prep_async_link locking
    torvalds committed Jul 30, 2021
  8. Merge tag 'libata-5.14-2021-07-30' of git://git.kernel.dk/linux-block

    Pull libata fixlets from Jens Axboe:
    
     - A fix for PIO highmem (Christoph)
    
     - Kill HAVE_IDE as it's now unused (Lukas)
    
    * tag 'libata-5.14-2021-07-30' of git://git.kernel.dk/linux-block:
      arch: Kconfig: clean up obsolete use of HAVE_IDE
      libata: fix ata_pio_sector for CONFIG_HIGHMEM
    torvalds committed Jul 30, 2021
  9. Merge tag 'for-5.14-rc3-tag' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/kdave/linux
    
    Pull btrfs fixes from David Sterba:
    
     - fix -Warray-bounds warning, to help external patchset to make it
       default treewide
    
     - fix writeable device accounting (syzbot report)
    
     - fix fsync and log replay after a rename and inode eviction
    
     - fix potentially lost error code when submitting multiple bios for
       compressed range
    
    * tag 'for-5.14-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
      btrfs: calculate number of eb pages properly in csum_tree_block
      btrfs: fix rw device counting in __btrfs_free_extra_devids
      btrfs: fix lost inode on log replay after mix of fsync, rename and inode eviction
      btrfs: mark compressed range uptodate only if all bio succeed
    torvalds committed Jul 30, 2021
  10. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/hid/hid
    
    Pull HID fixes from Jiri Kosina:
    
     - resume timing fix for intel-ish driver (Ye Xiang)
    
     - fix for using incorrect MMIO register in amd_sfh driver (Dylan
       MacKenzie)
    
     - Cintiq 24HDT / 27QHDT regression fix and touch processing fix for
       Wacom driver (Jason Gerecke)
    
     - device removal bugfix for ft260 driver (Michael Zaidman)
    
     - other small assorted fixes
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
      HID: ft260: fix device removal due to USB disconnect
      HID: wacom: Skip processing of touches with negative slot values
      HID: wacom: Re-enable touch by default for Cintiq 24HDT / 27QHDT
      HID: Kconfig: Fix spelling mistake "Uninterruptable" -> "Uninterruptible"
      HID: apple: Add support for Keychron K1 wireless keyboard
      HID: fix typo in Kconfig
      HID: ft260: fix format type warning in ft260_word_show()
      HID: amd_sfh: Use correct MMIO register for DMA address
      HID: asus: Remove check for same LED brightness on set
      HID: intel-ish-hid: use async resume function
    torvalds committed Jul 30, 2021
  11. Merge branch 'akpm' (patches from Andrew)

    Merge misc fixes from Andrew Morton:
     "7 patches.
    
      Subsystems affected by this patch series: lib, ocfs2, and mm (slub,
      migration, and memcg)"
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
      mm/memcg: fix NULL pointer dereference in memcg_slab_free_hook()
      slub: fix unreclaimable slab stat for bulk free
      mm/migrate: fix NR_ISOLATED corruption on 64-bit
      mm: memcontrol: fix blocking rstat function called from atomic cgroup1 thresholding code
      ocfs2: issue zeroout to EOF blocks
      ocfs2: fix zero out valid data
      lib/test_string.c: move string selftest in the Runtime Testing menu
    torvalds committed Jul 30, 2021
  12. Merge tag 'linux-can-fixes-for-5.14-20210730' of git://git.kernel.org…

    …/pub/scm/linux/kernel/git/mkl/linux-can
    
    Marc Kleine-Budde says:
    
    ====================
    pull-request: can 2021-07-30
    
    The first patch is by me and adds Yasushi SHOJI as a reviewer for the
    Microchip CAN BUS Analyzer Tool driver.
    
    Dan Carpenter's patch fixes a signedness bug in the hi311x driver.
    
    Pavel Skripkin provides 4 patches, the first targets the mcba_usb
    driver by adding the missing urb->transfer_dma initialization, which
    was broken in a previous commit. The last 3 patches fix a memory leak
    in the usb_8dev, ems_usb and esd_usb2 driver.
    
    * tag 'linux-can-fixes-for-5.14-20210730' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can:
      can: esd_usb2: fix memory leak
      can: ems_usb: fix memory leak
      can: usb_8dev: fix memory leak
      can: mcba_usb_start(): add missing urb->transfer_dma initialization
      can: hi311x: fix a signedness bug in hi3110_cmd()
      MAINTAINERS: add Yasushi SHOJI as reviewer for the Microchip CAN BUS Analyzer Tool driver
    ====================
    
    Link: https://lore.kernel.org/r/20210730070526.1699867-1-mkl@pengutronix.de
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Jul 30, 2021
  13. mm/memcg: fix NULL pointer dereference in memcg_slab_free_hook()

    When I use kfree_rcu() to free a large memory allocated by kmalloc_node(),
    the following dump occurs.
    
      BUG: kernel NULL pointer dereference, address: 0000000000000020
      [...]
      Oops: 0000 [#1] SMP
      [...]
      Workqueue: events kfree_rcu_work
      RIP: 0010:__obj_to_index include/linux/slub_def.h:182 [inline]
      RIP: 0010:obj_to_index include/linux/slub_def.h:191 [inline]
      RIP: 0010:memcg_slab_free_hook+0x120/0x260 mm/slab.h:363
      [...]
      Call Trace:
        kmem_cache_free_bulk+0x58/0x630 mm/slub.c:3293
        kfree_bulk include/linux/slab.h:413 [inline]
        kfree_rcu_work+0x1ab/0x200 kernel/rcu/tree.c:3300
        process_one_work+0x207/0x530 kernel/workqueue.c:2276
        worker_thread+0x320/0x610 kernel/workqueue.c:2422
        kthread+0x13d/0x160 kernel/kthread.c:313
        ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294
    
    When kmalloc_node() a large memory, page is allocated, not slab, so when
    freeing memory via kfree_rcu(), this large memory should not be used by
    memcg_slab_free_hook(), because memcg_slab_free_hook() is is used for
    slab.
    
    Using page_objcgs_check() instead of page_objcgs() in
    memcg_slab_free_hook() to fix this bug.
    
    Link: https://lkml.kernel.org/r/20210728145655.274476-1-wanghai38@huawei.com
    Fixes: 270c6a7 ("mm: memcontrol/slab: Use helpers to access slab page's memcg_data")
    Signed-off-by: Wang Hai <wanghai38@huawei.com>
    Reviewed-by: Shakeel Butt <shakeelb@google.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Acked-by: Roman Gushchin <guro@fb.com>
    Reviewed-by: Kefeng Wang <wangkefeng.wang@huawei.com>
    Reviewed-by: Muchun Song <songmuchun@bytedance.com>
    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: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Wang Hai authored and torvalds committed Jul 30, 2021
  14. slub: fix unreclaimable slab stat for bulk free

    SLUB uses page allocator for higher order allocations and update
    unreclaimable slab stat for such allocations.  At the moment, the bulk
    free for SLUB does not share code with normal free code path for these
    type of allocations and have missed the stat update.  So, fix the stat
    update by common code.  The user visible impact of the bug is the
    potential of inconsistent unreclaimable slab stat visible through
    meminfo and vmstat.
    
    Link: https://lkml.kernel.org/r/20210728155354.3440560-1-shakeelb@google.com
    Fixes: 6a486c0 ("mm, sl[ou]b: improve memory accounting")
    Signed-off-by: Shakeel Butt <shakeelb@google.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Acked-by: Roman Gushchin <guro@fb.com>
    Reviewed-by: Muchun Song <songmuchun@bytedance.com>
    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>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    shakeelb authored and torvalds committed Jul 30, 2021
  15. mm/migrate: fix NR_ISOLATED corruption on 64-bit

    Similar to commit 2da9f63 ("mm/vmscan: fix NR_ISOLATED_FILE
    corruption on 64-bit") avoid using unsigned int for nr_pages.  With
    unsigned int type the large unsigned int converts to a large positive
    signed long.
    
    Symptoms include CMA allocations hanging forever due to
    alloc_contig_range->...->isolate_migratepages_block waiting forever in
    "while (unlikely(too_many_isolated(pgdat)))".
    
    Link: https://lkml.kernel.org/r/20210728042531.359409-1-aneesh.kumar@linux.ibm.com
    Fixes: c5fc5c3 ("mm: migrate: account THP NUMA migration counters correctly")
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Reported-by: Michael Ellerman <mpe@ellerman.id.au>
    Reported-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Reviewed-by: Yang Shi <shy828301@gmail.com>
    Cc: Mel Gorman <mgorman@suse.de>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: David Hildenbrand <david@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    kvaneesh authored and torvalds committed Jul 30, 2021
Older