22 Feb, 2021

40 commits

  • blk_fill_rwbs() is an expoted function, add kernel style documentation
    comment.

    Signed-off-by: Chaitanya Kulkarni
    Reviewed-by: Johannes Thumshirn
    Reviewed-by: Damien Le Moal
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Chaitanya Kulkarni
     
  • The last parameter for the function blk_fill_rwbs() was added in
    5782138e47 ("tracing/events: convert block trace points to
    TRACE_EVENT()") in order to signal read request and use of that parameter
    was replaced with using switch case REQ_OP_READ with
    1b9a9ab78b0 ("blktrace: use op accessors"), but the parameter was never
    removed.

    Remove the unused parameter and adjust the respective call sites.

    Fixes: 1b9a9ab78b0 ("blktrace: use op accessors")
    Signed-off-by: Chaitanya Kulkarni
    Reviewed-by: Johannes Thumshirn
    Reviewed-by: Damien Le Moal
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Chaitanya Kulkarni
     
  • Commit a1ce35fa4985 ("block: remove dead elevator code") removed the last
    callers of blk_pm_requeue_request(), blk_pm_add_request() and
    blk_pm_put_request(). Hence remove the definitions of these functions.
    Removing these functions removes all users of the struct request nr_pending
    member. Hence also remove 'nr_pending'. Note: 'nr_pending' is no longer
    used since commit 7cedffec8e75 ("block: Make blk_get_request() block for
    non-PM requests while suspended").

    Cc: Alan Stern
    Cc: Christoph Hellwig
    Signed-off-by: Bart Van Assche
    Reviewed-by: Chaitanya Kulkarni
    Signed-off-by: Jens Axboe

    Bart Van Assche
     
  • Pull crypto update from Herbert Xu:
    "API:
    - Restrict crypto_cipher to internal API users only.

    Algorithms:
    - Add x86 aesni acceleration for cts.
    - Improve x86 aesni acceleration for xts.
    - Remove x86 acceleration of some uncommon algorithms.
    - Remove RIPE-MD, Tiger and Salsa20.
    - Remove tnepres.
    - Add ARM acceleration for BLAKE2s and BLAKE2b.

    Drivers:
    - Add Keem Bay OCS HCU driver.
    - Add Marvell OcteonTX2 CPT PF driver.
    - Remove PicoXcell driver.
    - Remove mediatek driver"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (154 commits)
    hwrng: timeriomem - Use device-managed registration API
    crypto: hisilicon/qm - fix printing format issue
    crypto: hisilicon/qm - do not reset hardware when CE happens
    crypto: hisilicon/qm - update irqflag
    crypto: hisilicon/qm - fix the value of 'QM_SQC_VFT_BASE_MASK_V2'
    crypto: hisilicon/qm - fix request missing error
    crypto: hisilicon/qm - removing driver after reset
    crypto: octeontx2 - fix -Wpointer-bool-conversion warning
    crypto: hisilicon/hpre - enable Elliptic curve cryptography
    crypto: hisilicon - PASID fixed on Kunpeng 930
    crypto: hisilicon/qm - fix use of 'dma_map_single'
    crypto: hisilicon/hpre - tiny fix
    crypto: hisilicon/hpre - adapt the number of clusters
    crypto: cpt - remove casting dma_alloc_coherent
    crypto: keembay-ocs-aes - Fix 'q' assignment during CCM B0 generation
    crypto: xor - Fix typo of optimization
    hwrng: optee - Use device-managed registration API
    crypto: arm64/crc-t10dif - move NEON yield to C code
    crypto: arm64/aes-ce-mac - simplify NEON yield
    crypto: arm64/aes-neonbs - remove NEON yield calls
    ...

    Linus Torvalds
     
  • …/git/jarkko/linux-tpmdd

    Pull tpm updates from Jarkko Sakkinen:
    "New features:

    - Cr50 I2C TPM driver

    - sysfs exports of PCR registers in TPM 2.0 chips

    Bug fixes:

    - bug fixes for tpm_tis driver, which had a racy wait for hardware
    state change to be ready to send a command to the TPM chip. The bug
    has existed already since 2006, but has only made itself known in
    recent past. This is the same as the "last time" :-)

    - Otherwise there's bunch of fixes for not as alarming regressions. I
    think the list is about the same as last time, except I added fixes
    for some disjoint bugs in trusted keys that I found some time ago"

    * tag 'tpmdd-next-v5.12-rc1-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
    KEYS: trusted: Reserve TPM for seal and unseal operations
    KEYS: trusted: Fix migratable=1 failing
    KEYS: trusted: Fix incorrect handling of tpm_get_random()
    tpm/ppi: Constify static struct attribute_group
    ABI: add sysfs description for tpm exports of PCR registers
    tpm: add sysfs exports for all banks of PCR registers
    keys: Update comment for restrict_link_by_key_or_keyring_chain
    tpm: Remove tpm_dev_wq_lock
    char: tpm: add i2c driver for cr50
    tpm: Fix fall-through warnings for Clang
    tpm_tis: Clean up locality release
    tpm_tis: Fix check_locality for correct locality acquisition

    Linus Torvalds
     
  • Pull seccomp updates from Kees Cook:
    "Two small seccomp updates.

    This contains a fix for a build failure that went unnoticed for many
    years, and a memory barrier correction:

    - Fix a non-FILTER build failure for some architectures (Paul
    Cercueil)

    - Improve performance with correct memory barrier (wanghongzhe)"

    * tag 'seccomp-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    seccomp: Improve performace by optimizing rmb()
    seccomp: Add missing return in non-void function

    Linus Torvalds
     
  • Pull smack updates from Casey Schaufler:
    "Bounds checking for writes to smackfs interfaces"

    * tag 'Smack-for-v5.12' of git://github.com/cschaufler/smack-next:
    smackfs: restrict bytes count in smackfs write functions

    Linus Torvalds
     
  • Pull IMA updates from Mimi Zohar:
    "New is IMA support for measuring kernel critical data, as per usual
    based on policy. The first example measures the in memory SELinux
    policy. The second example measures the kernel version.

    In addition are four bug fixes to address memory leaks and a missing
    'static' function declaration"

    * tag 'integrity-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
    integrity: Make function integrity_add_key() static
    ima: Free IMA measurement buffer after kexec syscall
    ima: Free IMA measurement buffer on error
    IMA: Measure kernel version in early boot
    selinux: include a consumer of the new IMA critical data hook
    IMA: define a builtin critical data measurement policy
    IMA: extend critical data hook to limit the measurement based on a label
    IMA: limit critical data measurement based on a label
    IMA: add policy rule to measure critical data
    IMA: define a hook to measure kernel integrity critical data
    IMA: add support to measure buffer data hash
    IMA: generalize keyring specific measurement constructs
    evm: Fix memleak in init_desc

    Linus Torvalds
     
  • Pull audit updates from Paul Moore:
    "Three very trivial patches for audit this time"

    * tag 'audit-pr-20210215' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
    audit: Make audit_filter_syscall() return void
    audit: Remove leftover reference to the audit_tasklet
    kernel/audit: convert comma to semicolon

    Linus Torvalds
     
  • Pull selinux updates from Paul Moore:
    "We've got a good handful of patches for SELinux this time around; with
    everything passing the selinux-testsuite and applying cleanly to your
    tree as of a few minutes ago. The highlights are:

    - Add support for labeling anonymous inodes, and extend this new
    support to userfaultfd.

    - Fallback to SELinux genfs file labeling if the filesystem does not
    have xattr support. This is useful for virtiofs which can vary in
    its xattr support depending on the backing filesystem.

    - Classify and handle MPTCP the same as TCP in SELinux.

    - Ensure consistent behavior between inode_getxattr and
    inode_listsecurity when the SELinux policy is not loaded. This
    fixes a known problem with overlayfs.

    - A couple of patches to prune some unused variables from the SELinux
    code, mark private variables as static, and mark other variables as
    __ro_after_init or __read_mostly"

    * tag 'selinux-pr-20210215' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
    fs: anon_inodes: rephrase to appropriate kernel-doc
    userfaultfd: use secure anon inodes for userfaultfd
    selinux: teach SELinux about anonymous inodes
    fs: add LSM-supporting anon-inode interface
    security: add inode_init_security_anon() LSM hook
    selinux: fall back to SECURITY_FS_USE_GENFS if no xattr support
    selinux: mark selinux_xfrm_refcount as __read_mostly
    selinux: mark some global variables __ro_after_init
    selinux: make selinuxfs_mount static
    selinux: drop the unnecessary aurule_callback variable
    selinux: remove unused global variables
    selinux: fix inconsistency between inode_getxattr and inode_listsecurity
    selinux: handle MPTCP consistently with TCP

    Linus Torvalds
     
  • Pull tomoyo updates from Tetsuo Handa:
    "Detect kernel thread correctly, and ignore harmless data race"

    * tag 'tomoyo-pr-20210215' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1:
    tomoyo: recognize kernel threads correctly
    tomoyo: ignore data race while checking quota

    Linus Torvalds
     
  • Pull drm updates from Dave Airlie:
    "A pretty normal tree, lots of refactoring across the board, ttm, i915,
    nouveau, and bunch of features in various drivers.

    docs:
    - lots of updated docs

    core:
    - require crtc to have unique primary plane
    - fourcc macro fix
    - PCI bar quirk for bar resizing
    - don't sent hotplug on error
    - move vm code to legacy
    - nuke hose only used on old oboslete alpha

    dma-buf:
    - kernel doc updates
    - improved lock tracking

    dp/hdmi:
    - DP-HDMI2.1 protocol converter support

    ttm:
    - bo size handling cleanup
    - release a pinned bo warning
    - cleanup lru handler
    - avoid using pages with drm_prime_sg_to_page_addr_arrays

    cma-helper:
    - prime/mmap fixes

    bridge:
    - add DP support

    gma500:
    - remove gma3600 support

    i915:
    - try eDP fast/narrow link again with fallback
    - Intel eDP backlight control
    - replace display register read/write macros
    - refactor intel_display.c
    - display power improvements
    - HPD code cleanup
    - Rocketlake display fixes
    - Power/backlight/RPM fixes
    - DG1 display fix
    - IVB/BYT clear residuals security fix again
    - make i915 mitigations options via parameter
    - HSW GT1 GPU hangs fixes
    - DG1 workaround hang fixes
    - TGL DMAR hang avoidance
    - Lots of GT fixes
    - follow on fixes for residuals clear
    - gen7 per-engine-reset support
    - HDCP2.2 + HDCP1.4 GEN12 DP MST support
    - TGL clear color support
    - backlight refactoring
    - VRR/Adaptive sync enabling on DP/EDP for TGL+
    - async flips for all ilk+

    amdgpu:
    - rework IH ring handling (Vega/Navi)
    - rework HDP handling (Vega/Navi)
    - swSMU updates for renoir/vangogh
    - Sienna Cichild overdrive support
    - FP16 on DCE8-11 support
    - GPU reset on navy flounder/vangogh
    - SMU profile fixes for APU
    - SR-IOV fixes
    - Vangogh SMU fixes
    - fan speed control fixes

    amdkfd:
    - config handling fix
    - buffer free fix
    - recursive lock warnings fix

    nouveau:
    - Turing MMU fault recovery fixes
    - mDP connectors reporting fix
    - audio locking fixes
    - rework engines/instances code to support new scheme

    tegra:
    - VIC newer firmware support
    - display/gr2d fixes for older tegra
    - pm reference leak fix

    mediatek:
    - SOC MT8183 support
    - decouple sub driver + share mtk mutex driver

    radeon:
    - PCI resource fix for some platforms

    ingenic:
    - pm support
    - 8-bit delta RGB panels

    vmwgfx:
    - managed driver helpers

    vc4:
    - BCM2711 DSI1 support
    - converted to atomic helpers
    - enable 10/12 bpc outputs
    - gem prime mmap helpers
    - CEC fix

    omap:
    - use degamma table
    - CTM support
    - rework DSI support

    imx:
    - stack usage fixes
    - drm managed support
    - imx-tve clock provider leak fix
    -

    rcar-du:
    - default mode fixes
    - conversion to managed API

    hisilicon:
    - use simple encoder

    vkms:
    - writeback connector support

    d3:
    - BT2020 support"

    * tag 'drm-next-2021-02-19' of git://anongit.freedesktop.org/drm/drm: (1459 commits)
    drm/amdgpu: Set reference clock to 100Mhz on Renoir (v2)
    drm/radeon: OLAND boards don't have VCE
    drm/amdkfd: Fix recursive lock warnings
    drm/amd/display: Add FPU wrappers to dcn21_validate_bandwidth()
    drm/amd/display: Fix potential integer overflow
    drm/amdgpu/display: remove hdcp_srm sysfs on device removal
    drm/amdgpu: fix CGTS_TCC_DISABLE register offset on gfx10.3
    drm/i915/gt: Correct surface base address for renderclear
    drm/i915: Disallow plane x+w>stride on ilk+ with X-tiling
    drm/nouveau/top/ga100: initial support
    drm/nouveau/top: add ioctrl/nvjpg
    drm/nouveau/privring: rename from ibus
    drm/nouveau/nvkm: remove nvkm_subdev.index
    drm/nouveau/nvkm: determine subdev id/order from layout
    drm/nouveau/vic: switch to instanced constructor
    drm/nouveau/sw: switch to instanced constructor
    drm/nouveau/sec2: switch to instanced constructor
    drm/nouveau/sec: switch to instanced constructor
    drm/nouveau/pm: switch to instanced constructor
    drm/nouveau/nvenc: switch to instanced constructor
    ...

    Linus Torvalds
     
  • Pull sound updates from Takashi Iwai:
    "A relatively calm release at this time, and no massive code changes
    are found in the stats, while a wide range of code refactoring and
    cleanup have been done.

    Note that this update includes the tree-wide trivial changes for
    dropping the return value from ISA remove callbacks, too.

    Below lists up some highlight:

    ALSA Core:
    - Support for the software jack injection via debugfs
    - Fixes for sync_stop PCM operations

    HD-audio and USB-audio:
    - A few usual HD-audio device quirks
    - Updates for Tegra HD-audio
    - More quirks for Pioneer and other USB-audio devices
    - Stricter state checks at USB-audio disconnection

    ASoC:
    - Continued code refactoring, cleanup and fixes in ASoC core API
    - A KUnit testsuite for the topology code
    - Lots of ASoC Intel driver Realtek codec updates, quirk additions
    and fixes
    - Support for Ingenic JZ4760(B), Intel AlderLake-P, DT configured
    nVidia cards, Qualcomm lpass-rx-macro and lpass-tx-macro
    - Removal of obsolete SIRF prima/atlas, Txx9 and ZTE zx drivers

    Others:
    - Drop return value from ISA driver remove callback
    - Cleanup with DIV_ROUND_UP() macro
    - FireWire updates, HDSP output loopback support"

    * tag 'sound-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (322 commits)
    ALSA: hda: intel-dsp-config: add Alder Lake support
    ASoC: soc-pcm: fix hw param limits calculation for multi-DAI
    ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet
    ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet
    ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet
    ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R tablet
    ASoC: soc-pcm: fix hwparams min/max init for dpcm
    ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup
    ALSA: usb-audio: Add implicit fb quirk for BOSS GP-10
    ALSA: hda: Add another CometLake-H PCI ID
    ASoC: soc-pcm: add soc_pcm_hw_update_format()
    ASoC: soc-pcm: add soc_pcm_hw_update_chan()
    ASoC: soc-pcm: add soc_pcm_hw_update_rate()
    ASoC: wm_adsp: Remove unused control callback structure
    ASoC: SOF: relax ABI checks and avoid unnecessary warnings
    ASoC: codecs: lpass-tx-macro: add dapm widgets and route
    ASoC: codecs: lpass-tx-macro: add support for lpass tx macro
    ASoC: qcom: dt-bindings: add bindings for lpass tx macro codec
    ASoC: codecs: lpass-rx-macro: add iir widgets
    ASoC: codecs: lpass-rx-macro: add dapm widgets and route
    ...

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:

    - some core fixes in VB2 mem2mem support

    - some improvements and cleanups in V4L2 async kAPI

    - newer controls in V4L2 API for H-264 and HEVC codecs

    - allegro-dvt driver was promoted from staging

    - new i2c sendor drivers: imx334, ov5648, ov8865

    - new automobile camera module: rdacm21

    - ipu3 cio2 driver started gained support for some ACPI BIOSes

    - new ATSC frontend: MaxLinear mxl692 VSB tuner/demod

    - the SMIA/CCS driver gained more support for CSS standard

    - several driver fixes, updates and improvements

    * tag 'media/v5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (362 commits)
    media: v4l: async: Fix kerneldoc documentation for async functions
    media: i2c: max9271: Add MODULE_* macros
    media: i2c: Kconfig: Make MAX9271 a module
    media: imx334: 'ret' is uninitialized, should have been PTR_ERR()
    media: i2c: Add imx334 camera sensor driver
    media: dt-bindings: media: Add bindings for imx334
    media: ov8856: Configure sensor for GRBG Bayer for all modes
    media: i2c: imx219: Implement V4L2_CID_LINK_FREQ control
    media: ov5675: fix vflip/hflip control
    media: ipu3-cio2: Build bridge only if ACPI is enabled
    media: Remove the legacy v4l2-clk API
    media: ov6650: Use the generic clock framework
    media: mt9m111: Use the generic clock framework
    media: ov9640: Use the generic clock framework
    media: pxa_camera: Drop the v4l2-clk clock register
    media: mach-pxa: Register the camera sensor fixed-rate clock
    media: i2c: imx258: get clock from device properties and enable it via runtime PM
    media: i2c: imx258: simplify getting state container
    media: i2c: imx258: add support for binding via device tree
    media: dt-bindings: media: imx258: add bindings for IMX258 sensor
    ...

    Linus Torvalds
     
  • Pull JFFS2/UBIFS and UBI updates from Richard Weinberger:
    "JFFS2:
    - Fix for use-after-free in jffs2_sum_write_data()
    - Fix for out-of-bounds access in jffs2_zlib_compress()

    UBI:
    - Remove dead/useless code

    UBIFS:
    - Fix for a memory leak in ubifs_init_authentication()
    - Fix for high stack usage
    - Fix for a off-by-one error in xattrs code"

    * tag 'for-linus-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
    ubifs: Fix error return code in alloc_wbufs()
    jffs2: check the validity of dstlen in jffs2_zlib_compress()
    ubifs: Fix off-by-one error
    ubifs: replay: Fix high stack usage, again
    ubifs: Fix memleak in ubifs_init_authentication
    jffs2: fix use after free in jffs2_sum_write_data()
    ubi: eba: Delete useless kfree code
    ubi: remove dead code in validate_vid_hdr()

    Linus Torvalds
     
  • Pull MTD updates from Richard Weinberger:
    "MTD core changes:
    - Initial support for BCM4908 partitions

    Raw NAND controller drivers:
    - Intel: Fix an error handling path in 'ebu_dma_start()'
    - Tango: Remove the driver
    - Marvell: Convert comma to semicolon
    - MXC: Convert comma to semicolon
    - Qcom: Add support for Qcom SMEM parser

    Related MTD changes:
    - parsers: Add Qcom SMEM parser

    SPI NOR core changes:
    - Add non-uniform erase fixes.
    - Add Global Block Unlock command. It is defined by few flash
    vendors, and it is used for now just by sst.

    SPI NOR controller drivers changes:
    - intel-spi: Add support for Intel Alder Lake-P SPI serial flash.
    - hisi-sfc: Put child node np on error path"

    * tag 'mtd/for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (23 commits)
    dt-bindings: mtd: add binding for BCM4908 partitions
    dt-bindings: mtd: move partition binding to its own file
    mtd: spi-nor: sst: Add support for Global Unlock on sst26vf
    mtd: spi-nor: Add Global Block Unlock command
    mtd: spi-nor: core: Add erase size check for erase command initialization
    mtd: spi-nor: core: Fix erase type discovery for overlaid region
    mtd: spi-nor: sfdp: Fix last erase region marking
    mtd: spi-nor: sfdp: Fix wrong erase type bitmask for overlaid region
    mtd: rawnand: intel: Fix an error handling path in 'ebu_dma_start()'
    mtd: rawnand: tango: Remove the driver
    mtd: rawnand: marvell: convert comma to semicolon
    mtd: st_spi_fsm: convert comma to semicolon
    mtd: convert comma to semicolon
    mtd: parsers: afs: Fix freeing the part name memory in failure
    mtd: parser: imagetag: fix error codes in bcm963xx_parse_imagetag_partitions()
    mtd: phram: use div_u64_rem to stop overwrite len in phram_setup
    mtd: remove redundant assignment to pointer eb
    mtd: spi-nor: hisi-sfc: Put child node np on error path
    mtd: spi-nor: intel-spi: Add support for Intel Alder Lake-P SPI serial flash
    mtd: rawnand: qcom: Add support for Qcom SMEM parser
    ...

    Linus Torvalds
     
  • Pull UML updates from Richard Weinberger:

    - Many cleanups and fixes for our virtio code

    - Add support for a pseudo RTC

    - Fix for a possible jailbreak

    - Minor fixes (spelling, header files)

    * tag 'for-linux-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    um: irq.h: include
    um: io.h: include
    um: add a pseudo RTC
    um: remove process stub VMA
    um: rework userspace stubs to not hard-code stub location
    um: separate child and parent errors in clone stub
    um: defer killing userspace on page table update failures
    um: mm: check more comprehensively for stub changes
    um: print register names in wait_for_stub
    um: hostfs: use a kmem cache for inodes
    mm: Remove arch_remap() and mm-arch-hooks.h
    um: fix spelling mistake in Kconfig "privleges" -> "privileges"
    um: virtio: allow devices to be configured for wakeup
    um: time-travel: rework interrupt handling in ext mode
    um: virtio: disable VQs during suspend
    um: virtio: fix handling of messages without payload
    um: virtio: clean up a comment

    Linus Torvalds
     
  • Pull s390 updates from Vasily Gorbik:

    - Convert to using the generic entry infrastructure.

    - Add vdso time namespace support.

    - Switch s390 and alpha to 64-bit ino_t. As discussed at

    https://lore.kernel.org/linux-mm/YCV7QiyoweJwvN+m@osiris/

    - Get rid of expensive stck (store clock) usages where possible.
    Utilize cpu alternatives to patch stckf when supported.

    - Make tod_clock usage less error prone by converting it to a union and
    rework code which is using it.

    - Machine check handler fixes and cleanups.

    - Drop couple of minor inline asm optimizations to fix clang build.

    - Default configs changes notably to make libvirt happy.

    - Various changes to rework and improve qdio code.

    - Other small various fixes and improvements all over the code.

    * tag 's390-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (68 commits)
    s390/qdio: remove 'merge_pending' mechanism
    s390/qdio: improve handling of PENDING buffers for QEBSM devices
    s390/qdio: rework q->qdio_error indication
    s390/qdio: inline qdio_kick_handler()
    s390/time: remove get_tod_clock_ext()
    s390/crypto: use store_tod_clock_ext()
    s390/hypfs: use store_tod_clock_ext()
    s390/debug: use union tod_clock
    s390/kvm: use union tod_clock
    s390/vdso: use union tod_clock
    s390/time: convert tod_clock_base to union
    s390/time: introduce new store_tod_clock_ext()
    s390/time: rename store_tod_clock_ext() and use union tod_clock
    s390/time: introduce union tod_clock
    s390,alpha: switch to 64-bit ino_t
    s390: split cleanup_sie
    s390: use r13 in cleanup_sie as temp register
    s390: fix kernel asce loading when sie is interrupted
    s390: add stack for machine check handler
    s390: use WRITE_ONCE when re-allocating async stack
    ...

    Linus Torvalds
     
  • Pull KVM updates from Paolo Bonzini:
    "x86:

    - Support for userspace to emulate Xen hypercalls

    - Raise the maximum number of user memslots

    - Scalability improvements for the new MMU.

    Instead of the complex "fast page fault" logic that is used in
    mmu.c, tdp_mmu.c uses an rwlock so that page faults are concurrent,
    but the code that can run against page faults is limited. Right now
    only page faults take the lock for reading; in the future this will
    be extended to some cases of page table destruction. I hope to
    switch the default MMU around 5.12-rc3 (some testing was delayed
    due to Chinese New Year).

    - Cleanups for MAXPHYADDR checks

    - Use static calls for vendor-specific callbacks

    - On AMD, use VMLOAD/VMSAVE to save and restore host state

    - Stop using deprecated jump label APIs

    - Workaround for AMD erratum that made nested virtualization
    unreliable

    - Support for LBR emulation in the guest

    - Support for communicating bus lock vmexits to userspace

    - Add support for SEV attestation command

    - Miscellaneous cleanups

    PPC:

    - Support for second data watchpoint on POWER10

    - Remove some complex workarounds for buggy early versions of POWER9

    - Guest entry/exit fixes

    ARM64:

    - Make the nVHE EL2 object relocatable

    - Cleanups for concurrent translation faults hitting the same page

    - Support for the standard TRNG hypervisor call

    - A bunch of small PMU/Debug fixes

    - Simplification of the early init hypercall handling

    Non-KVM changes (with acks):

    - Detection of contended rwlocks (implemented only for qrwlocks,
    because KVM only needs it for x86)

    - Allow __DISABLE_EXPORTS from assembly code

    - Provide a saner follow_pfn replacements for modules"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (192 commits)
    KVM: x86/xen: Explicitly pad struct compat_vcpu_info to 64 bytes
    KVM: selftests: Don't bother mapping GVA for Xen shinfo test
    KVM: selftests: Fix hex vs. decimal snafu in Xen test
    KVM: selftests: Fix size of memslots created by Xen tests
    KVM: selftests: Ignore recently added Xen tests' build output
    KVM: selftests: Add missing header file needed by xAPIC IPI tests
    KVM: selftests: Add operand to vmsave/vmload/vmrun in svm.c
    KVM: SVM: Make symbol 'svm_gp_erratum_intercept' static
    locking/arch: Move qrwlock.h include after qspinlock.h
    KVM: PPC: Book3S HV: Fix host radix SLB optimisation with hash guests
    KVM: PPC: Book3S HV: Ensure radix guest has no SLB entries
    KVM: PPC: Don't always report hash MMU capability for P9 < DD2.2
    KVM: PPC: Book3S HV: Save and restore FSCR in the P9 path
    KVM: PPC: remove unneeded semicolon
    KVM: PPC: Book3S HV: Use POWER9 SLBIA IH=6 variant to clear SLB
    KVM: PPC: Book3S HV: No need to clear radix host SLB before loading HPT guest
    KVM: PPC: Book3S HV: Fix radix guest SLB side channel
    KVM: PPC: Book3S HV: Remove support for running HPT guest on RPT host without mixed mode support
    KVM: PPC: Book3S HV: Introduce new capability for 2nd DAWR
    KVM: PPC: Book3S HV: Add infrastructure to support 2nd DAWR
    ...

    Linus Torvalds
     
  • …rnel/git/hyperv/linux

    Pull Hyper-V updates from Wei Liu:

    - VMBus hardening patches from Andrea Parri and Andres Beltran.

    - Patches to make Linux boot as the root partition on Microsoft
    Hypervisor from Wei Liu.

    - One patch to add a new sysfs interface to support hibernation on
    Hyper-V from Dexuan Cui.

    - Two miscellaneous clean-up patches from Colin and Gustavo.

    * tag 'hyperv-next-signed-20210216' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: (31 commits)
    Revert "Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer"
    iommu/hyperv: setup an IO-APIC IRQ remapping domain for root partition
    x86/hyperv: implement an MSI domain for root partition
    asm-generic/hyperv: import data structures for mapping device interrupts
    asm-generic/hyperv: introduce hv_device_id and auxiliary structures
    asm-generic/hyperv: update hv_interrupt_entry
    asm-generic/hyperv: update hv_msi_entry
    x86/hyperv: implement and use hv_smp_prepare_cpus
    x86/hyperv: provide a bunch of helper functions
    ACPI / NUMA: add a stub function for node_to_pxm()
    x86/hyperv: handling hypercall page setup for root
    x86/hyperv: extract partition ID from Microsoft Hypervisor if necessary
    x86/hyperv: allocate output arg pages if required
    clocksource/hyperv: use MSR-based access if running as root
    Drivers: hv: vmbus: skip VMBus initialization if Linux is root
    x86/hyperv: detect if Linux is the root partition
    asm-generic/hyperv: change HV_CPU_POWER_MANAGEMENT to HV_CPU_MANAGEMENT
    hv: hyperv.h: Replace one-element array with flexible-array in struct icmsg_negotiate
    hv_netvsc: Restrict configurations on isolated guests
    Drivers: hv: vmbus: Enforce 'VMBus version >= 5.2' on isolated guests
    ...

    Linus Torvalds
     
  • Pull parisc updates from Helge Deller:

    - Optimize parisc page table locks by using the existing
    page_table_lock

    - Export argv0-preserve flag in binfmt_misc for usage in qemu-user

    - Fix interrupt table (IVT) checksum so firmware will call crash
    handler (HPMC)

    - Increase IRQ stack to 64kb on 64-bit kernel

    - Switch to common devmem_is_allowed() implementation

    - Minor fix to get_whan()

    * 'parisc-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    binfmt_misc: pass binfmt_misc flags to the interpreter
    parisc: Optimize per-pagetable spinlocks
    parisc: Replace test_ti_thread_flag() with test_tsk_thread_flag()
    parisc: Bump 64-bit IRQ stack size to 64 KB
    parisc: Fix IVT checksum calculation wrt HPMC
    parisc: Use the generic devmem_is_allowed()
    parisc: Drop out of get_whan() if task is running again

    Linus Torvalds
     
  • Pull MIPS updates from Thomas Bogendoerfer:

    - added support for Nintendo N64

    - added support for Realtek RTL83XX SoCs

    - kaslr support for Loongson64

    - first steps to get rid of set_fs()

    - DMA runtime coherent/non-coherent selection cleanup

    - cleanups and fixes

    * tag 'mips_5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (98 commits)
    Revert "MIPS: Add basic support for ptrace single step"
    vmlinux.lds.h: catch more UBSAN symbols into .data
    MIPS: kernel: Drop kgdb_call_nmi_hook
    MAINTAINERS: Add git tree for KVM/mips
    MIPS: Use common way to parse elfcorehdr
    MIPS: Simplify EVA cache handling
    Revert "MIPS: kernel: {ftrace,kgdb}: Set correct address limit for cache flushes"
    MIPS: remove CONFIG_DMA_PERDEV_COHERENT
    MIPS: remove CONFIG_DMA_MAYBE_COHERENT
    driver core: lift dma_default_coherent into common code
    MIPS: refactor the runtime coherent vs noncoherent DMA indicators
    MIPS/alchemy: factor out the DMA coherent setup
    MIPS/malta: simplify plat_setup_iocoherency
    MIPS: Add basic support for ptrace single step
    MAINTAINERS: replace non-matching patterns for loongson{2,3}
    MIPS: Make check condition for SDBBP consistent with EJTAG spec
    mips: Replace lkml.org links with lore
    Revert "MIPS: microMIPS: Fix the judgment of mm_jr16_op and mm_jalr_op"
    MIPS: crash_dump.c: Simplify copy_oldmem_page()
    Revert "mips: Manually call fdt_init_reserved_mem() method"
    ...

    Linus Torvalds
     
  • Pull m68k updates from Geert Uytterhoeven:

    - fix ADB autopoll regression

    - defconfig updates

    * tag 'm68k-for-v5.12-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    macintosh/adb-iop: Use big-endian autopoll mask
    m68k: defconfig: Update defconfigs for v5.11-rc1

    Linus Torvalds
     
  • Pull arm64 updates from Will Deacon:

    - vDSO build improvements including support for building with BSD.

    - Cleanup to the AMU support code and initialisation rework to support
    cpufreq drivers built as modules.

    - Removal of synthetic frame record from exception stack when entering
    the kernel from EL0.

    - Add support for the TRNG firmware call introduced by Arm spec
    DEN0098.

    - Cleanup and refactoring across the board.

    - Avoid calling arch_get_random_seed_long() from
    add_interrupt_randomness()

    - Perf and PMU updates including support for Cortex-A78 and the v8.3
    SPE extensions.

    - Significant steps along the road to leaving the MMU enabled during
    kexec relocation.

    - Faultaround changes to initialise prefaulted PTEs as 'old' when
    hardware access-flag updates are supported, which drastically
    improves vmscan performance.

    - CPU errata updates for Cortex-A76 (#1463225) and Cortex-A55
    (#1024718)

    - Preparatory work for yielding the vector unit at a finer granularity
    in the crypto code, which in turn will one day allow us to defer
    softirq processing when it is in use.

    - Support for overriding CPU ID register fields on the command-line.

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (85 commits)
    drivers/perf: Replace spin_lock_irqsave to spin_lock
    mm: filemap: Fix microblaze build failure with 'mmu_defconfig'
    arm64: Make CPU_BIG_ENDIAN depend on ld.bfd or ld.lld 13.0.0+
    arm64: cpufeatures: Allow disabling of Pointer Auth from the command-line
    arm64: Defer enabling pointer authentication on boot core
    arm64: cpufeatures: Allow disabling of BTI from the command-line
    arm64: Move "nokaslr" over to the early cpufeature infrastructure
    KVM: arm64: Document HVC_VHE_RESTART stub hypercall
    arm64: Make kvm-arm.mode={nvhe, protected} an alias of id_aa64mmfr1.vh=0
    arm64: Add an aliasing facility for the idreg override
    arm64: Honor VHE being disabled from the command-line
    arm64: Allow ID_AA64MMFR1_EL1.VH to be overridden from the command line
    arm64: cpufeature: Add an early command-line cpufeature override facility
    arm64: Extract early FDT mapping from kaslr_early_init()
    arm64: cpufeature: Use IDreg override in __read_sysreg_by_encoding()
    arm64: cpufeature: Add global feature override facility
    arm64: Move SCTLR_EL1 initialisation to EL-agnostic code
    arm64: Simplify init_el2_state to be non-VHE only
    arm64: Move VHE-specific SPE setup to mutate_to_vhe()
    arm64: Drop early setting of MDSCR_EL2.TPMS
    ...

    Linus Torvalds
     
  • Pull xen updates from Juergen Gross:
    "A series of Xen related security fixes, all related to limited error
    handling in Xen backend drivers"

    * tag 'for-linus-5.12-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen-blkback: fix error handling in xen_blkbk_map()
    xen-scsiback: don't "handle" error by BUG()
    xen-netback: don't "handle" error by BUG()
    xen-blkback: don't "handle" error by BUG()
    xen/arm: don't ignore return errors from set_phys_to_machine
    Xen/gntdev: correct error checking in gntdev_map_grant_pages()
    Xen/gntdev: correct dev_bus_addr handling in gntdev_map_grant_pages()
    Xen/x86: also check kernel mapping in set_foreign_p2m_mapping()
    Xen/x86: don't bail early from clear_foreign_p2m_mapping()

    Linus Torvalds
     
  • Pull performance event updates from Ingo Molnar:

    - Add CPU-PMU support for Intel Sapphire Rapids CPUs

    - Extend the perf ABI with PERF_SAMPLE_WEIGHT_STRUCT, to offer
    two-parameter sampling event feedback. Not used yet, but is intended
    for Golden Cove CPU-PMU, which can provide both the instruction
    latency and the cache latency information for memory profiling
    events.

    - Remove experimental, default-disabled perfmon-v4 counter_freezing
    support that could only be enabled via a boot option. The hardware is
    hopelessly broken, we'd like to make sure nobody starts relying on
    this, as it would only end in tears.

    - Fix energy/power events on Intel SPR platforms

    - Simplify the uprobes resume_execution() logic

    - Misc smaller fixes.

    * tag 'perf-core-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86/rapl: Fix psys-energy event on Intel SPR platform
    perf/x86/rapl: Only check lower 32bits for RAPL energy counters
    perf/x86/rapl: Add msr mask support
    perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[]
    perf/x86/intel: Support CPUID 10.ECX to disable fixed counters
    perf/x86/intel: Add perf core PMU support for Sapphire Rapids
    perf/x86/intel: Filter unsupported Topdown metrics event
    perf/x86/intel: Factor out intel_update_topdown_event()
    perf/core: Add PERF_SAMPLE_WEIGHT_STRUCT
    perf/intel: Remove Perfmon-v4 counter_freezing support
    x86/perf: Use static_call for x86_pmu.guest_get_msrs
    perf/x86/intel/uncore: With > 8 nodes, get pci bus die id from NUMA info
    perf/x86/intel/uncore: Store the logical die id instead of the physical die id.
    x86/kprobes: Do not decode opcode in resume_execution()

    Linus Torvalds
     
  • Pull scheduler updates from Ingo Molnar:
    "Core scheduler updates:

    - Add CONFIG_PREEMPT_DYNAMIC: this in its current form adds the
    preempt=none/voluntary/full boot options (default: full), to allow
    distros to build a PREEMPT kernel but fall back to close to
    PREEMPT_VOLUNTARY (or PREEMPT_NONE) runtime scheduling behavior via
    a boot time selection.

    There's also the /debug/sched_debug switch to do this runtime.

    This feature is implemented via runtime patching (a new variant of
    static calls).

    The scope of the runtime patching can be best reviewed by looking
    at the sched_dynamic_update() function in kernel/sched/core.c.

    ( Note that the dynamic none/voluntary mode isn't 100% identical,
    for example preempt-RCU is available in all cases, plus the
    preempt count is maintained in all models, which has runtime
    overhead even with the code patching. )

    The PREEMPT_VOLUNTARY/PREEMPT_NONE models, used by the vast
    majority of distributions, are supposed to be unaffected.

    - Fix ignored rescheduling after rcu_eqs_enter(). This is a bug that
    was found via rcutorture triggering a hang. The bug is that
    rcu_idle_enter() may wake up a NOCB kthread, but this happens after
    the last generic need_resched() check. Some cpuidle drivers fix it
    by chance but many others don't.

    In true 2020 fashion the original bug fix has grown into a 5-patch
    scheduler/RCU fix series plus another 16 RCU patches to address the
    underlying issue of missed preemption events. These are the initial
    fixes that should fix current incarnations of the bug.

    - Clean up rbtree usage in the scheduler, by providing & using the
    following consistent set of rbtree APIs:

    partial-order; less() based:
    - rb_add(): add a new entry to the rbtree
    - rb_add_cached(): like rb_add(), but for a rb_root_cached

    total-order; cmp() based:
    - rb_find(): find an entry in an rbtree
    - rb_find_add(): find an entry, and add if not found

    - rb_find_first(): find the first (leftmost) matching entry
    - rb_next_match(): continue from rb_find_first()
    - rb_for_each(): iterate a sub-tree using the previous two

    - Improve the SMP/NUMA load-balancer: scan for an idle sibling in a
    single pass. This is a 4-commit series where each commit improves
    one aspect of the idle sibling scan logic.

    - Improve the cpufreq cooling driver by getting the effective CPU
    utilization metrics from the scheduler

    - Improve the fair scheduler's active load-balancing logic by
    reducing the number of active LB attempts & lengthen the
    load-balancing interval. This improves stress-ng mmapfork
    performance.

    - Fix CFS's estimated utilization (util_est) calculation bug that can
    result in too high utilization values

    Misc updates & fixes:

    - Fix the HRTICK reprogramming & optimization feature

    - Fix SCHED_SOFTIRQ raising race & warning in the CPU offlining code

    - Reduce dl_add_task_root_domain() overhead

    - Fix uprobes refcount bug

    - Process pending softirqs in flush_smp_call_function_from_idle()

    - Clean up task priority related defines, remove *USER_*PRIO and
    USER_PRIO()

    - Simplify the sched_init_numa() deduplication sort

    - Documentation updates

    - Fix EAS bug in update_misfit_status(), which degraded the quality
    of energy-balancing

    - Smaller cleanups"

    * tag 'sched-core-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
    sched,x86: Allow !PREEMPT_DYNAMIC
    entry/kvm: Explicitly flush pending rcuog wakeup before last rescheduling point
    entry: Explicitly flush pending rcuog wakeup before last rescheduling point
    rcu/nocb: Trigger self-IPI on late deferred wake up before user resume
    rcu/nocb: Perform deferred wake up before last idle's need_resched() check
    rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers
    sched/features: Distinguish between NORMAL and DEADLINE hrtick
    sched/features: Fix hrtick reprogramming
    sched/deadline: Reduce rq lock contention in dl_add_task_root_domain()
    uprobes: (Re)add missing get_uprobe() in __find_uprobe()
    smp: Process pending softirqs in flush_smp_call_function_from_idle()
    sched: Harden PREEMPT_DYNAMIC
    static_call: Allow module use without exposing static_call_key
    sched: Add /debug/sched_preempt
    preempt/dynamic: Support dynamic preempt with preempt= boot option
    preempt/dynamic: Provide irqentry_exit_cond_resched() static call
    preempt/dynamic: Provide preempt_schedule[_notrace]() static calls
    preempt/dynamic: Provide cond_resched() and might_resched() static calls
    preempt: Introduce CONFIG_PREEMPT_DYNAMIC
    static_call: Provide DEFINE_STATIC_CALL_RET0()
    ...

    Linus Torvalds
     
  • Pull tlb gather updates from Ingo Molnar:
    "Theses fix MM (soft-)dirty bit management in the procfs code & clean
    up the TLB gather API"

    * tag 'core-mm-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/ldt: Use tlb_gather_mmu_fullmm() when freeing LDT page-tables
    tlb: arch: Remove empty __tlb_remove_tlb_entry() stubs
    tlb: mmu_gather: Remove start/end arguments from tlb_gather_mmu()
    tlb: mmu_gather: Introduce tlb_gather_mmu_fullmm()
    tlb: mmu_gather: Remove unused start/end arguments from tlb_finish_mmu()
    mm: proc: Invalidate TLB after clearing soft-dirty page state

    Linus Torvalds
     
  • Pull locking updates from Ingo Molnar:
    "Core locking primitives updates:
    - Remove mutex_trylock_recursive() from the API - no users left
    - Simplify + constify the futex code a bit

    Lockdep updates:
    - Teach lockdep about local_lock_t
    - Add CONFIG_DEBUG_IRQFLAGS=y debug config option to check for
    potentially unsafe IRQ mask restoration patterns. (I.e.
    calling raw_local_irq_restore() with IRQs enabled.)
    - Add wait context self-tests
    - Fix graph lock corner case corrupting internal data structures
    - Fix noinstr annotations

    LKMM updates:
    - Simplify the litmus tests
    - Documentation fixes

    KCSAN updates:
    - Re-enable KCSAN instrumentation in lib/random32.c

    Misc fixes:
    - Don't branch-trace static label APIs
    - DocBook fix
    - Remove stale leftover empty file"

    * tag 'locking-core-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
    checkpatch: Don't check for mutex_trylock_recursive()
    locking/mutex: Kill mutex_trylock_recursive()
    s390: Use arch_local_irq_{save,restore}() in early boot code
    lockdep: Noinstr annotate warn_bogus_irq_restore()
    locking/lockdep: Avoid unmatched unlock
    locking/rwsem: Remove empty rwsem.h
    locking/rtmutex: Add missing kernel-doc markup
    futex: Remove unneeded gotos
    futex: Change utime parameter to be 'const ... *'
    lockdep: report broken irq restoration
    jump_label: Do not profile branch annotations
    locking: Add Reviewers
    locking/selftests: Add local_lock inversion tests
    locking/lockdep: Exclude local_lock_t from IRQ inversions
    locking/lockdep: Clean up check_redundant() a bit
    locking/lockdep: Add a skip() function to __bfs()
    locking/lockdep: Mark local_lock_t
    locking/selftests: More granular debug_locks_verbose
    lockdep/selftest: Add wait context selftests
    tools/memory-model: Fix typo in klitmus7 compatibility table
    ...

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "These are the latest RCU updates for v5.12:

    - Documentation updates.

    - Miscellaneous fixes.

    - kfree_rcu() updates: Addition of mem_dump_obj() to provide
    allocator return addresses to more easily locate bugs. This has a
    couple of RCU-related commits, but is mostly MM. Was pulled in with
    akpm's agreement.

    - Per-callback-batch tracking of numbers of callbacks, which enables
    better debugging information and smarter reactions to large numbers
    of callbacks.

    - The first round of changes to allow CPUs to be runtime switched
    from and to callback-offloaded state.

    - CONFIG_PREEMPT_RT-related changes.

    - RCU CPU stall warning updates.

    - Addition of polling grace-period APIs for SRCU.

    - Torture-test and torture-test scripting updates, including a
    "torture everything" script that runs rcutorture, locktorture,
    scftorture, rcuscale, and refscale. Plus does an allmodconfig
    build.

    - nolibc fixes for the torture tests"

    * tag 'core-rcu-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (130 commits)
    percpu_ref: Dump mem_dump_obj() info upon reference-count underflow
    rcu: Make call_rcu() print mem_dump_obj() info for double-freed callback
    mm: Make mem_obj_dump() vmalloc() dumps include start and length
    mm: Make mem_dump_obj() handle vmalloc() memory
    mm: Make mem_dump_obj() handle NULL and zero-sized pointers
    mm: Add mem_dump_obj() to print source of memory block
    tools/rcutorture: Fix position of -lgcc in mkinitrd.sh
    tools/nolibc: Fix position of -lgcc in the documented example
    tools/nolibc: Emit detailed error for missing alternate syscall number definitions
    tools/nolibc: Remove incorrect definitions of __ARCH_WANT_*
    tools/nolibc: Get timeval, timespec and timezone from linux/time.h
    tools/nolibc: Implement poll() based on ppoll()
    tools/nolibc: Implement fork() based on clone()
    tools/nolibc: Make getpgrp() fall back to getpgid(0)
    tools/nolibc: Make dup2() rely on dup3() when available
    tools/nolibc: Add the definition for dup()
    rcutorture: Add rcutree.use_softirq=0 to RUDE01 and TASKS01
    torture: Maintain torture-specific set of CPUs-online books
    torture: Clean up after torture-test CPU hotplugging
    rcutorture: Make object_debug also double call_rcu() heap object
    ...

    Linus Torvalds
     
  • Pull timer updates from Thomas Gleixner:
    "Time and timer updates:

    - Instead of new drivers remove tango, sirf, u300 and atlas drivers

    - Add suspend/resume support for microchip pit64b

    - The usual fixes, improvements and cleanups here and there"

    * tag 'timers-core-2021-02-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    timens: Delete no-op time_ns_init()
    alarmtimer: Update kerneldoc
    clocksource/drivers/timer-microchip-pit64b: Add clocksource suspend/resume
    clocksource/drivers/prima: Remove sirf prima driver
    clocksource/drivers/atlas: Remove sirf atlas driver
    clocksource/drivers/tango: Remove tango driver
    clocksource/drivers/u300: Remove the u300 driver
    dt-bindings: timer: nuvoton: Clarify that interrupt of timer 0 should be specified
    clocksource/drivers/davinci: Move pr_fmt() before the includes
    clocksource/drivers/efm32: Drop unused timer code

    Linus Torvalds
     
  • Pull irq updates from Thomas Gleixner:
    "Updates for the irq subsystem:

    - The usual new irq chip driver (Realtek RTL83xx)

    - Removal of sirfsoc and tango irq chip drivers

    - Conversion of the sun6i chip support to hierarchical irq domains

    - The usual fixes, improvements and cleanups all over the place"

    * tag 'irq-core-2021-02-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/imx: IMX_INTMUX should not default to y, unconditionally
    irqchip/loongson-pch-msi: Use bitmap_zalloc() to allocate bitmap
    irqchip/csky-mpintc: Prevent selection on unsupported platforms
    irqchip: Add support for Realtek RTL838x/RTL839x interrupt controller
    dt-bindings: interrupt-controller: Add Realtek RTL838x/RTL839x support
    irqchip/ls-extirq: add IRQCHIP_SKIP_SET_WAKE to the irqchip flags
    genirq: Use new tasklet API for resend_tasklet
    dt-bindings: qcom,pdc: Add compatible for SM8350
    dt-bindings: qcom,pdc: Add compatible for SM8250
    irqchip/sun6i-r: Add wakeup support
    irqchip/sun6i-r: Use a stacked irqchip driver
    dt-bindings: irq: sun6i-r: Add a compatible for the H3
    dt-bindings: irq: sun6i-r: Split the binding from sun7i-nmi
    irqchip/gic-v3: Fix typos in PMR/RPR SCR_EL3.FIQ handling explanation
    irqchip: Remove sirfsoc driver
    irqchip: Remove sigma tango driver

    Linus Torvalds
     
  • Pull io_uring updates from Jens Axboe:
    "Highlights from this cycles are things like request recycling and
    task_work optimizations, which net us anywhere from 10-20% of speedups
    on workloads that mostly are inline.

    This work was originally done to put io_uring under memcg, which adds
    considerable overhead. But it's a really nice win as well. Also worth
    highlighting is the LOOKUP_CACHED work in the VFS, and using it in
    io_uring. Greatly speeds up the fast path for file opens.

    Summary:

    - Put io_uring under memcg protection. We accounted just the rings
    themselves under rlimit memlock before, now we account everything.

    - Request cache recycling, persistent across invocations (Pavel, me)

    - First part of a cleanup/improvement to buffer registration (Bijan)

    - SQPOLL fixes (Hao)

    - File registration NULL pointer fixup (Dan)

    - LOOKUP_CACHED support for io_uring

    - Disable /proc/thread-self/ for io_uring, like we do for /proc/self

    - Add Pavel to the io_uring MAINTAINERS entry

    - Tons of code cleanups and optimizations (Pavel)

    - Support for skip entries in file registration (Noah)"

    * tag 'for-5.12/io_uring-2021-02-17' of git://git.kernel.dk/linux-block: (103 commits)
    io_uring: tctx->task_lock should be IRQ safe
    proc: don't allow async path resolution of /proc/thread-self components
    io_uring: kill cached requests from exiting task closing the ring
    io_uring: add helper to free all request caches
    io_uring: allow task match to be passed to io_req_cache_free()
    io-wq: clear out worker ->fs and ->files
    io_uring: optimise io_init_req() flags setting
    io_uring: clean io_req_find_next() fast check
    io_uring: don't check PF_EXITING from syscall
    io_uring: don't split out consume out of SQE get
    io_uring: save ctx put/get for task_work submit
    io_uring: don't duplicate io_req_task_queue()
    io_uring: optimise SQPOLL mm/files grabbing
    io_uring: optimise out unlikely link queue
    io_uring: take compl state from submit state
    io_uring: inline io_complete_rw_common()
    io_uring: move res check out of io_rw_reissue()
    io_uring: simplify iopoll reissuing
    io_uring: clean up io_req_free_batch_finish()
    io_uring: move submit side state closer in the ring
    ...

    Linus Torvalds
     
  • Pull block driver updates from Jens Axboe:

    - Remove the skd driver. It's been EOL for a long time (Damien)

    - NVMe pull requests
    - fix multipath handling of ->queue_rq errors (Chao Leng)
    - nvmet cleanups (Chaitanya Kulkarni)
    - add a quirk for buggy Amazon controller (Filippo Sironi)
    - avoid devm allocations in nvme-hwmon that don't interact well
    with fabrics (Hannes Reinecke)
    - sysfs cleanups (Jiapeng Chong)
    - fix nr_zones for multipath (Keith Busch)
    - nvme-tcp crash fix for no-data commands (Sagi Grimberg)
    - nvmet-tcp fixes (Sagi Grimberg)
    - add a missing __rcu annotation (Christoph)
    - failed reconnect fixes (Chao Leng)
    - various tracing improvements (Michal Krakowiak, Johannes
    Thumshirn)
    - switch the nvmet-fc assoc_list to use RCU protection (Leonid
    Ravich)
    - resync the status codes with the latest spec (Max Gurtovoy)
    - minor nvme-tcp improvements (Sagi Grimberg)
    - various cleanups (Rikard Falkeborn, Minwoo Im, Chaitanya
    Kulkarni, Israel Rukshin)

    - Floppy O_NDELAY fix (Denis)

    - MD pull request
    - raid5 chunk_sectors fix (Guoqing)

    - Use lore links (Kees)

    - Use DEFINE_SHOW_ATTRIBUTE for nbd (Liao)

    - loop lock scaling (Pavel)

    - mtip32xx PCI fixes (Bjorn)

    - bcache fixes (Kai, Dongdong)

    - Misc fixes (Tian, Yang, Guoqing, Joe, Andy)

    * tag 'for-5.12/drivers-2021-02-17' of git://git.kernel.dk/linux-block: (64 commits)
    lightnvm: pblk: Replace guid_copy() with export_guid()/import_guid()
    lightnvm: fix unnecessary NULL check warnings
    nvme-tcp: fix crash triggered with a dataless request submission
    block: Replace lkml.org links with lore
    nbd: Convert to DEFINE_SHOW_ATTRIBUTE
    nvme: add 48-bit DMA address quirk for Amazon NVMe controllers
    nvme-hwmon: rework to avoid devm allocation
    nvmet: remove else at the end of the function
    nvmet: add nvmet_req_subsys() helper
    nvmet: use min of device_path and disk len
    nvmet: use invalid cmd opcode helper
    nvmet: use invalid cmd opcode helper
    nvmet: add helper to report invalid opcode
    nvmet: remove extra variable in id-ns handler
    nvmet: make nvmet_find_namespace() req based
    nvmet: return uniform error for invalid ns
    nvmet: set status to 0 in case for invalid nsid
    nvmet-fc: add a missing __rcu annotation to nvmet_fc_tgt_assoc.queues
    nvme-multipath: set nr_zones for zoned namespaces
    nvmet-tcp: fix potential race of tcp socket closing accept_work
    ...

    Linus Torvalds
     
  • Pull core block updates from Jens Axboe:
    "Another nice round of removing more code than what is added, mostly
    due to Christoph's relentless pursuit of tech debt removal/cleanups.
    This pull request contains:

    - Two series of BFQ improvements (Paolo, Jan, Jia)

    - Block iov_iter improvements (Pavel)

    - bsg error path fix (Pan)

    - blk-mq scheduler improvements (Jan)

    - -EBUSY discard fix (Jan)

    - bvec allocation improvements (Ming, Christoph)

    - bio allocation and init improvements (Christoph)

    - Store bdev pointer in bio instead of gendisk + partno (Christoph)

    - Block trace point cleanups (Christoph)

    - hard read-only vs read-only split (Christoph)

    - Block based swap cleanups (Christoph)

    - Zoned write granularity support (Damien)

    - Various fixes/tweaks (Chunguang, Guoqing, Lei, Lukas, Huhai)"

    * tag 'for-5.12/block-2021-02-17' of git://git.kernel.dk/linux-block: (104 commits)
    mm: simplify swapdev_block
    sd_zbc: clear zone resources for non-zoned case
    block: introduce blk_queue_clear_zone_settings()
    zonefs: use zone write granularity as block size
    block: introduce zone_write_granularity limit
    block: use blk_queue_set_zoned in add_partition()
    nullb: use blk_queue_set_zoned() to setup zoned devices
    nvme: cleanup zone information initialization
    block: document zone_append_max_bytes attribute
    block: use bi_max_vecs to find the bvec pool
    md/raid10: remove dead code in reshape_request
    block: mark the bio as cloned in bio_iov_bvec_set
    block: set BIO_NO_PAGE_REF in bio_iov_bvec_set
    block: remove a layer of indentation in bio_iov_iter_get_pages
    block: turn the nr_iovecs argument to bio_alloc* into an unsigned short
    block: remove the 1 and 4 vec bvec_slabs entries
    block: streamline bvec_alloc
    block: factor out a bvec_alloc_gfp helper
    block: move struct biovec_slab to bio.c
    block: reuse BIO_INLINE_VECS for integrity bvecs
    ...

    Linus Torvalds
     
  • Pull libata updates from Jens Axboe:
    "Regulartors management addition from Florian, and a trivial change to
    avoid comma separated statements from Joe"

    * tag 'for-5.12/libata-2021-02-17' of git://git.kernel.dk/linux-block:
    ata: Avoid comma separated statements
    ata: ahci_brcm: Add back regulators management

    Linus Torvalds
     
  • Pull oprofile and dcookies removal from Viresh Kumar:
    "Remove oprofile and dcookies support

    The 'oprofile' user-space tools don't use the kernel OPROFILE support
    any more, and haven't in a long time. User-space has been converted to
    the perf interfaces.

    The dcookies stuff is only used by the oprofile code. Now that
    oprofile's support is getting removed from the kernel, there is no
    need for dcookies as well.

    Remove kernel's old oprofile and dcookies support"

    * tag 'oprofile-removal-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/linux:
    fs: Remove dcookies support
    drivers: Remove CONFIG_OPROFILE support
    arch: xtensa: Remove CONFIG_OPROFILE support
    arch: x86: Remove CONFIG_OPROFILE support
    arch: sparc: Remove CONFIG_OPROFILE support
    arch: sh: Remove CONFIG_OPROFILE support
    arch: s390: Remove CONFIG_OPROFILE support
    arch: powerpc: Remove oprofile
    arch: powerpc: Stop building and using oprofile
    arch: parisc: Remove CONFIG_OPROFILE support
    arch: mips: Remove CONFIG_OPROFILE support
    arch: microblaze: Remove CONFIG_OPROFILE support
    arch: ia64: Remove rest of perfmon support
    arch: ia64: Remove CONFIG_OPROFILE support
    arch: hexagon: Don't select HAVE_OPROFILE
    arch: arc: Remove CONFIG_OPROFILE support
    arch: arm: Remove CONFIG_OPROFILE support
    arch: alpha: Remove CONFIG_OPROFILE support

    Linus Torvalds
     
  • Pull xfs updates from Darrick Wong:
    "There's a lot going on this time, which seems about right for this
    drama-filled year.

    Community developers added some code to speed up freezing when
    read-only workloads are still running, refactored the logging code,
    added checks to prevent file extent counter overflow, reduced iolock
    cycling to speed up fsync and gc scans, and started the slow march
    towards supporting filesystem shrinking.

    There's a huge refactoring of the internal speculative preallocation
    garbage collection code which fixes a bunch of bugs, makes the gc
    scheduling per-AG and hence multithreaded, and standardizes the retry
    logic when we try to reserve space or quota, can't, and want to
    trigger a gc scan. We also enable multithreaded quotacheck to reduce
    mount times further. This is also preparation for background file gc,
    which may or may not land for 5.13.

    We also fixed some deadlocks in the rename code, fixed a quota
    accounting leak when FSSETXATTR fails, restored the behavior that
    write faults to an mmap'd region actually cause a SIGBUS, fixed a bug
    where sgid directory inheritance wasn't quite working properly, and
    fixed a bug where symlinks weren't working properly in ecryptfs. We
    also now advertise the inode btree counters feature that was
    introduced two cycles ago.

    Summary:

    - Fix an ABBA deadlock when renaming files on overlayfs.

    - Make sure that we can't overflow the inode extent counters when
    adding to or removing extents from a file.

    - Make directory sgid inheritance work the same way as all the other
    filesystems.

    - Don't drain the buffer cache on freeze and ro remount, which should
    reduce the amount of time if read-only workloads are continuing
    during the freeze.

    - Fix a bug where symlink size isn't reported to the vfs in ecryptfs.

    - Disentangle log cleaning from log covering. This refactoring sets
    us up for future changes to the log, though for now it simply means
    that we can use covering for freezes, and cleaning becomes
    something we only do at unmount.

    - Speed up file fsyncs by reducing iolock cycling.

    - Fix delalloc blocks leaking when changing the project id fails
    because of input validation errors in FSSETXATTR.

    - Fix oversized quota reservation when converting unwritten extents
    during a DAX write.

    - Create a transaction allocation helper function to standardize the
    idiom of allocating a transaction, reserving blocks, locking
    inodes, and reserving quota. Replace all the open-coded logic for
    file creation, file ownership changes, and file modifications to
    use them.

    - Actually shut down the fs if the incore quota reservations get
    corrupted.

    - Fix background block garbage collection scans to not block and to
    actually clean out CoW staging extents properly.

    - Run block gc scans when we run low on project quota.

    - Use the standardized transaction allocation helpers to make it so
    that ENOSPC and EDQUOT errors during reservation will back out,
    invoke the block gc scanner, and try again. This is preparation for
    introducing background inode garbage collection in the next cycle.

    - Combine speculative post-EOF block garbage collection with
    speculative copy on write block garbage collection.

    - Enable multithreaded quotacheck.

    - Allow sysadmins to tweak the CPU affinities and maximum concurrency
    levels of quotacheck and background blockgc worker pools.

    - Expose the inode btree counter feature in the fs geometry ioctl.

    - Cleanups of the growfs code in preparation for starting work on
    filesystem shrinking.

    - Fix all the bloody gcc warnings that the maintainer knows about. :P

    - Fix a RST syntax error.

    - Don't trigger bmbt corruption assertions after the fs shuts down.

    - Restore behavior of forcing SIGBUS on a shut down filesystem when
    someone triggers a mmap write fault (or really, any buffered
    write)"

    * tag 'xfs-5.12-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (85 commits)
    xfs: consider shutdown in bmapbt cursor delete assert
    xfs: fix boolreturn.cocci warnings
    xfs: restore shutdown check in mapped write fault path
    xfs: fix rst syntax error in admin guide
    xfs: fix incorrect root dquot corruption error when switching group/project quota types
    xfs: get rid of xfs_growfs_{data,log}_t
    xfs: rename `new' to `delta' in xfs_growfs_data_private()
    libxfs: expose inobtcount in xfs geometry
    xfs: don't bounce the iolock between free_{eof,cow}blocks
    xfs: expose the blockgc workqueue knobs publicly
    xfs: parallelize block preallocation garbage collection
    xfs: rename block gc start and stop functions
    xfs: only walk the incore inode tree once per blockgc scan
    xfs: consolidate the eofblocks and cowblocks workers
    xfs: consolidate incore inode radix tree posteof/cowblocks tags
    xfs: remove trivial eof/cowblocks functions
    xfs: hide xfs_icache_free_cowblocks
    xfs: hide xfs_icache_free_eofblocks
    xfs: relocate the eofb/cowb workqueue functions
    xfs: set WQ_SYSFS on all workqueues in debug mode
    ...

    Linus Torvalds
     
  • Pull iomap updates from Darrick Wong:
    "The big change in this cycle is some new code to make it possible for
    XFS to try unaligned directio overwrites without taking locks. If the
    block is fully written and within EOF (i.e. doesn't require any
    further fs intervention) then we can let the unlocked write proceed.
    If not, we fall back to synchronizing direct writes.

    Summary:

    - Adjust the final parameter of iomap_dio_rw.

    - Add a new flag to request that iomap directio writes return EAGAIN
    if the write is not a pure overwrite within EOF; this will be used
    to reduce lock contention with unaligned direct writes on XFS.

    - Amend XFS' directio code to eliminate exclusive locking for
    unaligned direct writes if the circumstances permit"

    * tag 'iomap-5.12-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
    xfs: reduce exclusive locking on unaligned dio
    xfs: split the unaligned DIO write code out
    xfs: improve the reflink_bounce_dio_write tracepoint
    xfs: simplify the read/write tracepoints
    xfs: remove the buffered I/O fallback assert
    xfs: cleanup the read/write helper naming
    xfs: make xfs_file_aio_write_checks IOCB_NOWAIT-aware
    xfs: factor out a xfs_ilock_iocb helper
    iomap: add a IOMAP_DIO_OVERWRITE_ONLY flag
    iomap: pass a flags argument to iomap_dio_rw
    iomap: rename the flags variable in __iomap_dio_rw

    Linus Torvalds
     
  • Pull pstore fix from Kees Cook:
    "Fix a CONFIG typo (Jiri Bohac)"

    * tag 'pstore-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    pstore: Fix typo in compression option name

    Linus Torvalds