1. 15 Oct, 2020 11 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching · 0cd7d979
      Linus Torvalds authored
      Pull livepatching update from Jiri Kosina:
       "livepatching kselftest output fix from Miroslav Benes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:
        selftests/livepatch: Do not check order when using "comm" for dmesg checking
      0cd7d979
    • Linus Torvalds's avatar
      Merge tag 'dio_for_v5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 4a165feb
      Linus Torvalds authored
      Pull direct-io fix from Jan Kara:
       "Fix for unaligned direct IO read past EOF in legacy DIO code"
      
      * tag 'dio_for_v5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        direct-io: defer alignment check until after the EOF check
        direct-io: don't force writeback for reads beyond EOF
        direct-io: clean up error paths of do_blockdev_direct_IO
      4a165feb
    • Linus Torvalds's avatar
      Merge tag 'fs_for_v5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · b77a69b8
      Linus Torvalds authored
      Pull UDF, reiserfs, ext2, quota fixes from Jan Kara:
      
       - a couple of UDF fixes for issues found by syzbot fuzzing
      
       - a couple of reiserfs fixes for issues found by syzbot fuzzing
      
       - some minor ext2 cleanups
      
       - quota patches to support grace times beyond year 2038 for XFS quota
         APIs
      
      * tag 'fs_for_v5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        reiserfs: Fix oops during mount
        udf: Limit sparing table size
        udf: Remove pointless union in udf_inode_info
        udf: Avoid accessing uninitialized data on failed inode read
        quota: clear padding in v2r1_mem2diskdqb()
        reiserfs: Initialize inode keys properly
        udf: Fix memory leak when mounting
        udf: Remove redundant initialization of variable ret
        reiserfs: only call unlock_new_inode() if I_NEW
        ext2: Fix some kernel-doc warnings in balloc.c
        quota: Expand comment describing d_itimer
        quota: widen timestamps for the fs_disk_quota structure
        reiserfs: Fix memory leak in reiserfs_parse_options()
        udf: Use kvzalloc() in udf_sb_alloc_bitmap()
        ext2: remove duplicate include
      b77a69b8
    • Linus Torvalds's avatar
      Merge tag 'configfs-5.10' of git://git.infradead.org/users/hch/configfs · ca5387e4
      Linus Torvalds authored
      Pull configfs updates from Christoph Hellwig:
       "Various cleanups for the configfs samples (Bartosz Golaszewski)"
      
      * tag 'configfs-5.10' of git://git.infradead.org/users/hch/configfs:
        samples: configfs: prefer pr_err() over bare printk(KERN_ERR
        samples: configfs: don't use spaces before tabs
        samples: configfs: consolidate local variables of the same type
        samples: configfs: don't reinitialize variables which are already zeroed
        samples: configfs: replace simple_strtoul() with kstrtoint()
        samples: configfs: fix alignment in item struct
        samples: configfs: drop unnecessary ternary operators
        samples: configfs: remove redundant newlines
        MAINTAINERS: add the sample directory to the configfs entry
      ca5387e4
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.10' of git://git.infradead.org/users/hch/dma-mapping · 5a32c341
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - rework the non-coherent DMA allocator
      
       - move private definitions out of <linux/dma-mapping.h>
      
       - lower CMA_ALIGNMENT (Paul Cercueil)
      
       - remove the omap1 dma address translation in favor of the common code
      
       - make dma-direct aware of multiple dma offset ranges (Jim Quinlan)
      
       - support per-node DMA CMA areas (Barry Song)
      
       - increase the default seg boundary limit (Nicolin Chen)
      
       - misc fixes (Robin Murphy, Thomas Tai, Xu Wang)
      
       - various cleanups
      
      * tag 'dma-mapping-5.10' of git://git.infradead.org/users/hch/dma-mapping: (63 commits)
        ARM/ixp4xx: add a missing include of dma-map-ops.h
        dma-direct: simplify the DMA_ATTR_NO_KERNEL_MAPPING handling
        dma-direct: factor out a dma_direct_alloc_from_pool helper
        dma-direct check for highmem pages in dma_direct_alloc_pages
        dma-mapping: merge <linux/dma-noncoherent.h> into <linux/dma-map-ops.h>
        dma-mapping: move large parts of <linux/dma-direct.h> to kernel/dma
        dma-mapping: move dma-debug.h to kernel/dma/
        dma-mapping: remove <asm/dma-contiguous.h>
        dma-mapping: merge <linux/dma-contiguous.h> into <linux/dma-map-ops.h>
        dma-contiguous: remove dma_contiguous_set_default
        dma-contiguous: remove dev_set_cma_area
        dma-contiguous: remove dma_declare_contiguous
        dma-mapping: split <linux/dma-mapping.h>
        cma: decrease CMA_ALIGNMENT lower limit to 2
        firewire-ohci: use dma_alloc_pages
        dma-iommu: implement ->alloc_noncoherent
        dma-mapping: add new {alloc,free}_noncoherent dma_map_ops methods
        dma-mapping: add a new dma_alloc_pages API
        dma-mapping: remove dma_cache_sync
        53c700: convert to dma_alloc_noncoherent
        ...
      5a32c341
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · f065199d
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "Core:
      
         - Mark dma_request_slave_channel() deprecated in favour of
           dma_request_chan()
      
         - subsystem conversion for tasklet_setup() API
      
         - subsystem removal of local dma_parms for arm drivers
      
        Also updates to bunch of driver notably TI, DW and AXI-DMAC"
      
      * tag 'dmaengine-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (104 commits)
        dmaengine: owl-dma: fix kernel-doc style for enum
        dmaengine: zynqmp_dma: fix kernel-doc style for tasklet
        dmaengine: xilinx_dma: fix kernel-doc style for tasklet
        dmaengine: qcom: bam_dma: fix kernel-doc style for tasklet
        dmaengine: altera-msgdma: fix kernel-doc style for tasklet
        dmaengine: xilinx: dpdma: convert tasklets to use new tasklet_setup() API
        dmaengine: sf-pdma: convert tasklets to use new tasklet_setup() API
        dt-bindings: Fix 'reg' size issues in zynqmp examples
        dmaengine: rcar-dmac: drop double zeroing
        dmaengine: sh: drop double zeroing
        dmaengine: ioat: Allocate correct size for descriptor chunk
        dmaengine: ti: k3-udma: use devm_platform_ioremap_resource_byname
        dmaengine: fsl: remove bad channel update
        dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status
        dmaengine: pl330: fix argument for tasklet
        dmaengine: dmatest: Return boolean result directly in filter()
        dmaengine: dmatest: Check list for emptiness before access its last entry
        dmaengine: ti: k3-udma-glue: fix channel enable functions
        dmaengine: iop-adma: Fix pointer cast warnings
        dmaengine: dw-edma: Fix Using plain integer as NULL pointer in dw-edma-v0-debugfs.c
        ...
      f065199d
    • Linus Torvalds's avatar
      Merge tag 'sound-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · c48b75b7
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "The amount of changes is smaller at this round (what a surprise), but
        lots of activity is seen. Most of changes are about ASoC driver
        development, especially Intel platforms. Here are some highlights:
      
        General:
         - Replace all tasklet usages with other alternatives
         - Cleanup of the ASoC error unwinding code
         - Fixes for trivial issues caught by static checker
         - Spell fixes allover the places
      
        ALSA Core:
         - Lockdep fix for control devices
         - Fix for potential OSS sequencer mutex stalls
      
        HD-audio and USB-audio:
         - SoundBlaster AE-7 support
         - Changes in quirk table for the rename handling
         - Quirks for HP and ASUS machines, Pioneer DJ DJM-250MK2.
      
        ASoC:
         - Lots of updates for Intel SOF and SoundWire enablement
         - Replacement of the DSP driver for some older x86 systems; the new
           code was written from scratch, better maintenance expected
         - Helpers for parsing auxiluary devices from the device tree
         - New support for AllWinner A64, Cirrus Logic CS4234, Mediatek MT6359
           Microchip S/PDIF TX and RX controllers, Realtek RT1015P, and Texas
           Instruments J721E, TAS2110, TAS2564 and TAS2764"
      
      * tag 'sound-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (498 commits)
        ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close
        ALSA: hda: fix jack detection with Realtek codecs when in D3
        ALSA: fireworks: use semicolons rather than commas to separate statements
        ALSA: hda: use semicolons rather than commas to separate statements
        ALSA: hda/i915 - fix list corruption with concurrent probes
        ASoC: dmaengine: Document support for TX only or RX only streams
        ASoC: mchp-spdiftx: remove 'TX' from playback stream name
        ASoC: ti: davinci-mcasp: Use &pdev->dev for early dev_warn
        ASoC: tas2764: Add the driver for the TAS2764
        dt-bindings: tas2764: Add the TAS2764 binding doc
        ASoC: Intel: catpt: Add explicit DMADEVICES kconfig dependency
        ASoC: Intel: catpt: Fix compilation when CONFIG_MODULES is disabled
        ASoC: stm32: dfsdm: add actual resolution trace
        ASoC: stm32: dfsdm: change rate limits
        ASoC: qcom: sc7180: Add support for audio over DP
        Asoc: qcom: lpass-platform : Increase buffer size
        ASoC: qcom: Add support for lpass hdmi driver
        Asoc: qcom: lpass:Update lpaif_dmactl members order
        Asoc:qcom:lpass-cpu:Update dts property read API
        ASoC: dt-bindings: Add dt binding for lpass hdmi
        ...
      c48b75b7
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2020-10-15' of git://anongit.freedesktop.org/drm/drm · 93b694d0
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "Not a major amount of change, the i915 trees got split into display
        and gt trees to better facilitate higher level review, and there's a
        major refactoring of i915 GEM locking to use more core kernel concepts
        (like ww-mutexes). msm gets per-process pagetables, older AMD SI cards
        get DC support, nouveau got a bump in displayport support with common
        code extraction from i915.
      
        Outside of drm this contains a couple of patches for hexint
        moduleparams which you've acked, and a virtio common code tree that
        you should also get via it's regular path.
      
        New driver:
         - Cadence MHDP8546 DisplayPort bridge driver
      
        core:
         - cross-driver scatterlist cleanups
         - devm_drm conversions
         - remove drm_dev_init
         - devm_drm_dev_alloc conversion
      
        ttm:
         - lots of refactoring and cleanups
      
        bridges:
         - chained bridge support in more drivers
      
        panel:
         - misc new panels
      
        scheduler:
         - cleanup priority levels
      
        displayport:
         - refactor i915 code into helpers for nouveau
      
        i915:
         - split into display and GT trees
         - WW locking refactoring in GEM
         - execbuf2 extension mechanism
         - syncobj timeline support
         - GEN 12 HOBL display powersaving
         - Rocket Lake display additions
         - Disable FBC on Tigerlake
         - Tigerlake Type-C + DP improvements
         - Hotplug interrupt refactoring
      
        amdgpu:
         - Sienna Cichlid updates
         - Navy Flounder updates
         - DCE6 (SI) support for DC
         - Plane rotation enabled
         - TMZ state info ioctl
         - PCIe DPC recovery support
         - DC interrupt handling refactor
         - OLED panel fixes
      
        amdkfd:
         - add SMI events for thermal throttling
         - SMI interface events ioctl update
         - process eviction counters
      
        radeon:
         - move to dma_ for allocations
         - expose sclk via sysfs
      
        msm:
         - DSI support for sm8150/sm8250
         - per-process GPU pagetable support
         - Displayport support
      
        mediatek:
         - move HDMI phy driver to PHY
         - convert mtk-dpi to bridge API
         - disable mt2701 tmds
      
        tegra:
         - bridge support
      
        exynos:
         - misc cleanups
      
        vc4:
         - dual display cleanups
      
        ast:
         - cleanups
      
        gma500:
         - conversion to GPIOd API
      
        hisilicon:
         - misc reworks
      
        ingenic:
         - clock handling and format improvements
      
        mcde:
         - DSI support
      
        mgag200:
         - desktop g200 support
      
        mxsfb:
         - i.MX7 + i.MX8M
         - alpha plane support
      
        panfrost:
         - devfreq support
         - amlogic SoC support
      
        ps8640:
         - EDID from eDP retrieval
      
        tidss:
         - AM65xx YUV workaround
      
        virtio:
         - virtio-gpu exported resources
      
        rcar-du:
         - R8A7742, R8A774E1 and R8A77961 support
         - YUV planar format fixes
         - non-visible plane handling
         - VSP device reference count fix
         - Kconfig fix to avoid displaying disabled options in .config"
      
      * tag 'drm-next-2020-10-15' of git://anongit.freedesktop.org/drm/drm: (1494 commits)
        drm/ingenic: Fix bad revert
        drm/amdgpu: Fix invalid number of character '{' in amdgpu_acpi_init
        drm/amdgpu: Remove warning for virtual_display
        drm/amdgpu: kfd_initialized can be static
        drm/amd/pm: setup APU dpm clock table in SMU HW initialization
        drm/amdgpu: prevent spurious warning
        drm/amdgpu/swsmu: fix ARC build errors
        drm/amd/display: Fix OPTC_DATA_FORMAT programming
        drm/amd/display: Don't allow pstate if no support in blank
        drm/panfrost: increase readl_relaxed_poll_timeout values
        MAINTAINERS: Update entry for st7703 driver after the rename
        Revert "gpu/drm: ingenic: Add option to mmap GEM buffers cached"
        drm/amd/display: HDMI remote sink need mode validation for Linux
        drm/amd/display: Change to correct unit on audio rate
        drm/amd/display: Avoid set zero in the requested clk
        drm/amdgpu: align frag_end to covered address space
        drm/amdgpu: fix NULL pointer dereference for Renoir
        drm/vmwgfx: fix regression in thp code due to ttm init refactor.
        drm/amdgpu/swsmu: add interrupt work handler for smu11 parts
        drm/amdgpu/swsmu: add interrupt work function
        ...
      93b694d0
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 726eb70e
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the big set of char, misc, and other assorted driver subsystem
        patches for 5.10-rc1.
      
        There's a lot of different things in here, all over the drivers/
        directory. Some summaries:
      
         - soundwire driver updates
      
         - habanalabs driver updates
      
         - extcon driver updates
      
         - nitro_enclaves new driver
      
         - fsl-mc driver and core updates
      
         - mhi core and bus updates
      
         - nvmem driver updates
      
         - eeprom driver updates
      
         - binder driver updates and fixes
      
         - vbox minor bugfixes
      
         - fsi driver updates
      
         - w1 driver updates
      
         - coresight driver updates
      
         - interconnect driver updates
      
         - misc driver updates
      
         - other minor driver updates
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (396 commits)
        binder: fix UAF when releasing todo list
        docs: w1: w1_therm: Fix broken xref, mistakes, clarify text
        misc: Kconfig: fix a HISI_HIKEY_USB dependency
        LSM: Fix type of id parameter in kernel_post_load_data prototype
        misc: Kconfig: add a new dependency for HISI_HIKEY_USB
        firmware_loader: fix a kernel-doc markup
        w1: w1_therm: make w1_poll_completion static
        binder: simplify the return expression of binder_mmap
        test_firmware: Test partial read support
        firmware: Add request_partial_firmware_into_buf()
        firmware: Store opt_flags in fw_priv
        fs/kernel_file_read: Add "offset" arg for partial reads
        IMA: Add support for file reads without contents
        LSM: Add "contents" flag to kernel_read_file hook
        module: Call security_kernel_post_load_data()
        firmware_loader: Use security_post_load_data()
        LSM: Introduce kernel_post_load_data() hook
        fs/kernel_read_file: Add file_size output argument
        fs/kernel_read_file: Switch buffer size arg to size_t
        fs/kernel_read_file: Remove redundant size argument
        ...
      726eb70e
    • Linus Torvalds's avatar
      Merge tag 'usb-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · c6dbef73
      Linus Torvalds authored
      Pull USB/PHY/Thunderbolt driver updates from Greg KH:
       "Here is the big set of USB, PHY, and Thunderbolt driver updates for
        5.10-rc1.
      
        Lots of tiny different things for these subsystems are in here,
        including:
      
         - phy driver updates
      
         - thunderbolt / USB 4 updates and additions
      
         - USB gadget driver updates
      
         - xhci fixes and updates
      
         - typec driver additions and updates
      
         - api conversions to various drivers for core kernel api changes
      
         - new USB control message functions to make it harder to get wrong,
           as found by syzbot (took 2 tries to get it right)
      
         - lots of tiny USB driver fixes and updates all over the place
      
        All of these have been in linux-next for a while, with the exception
        of the last "obviously correct" patch that updated a FALLTHROUGH
        comment that got merged last weekend"
      
      * tag 'usb-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (374 commits)
        usb: musb: gadget: Use fallthrough pseudo-keyword
        usb: typec: Add QCOM PMIC typec detection driver
        USB: serial: option: add Cellient MPL200 card
        usb: typec: tcpci_maxim: Add support for Sink FRS
        usb: typec: tcpci: Implement callbacks for FRS
        usb: typec: tcpm: Add support for Sink Fast Role SWAP(FRS)
        usb: typec: tcpci_maxim: Chip level TCPC driver
        usb: typec: tcpci: Add set_vbus tcpci callback
        usb: typec: tcpci: Add a getter method to retrieve tcpm_port reference
        usbip: vhci_hcd: fix calling usb_hcd_giveback_urb() with irqs enabled
        usb: cdc-acm: add quirk to blacklist ETAS ES58X devices
        USB: serial: ftdi_sio: use cur_altsetting for consistency
        USB: serial: option: Add Telit FT980-KS composition
        USB: core: remove polling for /sys/kernel/debug/usb/devices
        usb: typec: add support for STUSB160x Type-C controller family
        usb: typec: add typec_find_pwr_opmode
        usb: typec: hd3ss3220: Use OF graph API to get the connector fwnode
        dt-bindings: usb: renesas,usb3-peri: Document HS and SS data bus
        dt-bindings: usb: convert ti,hd3ss3220 bindings to json-schema
        usb: dwc2: Fix INTR OUT transfers in DDMA mode.
        ...
      c6dbef73
    • Linus Torvalds's avatar
      Merge tag 'staging-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · ade7afe3
      Linus Torvalds authored
      Pull staging / IIO driver updates from Greg KH:
       "Here is the large set of staging and IIO driver updates for 5.10-rc1.
      
        Included in here are:
      
         - new IIO drivers
      
         - new IIO driver frameworks
      
         - various IIO driver fixes and updates
      
         - IIO device tree conversions to yaml
      
         - so many minor staging driver coding style cleanups
      
         - most cdev driver moved out of staging
      
         - no staging drivers added or removed
      
        Full details are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (476 commits)
        staging: comedi: check validity of wMaxPacketSize of usb endpoints found
        staging: wfx: improve robustness of wfx_get_hw_rate()
        staging: wfx: drop unicode characters from strings
        staging: wfx: gpiod_get_value() can return an error
        staging: wfx: increase robustness of hif_generic_confirm()
        staging: wfx: wfx_init_common() returns NULL on error
        staging: wfx: standardize the error when vif does not exist
        staging: wfx: check memory allocation
        staging: wfx: improve error handling of hif_join()
        staging: dpaa2-switch: add a dpaa2_switch prefix to all functions in ethsw.c
        staging: dpaa2-switch: add a dpaa2_switch_ prefix to all functions in ethsw-ethtool.c
        staging: rtl8188eu: Fix long lines
        dt-bindings: staging: wfx: silabs,wfx yaml conversion
        staging: wfx: update copyrights dates
        staging: wfx: fix QoS priority for slow buses
        staging: wfx: fix BA sessions for older firmwares
        staging: wfx: remove remaining code of 'secure link' feature
        staging: wfx: fix handling of MMIC error
        staging: vchiq: Fix list_for_each exit tests
        staging: greybus: use __force when assigning __u8 value to snd_ctl_elem_type_t
        ...
      ade7afe3
  2. 14 Oct, 2020 29 commits
    • Linus Torvalds's avatar
      Merge tag 'spdx-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx · 3e4fb434
      Linus Torvalds authored
      Pull SPDX updates from Greg KH:
       "Here are some SPDX-specific changes for 5.10-rc1.
      
        They include:
      
         - driver fixes to make spdxcheck.pl work properly
      
         - add GFDL licenses as "deprecated" but required due to some of our
           documentation using them
      
         - add Zlib license as "deprecated" but required because we have code
           with this license in the tree.
      
         - convert some drivers to have SPDX identifiers that previously
           didn't have them.
      
        All have been in linux-next for a very long time with no reported
        issues"
      
      * tag 'spdx-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx:
        scripts/spdxcheck.py: handle license identifiers in XML comments
        net/mlx5: IPsec: make spdxcheck.py happy
        LICENSES/deprecated: add Zlib license text
        LICENSE: add GFDL deprecated licenses
        net/qla3xxx: Convert to SPDX license identifiers
        net/qlge: Convert to SPDX license identifiers
        net/qlcnic: Convert to SPDX license identifiers
        scsi/qla2xxx: Convert to SPDX license identifiers
        scsi/qla4xxx: Convert to SPDX license identifiers
      3e4fb434
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.10-rc1' of... · fe151462
      Linus Torvalds authored
      Merge tag 'driver-core-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here is the "big" set of driver core patches for 5.10-rc1
      
        They include a lot of different things, all related to the driver core
        and/or some driver logic:
      
         - sysfs common write functions to make it easier to audit sysfs
           attributes
      
         - device connection cleanups and fixes
      
         - devm helpers for a few functions
      
         - NOIO allocations for when devices are being removed
      
         - minor cleanups and fixes
      
        All have been in linux-next for a while with no reported issues"
      
      * tag 'driver-core-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (31 commits)
        regmap: debugfs: use semicolons rather than commas to separate statements
        platform/x86: intel_pmc_core: do not create a static struct device
        drivers core: node: Use a more typical macro definition style for ACCESS_ATTR
        drivers core: Use sysfs_emit for shared_cpu_map_show and shared_cpu_list_show
        mm: and drivers core: Convert hugetlb_report_node_meminfo to sysfs_emit
        drivers core: Miscellaneous changes for sysfs_emit
        drivers core: Reindent a couple uses around sysfs_emit
        drivers core: Remove strcat uses around sysfs_emit and neaten
        drivers core: Use sysfs_emit and sysfs_emit_at for show(device *...) functions
        sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output
        dyndbg: use keyword, arg varnames for query term pairs
        driver core: force NOIO allocations during unplug
        platform_device: switch to simpler IDA interface
        driver core: platform: Document return type of more functions
        Revert "driver core: Annotate dev_err_probe() with __must_check"
        Revert "test_firmware: Test platform fw loading on non-EFI systems"
        iio: adc: xilinx-xadc: use devm_krealloc()
        hwmon: pmbus: use more devres helpers
        devres: provide devm_krealloc()
        syscore: Use pm_pr_dbg() for syscore_{suspend,resume}()
        ...
      fe151462
    • Linus Torvalds's avatar
      Merge tag 'tty-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 5d6c413c
      Linus Torvalds authored
      Pull tty/serial updates from Greg KH:
       "Here is the big set of tty and serial driver patches for 5.10-rc1.
      
        Lots of little things in here, including:
      
         - tasklet_setup api conversions
      
         - sysrq support for capital letters
      
         - vt and vc cleanups and unwinding the mess some more
      
         - serial driver updates and minor tweaks
      
         - new device ids
      
         - rs485 support for some drivers
      
         - serial binding documentation updates
      
         - lots of small serial driver changes for reported issues
      
        All have been in linux-next for a while with no reported issues"
      
      * tag 'tty-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (79 commits)
        serial: mcf: add sysrq capability
        serial: fsl_lpuart: add sysrq support when using dma
        fbcon: remove no-op fbcon_set_origin()
        tty/sysrq: Extend the sysrq_key_table to cover capital letters
        serial: max310x: rework RX interrupt handling
        serial: 8250_dw: Fix clk-notifier/port suspend deadlock
        serial: 8250: Skip uninitialized TTY port baud rate update
        serial: 8250: Discard RTS/DTS setting from clock update method
        tty: serial: imx: disable TXDC IRQ in imx_uart_shutdown() to avoid IRQ storm
        serial: 8250_fsl: Fix TX interrupt handling condition
        serial: pl011: Fix lockdep splat when handling magic-sysrq interrupt
        tty: serial: fsl_lpuart: fix lpuart32_poll_get_char
        tty: serial: lpuart: fix lpuart32_write usage
        serial: qcom_geni_serial: To correct QUP Version detection logic
        serial: mvebu-uart: fix unused variable warning
        vt_ioctl: make VT_RESIZEX behave like VT_RESIZE
        serial: mvebu-uart: simplify the return expression of mvebu_uart_probe()
        tty: serial: imx: fix link error with CONFIG_SERIAL_CORE_CONSOLE=n
        tty: hvc: fix link error with CONFIG_SERIAL_CORE_CONSOLE=n
        pch_uart: drop double zeroing
        ...
      5d6c413c
    • Jason A. Donenfeld's avatar
      powerpc32: don't adjust unmoved stack pointer in csum_partial_copy_generic() epilogue · e6037a75
      Jason A. Donenfeld authored
      A recent change to the checksum code removed usage of some extra
      arguments, alongside with storage on the stack for those, and the stack
      pointer no longer needed to be adjusted in the function prologue.
      
      But a left over subtraction wasn't removed in the function epilogue,
      causing the function to return with the stack pointer moved 16 bytes
      away from where it should have.  This corrupted local state and lead to
      weird crashes.
      
      This simply removes the leftover instruction from the epilogue.
      
      Fixes: 70d65cd5 ("ppc: propagate the calling conventions change down to csum_partial_copy_generic()")
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e6037a75
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 6448cbf6
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "New Drivers:
         - Add support for KTD253
      
        Fix-ups:
         - Add Device Tree documentation; common, kinetic,ktd253
         - Use correct header(s); tosa_lcd, tosa_bl
      
        Bug Fixes:
         - Fix refcount imbalance; sky81452-backlight"
      
      * tag 'backlight-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: tosa_bl: Include the right header
        backlight: tosa_lcd: Include the right header
        backlight: Add Kinetic KTD253 backlight driver
        dt-bindings: backlight: Add Kinetic KTD253 bindings
        dt-bindings: backlight: Add some common backlight properties
        backlight: sky81452-backlight: Fix refcount imbalance on error
      6448cbf6
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 1a31c123
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "New Drivers:
         - Add support for initialising shared (between children) Regmaps
         - Add support for Kontron SL28CPLD
         - Add support for ENE KB3930 Embedded Controller
         - Add support for Intel FPGA PAC MAX 10 BMC
      
        New Device Support:
         - Add support for Power to Ricoh RN5T618
         - Add support for UART to Intel Lakefield
         - Add support for LP87524_Q1 to Texas Instruments LP87565
      
        New Functionality:
         - Device Tree; ene-kb3930, sl28cpld, syscon, lp87565, lp87524-q1
         - Use new helper dev_err_probe(); madera-core, stmfx, wcd934x
         - Use new GPIOD API; dm355evm_msp
         - Add wake-up capability; sprd-sc27xx-spi
         - Add ACPI support; kempld-core
      
        Fix-ups:
         - Trivial (spelling/whitespace); Kconfig, ab8500
         - Fix for unused variables; khadas-mcu, kempld-core
         - Remove unused header file(s); mt6360-core
         - Use correct IRQ flags in docs; act8945a, gateworks-gsc, rohm,bd70528-pmic
         - Add COMPILE_TEST support; asic3, tmio_core
         - Add dependency on I2C; SL28CPLD
      
        Bug Fixes:
         - Fix memory leak(s); sm501
         - Do not free regmap_config's 'name' until exit; syscon"
      
      * tag 'mfd-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (34 commits)
        mfd: kempld-core: Fix unused variable 'kempld_acpi_table' when !ACPI
        mfd: sl28cpld: Depend on I2C
        mfd: asic3: Build if COMPILE_TEST=y
        dt-bindings: mfd: Correct interrupt flags in examples
        mfd: Add ACPI support to Kontron PLD driver
        mfd: intel-m10-bmc: Add Intel MAX 10 BMC chip support for Intel FPGA PAC
        mfd: lp87565: Add LP87524-Q1 variant
        dt-bindings: mfd: Add LP87524-Q1
        dt-bindings: mfd: lp87565: Convert to yaml
        mfd: mt6360: Remove unused include <linux/version.h>
        mfd: sm501: Fix leaks in probe()
        mfd: syscon: Don't free allocated name for regmap_config
        dt-bindings: mfd: syscon: Document Exynos3 and Exynos5433 compatibles
        dt-bindings: mfd: syscon: Merge Samsung Exynos Sysreg bindings
        dt-bindings: mfd: ab8500: Remove weird Unicode characters
        mfd: sprd: Add wakeup capability for PMIC IRQ
        mfd: intel-lpss: Add device IDs for UART ports for Lakefield
        mfd: dm355evm_msp: Convert LEDs to GPIO descriptor table
        mfd: wcd934x: Simplify with dev_err_probe()
        mfd: stmfx: Simplify with dev_err_probe()
        ...
      1a31c123
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · f888bdf9
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
      
       - Update dtc to upstream version v1.6.0-31-gcbca977ea121
      
       - dtx_diff help text reformatting
      
       - Speed-up validation time for binding and dtb checks using json for
         intermediate files
      
       - Add support for running yamllint on DT schema files
      
       - Remove old booting-without-of.rst
      
       - Extend the example schema to address common issues
      
       - Cleanup handling of additionalProperties/unevaluatedProperties
      
       - Ensure all DSI controller schemas reference dsi-controller.yaml
      
       - Vendor prefixes for Zealz, Wandbord/Technexion, Embest RIoT, Rex,
         DFI, and Cisco Meraki
      
       - Convert at25, SPMI bus, TI hwlock, HiSilicon Hi3660 USB3 PHY, Arm
         SP805 watchdog, Arm SP804, and Samsung 11-pin USB connector to DT
         schema
      
       - Convert HiSilicon SoC and syscon bindings to DT schema
      
       - Convert SiFive Risc-V L2 cache, PLIC, PRCI, and PWM to DT schema
      
       - Convert i.MX bindings for w1, crypto, rng, SIM, PM, DDR, SATA, vf610
         GPIO, and UART to DT schema
      
       - Add i.MX 8M compatible strings
      
       - Add LM81 and DS1780 as trivial devices
      
       - Various missing properties added to fix dtb validation warnings
      
      * tag 'devicetree-for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (111 commits)
        dt-bindings: misc: explicitly add #address-cells for slave mode
        spi: dt-bindings: spi-controller: explicitly require #address-cells=<0> for slave mode
        dt: Remove booting-without-of.rst
        dt-bindings: update usb-c-connector example
        dt-bindings: arm: hisilicon: add missing properties into cpuctrl.yaml
        dt-bindings: arm: hisilicon: add missing properties into sysctrl.yaml
        dt-bindings: pwm: imx: document i.MX compatibles
        scripts/dtc: Update to upstream version v1.6.0-31-gcbca977ea121
        dt-bindings: Add running yamllint to dt_binding_check
        dt-bindings: powerpc: Add a schema for the 'sleep' property
        dt-bindings: pinctrl: sirf: Fix typo abitrary
        dt-bindings: pinctrl: qcom: Fix typo abitrary
        dt-bindings: Explicitly allow additional properties in common schemas
        dt-bindings: Use 'additionalProperties' instead of 'unevaluatedProperties'
        dt-bindings: Add missing 'unevaluatedProperties'
        Docs: Fixing spelling errors in Documentation/devicetree/bindings/
        dt-bindings: arm: hisilicon: convert Hi6220 domain controller bindings to json-schema
        dt-bindings: riscv: convert pwm bindings to json-schema
        dt-bindings: riscv: convert plic bindings to json-schema
        dt-bindings: fu540: prci: convert PRCI bindings to json-schema
        ...
      f888bdf9
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · b4e1bce8
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "Core changes:
      
         - NONE whatsoever, we don't even touch the core files this time
           around.
      
        New drivers:
      
         - New driver for the Toshiba Visconti SoC.
      
         - New subdriver for the Qualcomm MSM8226 SoC.
      
         - New subdriver for the Actions Semiconductor S500 SoC.
      
         - New subdriver for the Mediatek MT8192 SoC.
      
         - New subdriver for the Microchip SAMA7G5 SoC.
      
        Driver enhancements:
      
         - Intel Cherryview and Baytrail cleanups and refactorings.
      
         - Enhanced support for the Renesas R8A7790, more pins and groups.
      
         - Some optimizations for the MCP23S08 MCP23x17 variant.
      
         - Some cleanups around the Actions Semiconductor subdrivers.
      
         - A bunch of cleanups around the SH-PFC and Emma Mobile drivers.
      
         - The "SH-PFC" (literally SuperH pin function controller, I think)
           subdirectory is now renamed to the more neutral "renesas", as these
           are not very much centered around SuperH anymore.
      
         - Non-critical fixes for the Aspeed driver.
      
         - Non-critical fixes for the Ingenic (MIPS!) driver.
      
         - Fix a bunch of missing pins on the AMD pinctrl driver"
      
      * tag 'pinctrl-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (78 commits)
        pinctrl: amd: Add missing pins to the pin group list
        dt-bindings: pinctrl: sunxi: Allow pinctrl with more interrupt banks
        pinctrl: visconti: PINCTRL_TMPV7700 should depend on ARCH_VISCONTI
        pinctrl: mediatek: Free eint data on failure
        pinctrl: single: fix debug output when #pinctrl-cells = 2
        pinctrl: single: fix pinctrl_spec.args_count bounds check
        pinctrl: sunrisepoint: Modify COMMUNITY macros to be consistent
        pinctrl: cannonlake: Modify COMMUNITY macros to be consistent
        pinctrl: tigerlake: Fix register offsets for TGL-H variant
        pinctrl: Document pinctrl-single,pins when #pinctrl-cells = 2
        pinctrl: mediatek: use devm_platform_ioremap_resource_byname()
        pinctrl: nuvoton: npcm7xx: Constify static ops structs
        pinctrl: mediatek: mt7622: add antsel pins/groups
        pinctrl: ocelot: simplify the return expression of ocelot_gpiochip_register()
        pinctrl: at91-pio4: add support for sama7g5 SoC
        dt-bindings: pinctrl: at91-pio4: add microchip,sama7g5
        pinctrl: spear: simplify the return expression of tvc_connect()
        pinctrl: spear: simplify the return expression of spear310_pinctrl_probe
        pinctrl: sprd: use module_platform_driver to simplify the code
        pinctrl: Ingenic: Add I2S pins support for Ingenic SoCs.
        ...
      b4e1bce8
    • Linus Torvalds's avatar
      Merge tag 'leds-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · 7fafb54c
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "Quite a lot of stuff is going on here. Great cleanups/fixes from Marek
        and others are biggest part.
      
        I limited CPU LED trigger to 8 LEDs, because it was willing to
        register 1024 'triggers' on machine with 1024 CPUs. I don't believe it
        will cause any problems, but we can raise the limit if it does"
      
      * tag 'leds-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds: (84 commits)
        leds: pwm: Remove platform_data support
        leds: lm3697: Fix out-of-bound access
        leds: ns2: do not guard OF match pointer with of_match_ptr
        leds: ns2: convert to fwnode API
        leds: tlc591xx: fix leak of device node iterator
        leds: pca963x: use struct led_init_data when registering
        leds: pca963x: register LEDs immediately after parsing, get rid of platdata
        leds: tca6507: remove binding comment
        leds: tca6507: cosmetic change: use helper variable
        leds: tca6507: do not set GPIO names
        dt-bindings: leds: tca6507: convert to YAML
        ledtrig-cpu: Limit to 8 CPUs
        leds: TODO: Add documentation about possible subsystem improvements
        leds: pca9532: read pwm settings from device tree
        leds: pca9532: correct shift computation in pca9532_getled
        leds: lm36274: Fix warning for undefined parameters
        leds: lm3532: Fix warnings for undefined parameters
        leds: pca963x: use flexible array
        leds: pca963x: cosmetic: rename variables
        leds: pca963x: cosmetic: rename variables
        ...
      7fafb54c
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 55e0500e
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "The usual driver updates (ufs, qla2xxx, tcmu, ibmvfc, lpfc, smartpqi,
        hisi_sas, qedi, qedf, mpt3sas) and minor bug fixes.
      
        There are only three core changes: adding sense codes, cleaning up
        noretry and adding an option for limitless retries"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (226 commits)
        scsi: hisi_sas: Recover PHY state according to the status before reset
        scsi: hisi_sas: Filter out new PHY up events during suspend
        scsi: hisi_sas: Add device link between SCSI devices and hisi_hba
        scsi: hisi_sas: Add check for methods _PS0 and _PR0
        scsi: hisi_sas: Add controller runtime PM support for v3 hw
        scsi: hisi_sas: Switch to new framework to support suspend and resume
        scsi: hisi_sas: Use hisi_hba->cq_nvecs for calling calling synchronize_irq()
        scsi: qedf: Remove redundant assignment to variable 'rc'
        scsi: lpfc: Remove unneeded variable 'status' in lpfc_fcp_cpu_map_store()
        scsi: snic: Convert to use DEFINE_SEQ_ATTRIBUTE macro
        scsi: qla4xxx: Delete unneeded variable 'status' in qla4xxx_process_ddb_changed
        scsi: sun_esp: Use module_platform_driver to simplify the code
        scsi: sun3x_esp: Use module_platform_driver to simplify the code
        scsi: sni_53c710: Use module_platform_driver to simplify the code
        scsi: qlogicpti: Use module_platform_driver to simplify the code
        scsi: mac_esp: Use module_platform_driver to simplify the code
        scsi: jazz_esp: Use module_platform_driver to simplify the code
        scsi: mvumi: Fix error return in mvumi_io_attach()
        scsi: lpfc: Drop nodelist reference on error in lpfc_gen_req()
        scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs()
        ...
      55e0500e
    • Linus Torvalds's avatar
      Merge tag 'for-5.10/dm-changes' of... · 4815519e
      Linus Torvalds authored
      Merge tag 'for-5.10/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Improve DM core's bio splitting to use blk_max_size_offset(). Also
         fix bio splitting for bios that were deferred to the worker thread
         due to a DM device being suspended.
      
       - Remove DM core's special handling of NVMe devices now that block core
         has internalized efficiencies drivers previously needed to be
         concerned about (via now removed direct_make_request).
      
       - Fix request-based DM to not bounce through indirect dm_submit_bio;
         instead have block core make direct call to blk_mq_submit_bio().
      
       - Various DM core cleanups to simplify and improve code.
      
       - Update DM cryot to not use drivers that set
         CRYPTO_ALG_ALLOCATES_MEMORY.
      
       - Fix DM raid's raid1 and raid10 discard limits for the purposes of
         linux-stable. But then remove DM raid's discard limits settings now
         that MD raid can efficiently handle large discards.
      
       - A couple small cleanups across various targets.
      
      * tag 'for-5.10/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: fix request-based DM to not bounce through indirect dm_submit_bio
        dm: remove special-casing of bio-based immutable singleton target on NVMe
        dm: export dm_copy_name_and_uuid
        dm: fix comment in __dm_suspend()
        dm: fold dm_process_bio() into dm_submit_bio()
        dm: fix missing imposition of queue_limits from dm_wq_work() thread
        dm snap persistent: simplify area_io()
        dm thin metadata: Remove unused local variable when create thin and snap
        dm raid: remove unnecessary discard limits for raid10
        dm raid: fix discard limits for raid1 and raid10
        dm crypt: don't use drivers that have CRYPTO_ALG_ALLOCATES_MEMORY
        dm: use dm_table_get_device_name() where appropriate in targets
        dm table: make 'struct dm_table' definition accessible to all of DM core
        dm: eliminate need for start_io_acct() forward declaration
        dm: simplify __process_abnormal_io()
        dm: push use of on-stack flush_bio down to __send_empty_flush()
        dm: optimize max_io_len() by inlining max_io_len_target_boundary()
        dm: push md->immutable_target optimization down to __process_bio()
        dm: change max_io_len() to use blk_max_size_offset()
        dm table: stack 'chunk_sectors' limit to account for target-specific splitting
      4815519e
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.10-1' of git://github.com/cminyard/linux-ipmi · 6e4dc3d5
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "Some minor bug fixes, return values, cleanups of prints, conversion of
        tasklets to the new API.
      
        The biggest change is retrying the initial information fetch from the
        management controller. If that fails, the iterface is not operational,
        and one group was having trouble with the management controller not
        being ready when the OS started up. So a retry was added"
      
      * tag 'for-linus-5.10-1' of git://github.com/cminyard/linux-ipmi:
        ipmi_si: Fix wrong return value in try_smi_init()
        ipmi: msghandler: Fix a signedness bug
        ipmi: add retry in try_get_dev_id()
        ipmi: Clean up some printks
        ipmi:msghandler: retry to get device id on an error
        ipmi:sm: Print current state when the state is invalid
        ipmi: Reset response handler when failing to send the command
        ipmi: add a newline when printing parameter 'panic_op' by sysfs
        char: ipmi: convert tasklets to use new tasklet_setup() API
      6e4dc3d5
    • Linus Torvalds's avatar
      Merge branch 'for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 2f6c6d08
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
       "Two minor changes.
      
        One makes cgroup interface files ignore zero-sized writes rather than
        triggering -EINVAL on them. The other change is a cleanup which
        doesn't cause any behavior changes"
      
      * 'for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: Zero sized write should be no-op
        cgroup: remove redundant kernfs_activate in cgroup_setup_root()
      2f6c6d08
    • Andrii Nakryiko's avatar
      fs: fix NULL dereference due to data race in prepend_path() · 09cad075
      Andrii Nakryiko authored
      Fix data race in prepend_path() with re-reading mnt->mnt_ns twice
      without holding the lock.
      
      is_mounted() does check for NULL, but is_anon_ns(mnt->mnt_ns) might
      re-read the pointer again which could be NULL already, if in between
      reads one of kern_unmount()/kern_unmount_array()/umount_tree() sets
      mnt->mnt_ns to NULL.
      
      This is seen in production with the following stack trace:
      
        BUG: kernel NULL pointer dereference, address: 0000000000000048
        ...
        RIP: 0010:prepend_path.isra.4+0x1ce/0x2e0
        Call Trace:
          d_path+0xe6/0x150
          proc_pid_readlink+0x8f/0x100
          vfs_readlink+0xf8/0x110
          do_readlinkat+0xfd/0x120
          __x64_sys_readlinkat+0x1a/0x20
          do_syscall_64+0x42/0x110
          entry_SYSCALL_64_after_hwframe+0x44/0xa9
      
      Fixes: f2683bd8 ("[PATCH] fix d_absolute_path() interplay with fsmount()")
      Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
      Reviewed-by: default avatarJosef Bacik <josef@toxicpanda.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      09cad075
    • Linus Torvalds's avatar
      Merge tag 'threads-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · 4da9af00
      Linus Torvalds authored
      Pull pidfd updates from Christian Brauner:
       "This introduces a new extension to the pidfd_open() syscall. Users can
        now raise the new PIDFD_NONBLOCK flag to support non-blocking pidfd
        file descriptors. This has been requested for uses in async process
        management libraries such as async-pidfd in Rust.
      
        Ever since the introduction of pidfds and more advanced async io
        various programming languages such as Rust have grown support for
        async event libraries. These libraries are created to help build
        epoll-based event loops around file descriptors. A common pattern is
        to automatically make all file descriptors they manage to O_NONBLOCK.
      
        For such libraries the EAGAIN error code is treated specially. When a
        function is called that returns EAGAIN the function isn't called again
        until the event loop indicates the the file descriptor is ready.
        Supporting EAGAIN when waiting on pidfds makes such libraries just
        work with little effort.
      
        This introduces a new flag PIDFD_NONBLOCK that is equivalent to
        O_NONBLOCK. This follows the same patterns we have for other (anon
        inode) file descriptors such as EFD_NONBLOCK, IN_NONBLOCK,
        SFD_NONBLOCK, TFD_NONBLOCK and the same for close-on-exec flags.
      
        Passing a non-blocking pidfd to waitid() currently has no effect, i.e.
        is not supported. There are users which would like to use waitid() on
        pidfds that are O_NONBLOCK and mix it with pidfds that are blocking
        and both pass them to waitid().
      
        The expected behavior is to have waitid() return -EAGAIN for
        non-blocking pidfds and to block for blocking pidfds without needing
        to perform any additional checks for flags set on the pidfd before
        passing it to waitid(). Non-blocking pidfds will return EAGAIN from
        waitid() when no child process is ready yet. Returning -EAGAIN for
        non-blocking pidfds makes it easier for event loops that handle EAGAIN
        specially.
      
        It also makes the API more consistent and uniform. In essence,
        waitid() is treated like a read on a non-blocking pidfd or a recvmsg()
        on a non-blocking socket.
      
        With the addition of support for non-blocking pidfds we support the
        same functionality that sockets do. For sockets() recvmsg() supports
        MSG_DONTWAIT for pidfds waitid() supports WNOHANG. Both flags are
        per-call options. In contrast non-blocking pidfds and non-blocking
        sockets are a setting on an open file description affecting all
        threads in the calling process as well as other processes that hold
        file descriptors referring to the same open file description. Both
        behaviors, per call and per open file description, have genuine
        use-cases.
      
        The interaction with the WNOHANG flag is documented as follows:
      
         - If a non-blocking pidfd is passed and WNOHANG is not raised we
           simply raise the WNOHANG flag internally. When do_wait() returns
           indicating that there are eligible child processes but none have
           exited yet we set EAGAIN. If no child process exists we continue
           returning ECHILD.
      
         - If a non-blocking pidfd is passed and WNOHANG is raised waitid()
           will continue returning 0, i.e. it will not set EAGAIN. This ensure
           backwards compatibility with applications passing WNOHANG
           explicitly with pidfds"
      
      * tag 'threads-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        tests: remove O_NONBLOCK before waiting for WSTOPPED
        tests: add waitid() tests for non-blocking pidfds
        tests: port pidfd_wait to kselftest harness
        pidfd: support PIDFD_NONBLOCK in pidfd_open()
        exit: support non-blocking pidfds
      4da9af00
    • Linus Torvalds's avatar
      Merge tag 'kernel-clone-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · 612e7a4c
      Linus Torvalds authored
      Pull kernel_clone() updates from Christian Brauner:
       "During the v5.9 merge window we reworked the process creation
        codepaths across multiple architectures. After this work we were only
        left with the _do_fork() helper based on the struct kernel_clone_args
        calling convention. As was pointed out _do_fork() isn't valid
        kernelese especially for a helper that isn't just static.
      
        This series removes the _do_fork() helper and introduces the new
        kernel_clone() helper. The process creation cleanup didn't change the
        name to something more reasonable mainly because _do_fork() was used
        in quite a few places. So sending this as a separate series seemed the
        better strategy.
      
        I originally intended to send this early in the v5.9 development cycle
        after the merge window had closed but given that this was touching
        quite a few places I decided to defer this until the v5.10 merge
        window"
      
      * tag 'kernel-clone-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        sched: remove _do_fork()
        tracing: switch to kernel_clone()
        kgdbts: switch to kernel_clone()
        kprobes: switch to kernel_clone()
        x86: switch to kernel_clone()
        sparc: switch to kernel_clone()
        nios2: switch to kernel_clone()
        m68k: switch to kernel_clone()
        ia64: switch to kernel_clone()
        h8300: switch to kernel_clone()
        fork: introduce kernel_clone()
      612e7a4c
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-fixes-5.10-rc1' of... · 9e51183e
      Linus Torvalds authored
      Merge tag 'linux-kselftest-fixes-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest updates from Shuah Khan:
      
       - a selftests harness fix to flush stdout before forking to avoid
         parent and child printing duplicates messages. This is evident when
         test output is redirected to a file.
      
       - a tools/ wide change to avoid comma separated statements from Joe
         Perches. This fix spans tools/lib, tools/power/cpupower, and
         selftests.
      
      * tag 'linux-kselftest-fixes-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        tools: Avoid comma separated statements
        selftests/harness: Flush stdout before forking
      9e51183e
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.10-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 2fc61f25
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "The biggest changes are two new features for the ondisk metadata: one
        to record the sizes of the inode btrees in the AG to increase
        redundancy checks and to improve mount times; and a second new feature
        to support timestamps until the year 2486.
      
        We also fixed a problem where reflinking into a file that requires
        synchronous writes wouldn't actually flush the updates to disk; clean
        up a fair amount of cruft; and started fixing some bugs in the
        realtime volume code.
      
        Summary:
      
         - Clean up the buffer ioend calling path so that the retry strategy
           isn't quite so scattered everywhere.
      
         - Clean up m_sb_bp handling.
      
         - New feature: storing inode btree counts in the AGI to speed up
           certain mount time per-AG block reservation operatoins and add a
           little more metadata redundancy.
      
         - New feature: Widen inode timestamps and quota grace expiration
           timestamps to support dates through the year 2486.
      
         - Get rid of more of our custom buffer allocation API wrappers.
      
         - Use a proper VLA for shortform xattr structure namevals.
      
         - Force the log after reflinking or deduping into a file that is
           opened with O_SYNC or O_DSYNC.
      
         - Fix some math errors in the realtime allocator"
      
      * tag 'xfs-5.10-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (42 commits)
        xfs: ensure that fpunch, fcollapse, and finsert operations are aligned to rt extent size
        xfs: make sure the rt allocator doesn't run off the end
        xfs: Remove unneeded semicolon
        xfs: force the log after remapping a synchronous-writes file
        xfs: Convert xfs_attr_sf macros to inline functions
        xfs: Use variable-size array for nameval in xfs_attr_sf_entry
        xfs: Remove typedef xfs_attr_shortform_t
        xfs: remove typedef xfs_attr_sf_entry_t
        xfs: Remove kmem_zalloc_large()
        xfs: enable big timestamps
        xfs: trace timestamp limits
        xfs: widen ondisk quota expiration timestamps to handle y2038+
        xfs: widen ondisk inode timestamps to deal with y2038+
        xfs: redefine xfs_ictimestamp_t
        xfs: redefine xfs_timestamp_t
        xfs: move xfs_log_dinode_to_disk to the log recovery code
        xfs: refactor quota timestamp coding
        xfs: refactor default quota grace period setting code
        xfs: refactor quota expiration timer modification
        xfs: explicitly define inode timestamp range
        ...
      2fc61f25
    • Linus Torvalds's avatar
      Merge tag 'iomap-5.10-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 37187df4
      Linus Torvalds authored
      Pull iomap updates from Darrick Wong:
       "There's not a lot of new stuff going on here -- a little bit of code
        refactoring to make iomap workable with btrfs' fsync locking model,
        cleanups in preparation for adding THP support for filesystems, and
        fixing a data corruption issue for blocksize < pagesize filesystems.
      
        Summary:
      
         - Don't WARN_ON weird states that unprivileged users can create.
      
         - Don't invalidate page cache when direct writes want to fall back to
           buffered.
      
         - Fix some problems when readahead ios fail.
      
         - Fix a problem where inline data pages weren't getting flushed
           during an unshare operation.
      
         - Rework iomap to support arbitrarily many blocks per page in
           preparation to support THP for the page cache.
      
         - Fix a bug in the blocksize < pagesize buffered io path where we
           could fail to initialize the many-blocks-per-page uptodate bitmap
           correctly when the backing page is actually up to date. This could
           cause us to forget to write out dirty pages.
      
         - Split out the generic_write_sync at the end of the directio write
           path so that btrfs can drop the inode lock before sync'ing the
           file.
      
         - Call inode_dio_end before trying to sync the file after a O_DSYNC
           direct write (instead of afterwards) to match the behavior of the
           old directio code"
      
      * tag 'iomap-5.10-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: Call inode_dio_end() before generic_write_sync()
        iomap: Allow filesystem to call iomap_dio_complete without i_rwsem
        iomap: Set all uptodate bits for an Uptodate page
        iomap: Change calling convention for zeroing
        iomap: Convert iomap_write_end types
        iomap: Convert write_count to write_bytes_pending
        iomap: Convert read_count to read_bytes_pending
        iomap: Support arbitrarily many blocks per page
        iomap: Use bitmap ops to set uptodate bits
        iomap: Use kzalloc to allocate iomap_page
        fs: Introduce i_blocks_per_page
        iomap: Fix misplaced page flushing
        iomap: Use round_down/round_up macros in __iomap_write_begin
        iomap: Mark read blocks uptodate in write_begin
        iomap: Clear page error before beginning a write
        iomap: Fix direct I/O write consistency check
        iomap: fix WARN_ON_ONCE() from unprivileged users
      37187df4
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 531d29b0
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
      
       - ARM-SMMU Updates from Will:
      
            - Continued SVM enablement, where page-table is shared with CPU
      
            - Groundwork to support integrated SMMU with Adreno GPU
      
            - Allow disabling of MSI-based polling on the kernel command-line
      
            - Minor driver fixes and cleanups (octal permissions, error
              messages, ...)
      
       - Secure Nested Paging Support for AMD IOMMU. The IOMMU will fault when
         a device tries DMA on memory owned by a guest. This needs new
         fault-types as well as a rewrite of the IOMMU memory semaphore for
         command completions.
      
       - Allow broken Intel IOMMUs (wrong address widths reported) to still be
         used for interrupt remapping.
      
       - IOMMU UAPI updates for supporting vSVA, where the IOMMU can access
         address spaces of processes running in a VM.
      
       - Support for the MT8167 IOMMU in the Mediatek IOMMU driver.
      
       - Device-tree updates for the Renesas driver to support r8a7742.
      
       - Several smaller fixes and cleanups all over the place.
      
      * tag 'iommu-updates-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (57 commits)
        iommu/vt-d: Gracefully handle DMAR units with no supported address widths
        iommu/vt-d: Check UAPI data processed by IOMMU core
        iommu/uapi: Handle data and argsz filled by users
        iommu/uapi: Rename uapi functions
        iommu/uapi: Use named union for user data
        iommu/uapi: Add argsz for user filled data
        docs: IOMMU user API
        iommu/qcom: add missing put_device() call in qcom_iommu_of_xlate()
        iommu/arm-smmu-v3: Add SVA device feature
        iommu/arm-smmu-v3: Check for SVA features
        iommu/arm-smmu-v3: Seize private ASID
        iommu/arm-smmu-v3: Share process page tables
        iommu/arm-smmu-v3: Move definitions to a header
        iommu/io-pgtable-arm: Move some definitions to a header
        iommu/arm-smmu-v3: Ensure queue is read after updating prod pointer
        iommu/amd: Re-purpose Exclusion range registers to support SNP CWWB
        iommu/amd: Add support for RMP_PAGE_FAULT and RMP_HW_ERR
        iommu/amd: Use 4K page for completion wait write-back semaphore
        iommu/tegra-smmu: Allow to group clients in same swgroup
        iommu/tegra-smmu: Fix iova->phys translation
        ...
      531d29b0
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-5.10' of... · 79db2b74
      Linus Torvalds authored
      Merge branch 'stable/for-linus-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb
      
      Pull swiotlb updates from Konrad Rzeszutek Wilk:
       "Minor enhancement of using %p to print phys_addr_r and also compiler
        warnings"
      
      * 'stable/for-linus-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
        swiotlb: Mark max_segment with static keyword
        swiotlb: Declare swiotlb_late_init_with_default_size() in header
        swiotlb: Use %pa to print phys_addr_t variables
      79db2b74
    • Linus Torvalds's avatar
      Merge tag 'pnp-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · defb53a7
      Linus Torvalds authored
      Pull PNP updates from Rafael Wysocki:
       "These clean the PNP code somewhat:
      
         - Remove the now unused pnp_find_card() function (Christoph Hellwig)
      
         - Drop duplicate pci.h include from the quirks code and add an
           "internal.h" include to acpi_pnp.c to fix a compiler warning (Tian
           Tao)"
      
      * tag 'pnp-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PNP: remove the now unused pnp_find_card() function
        PNP: ACPI: Fix missing-prototypes in acpi_pnp.c
        PNP: quirks: Fix duplicate included pci.h
      defb53a7
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · cf1d2b44
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These add support for generic initiator-only proximity domains to the
        ACPI NUMA code and the architectures using it, clean up some
        non-ACPICA code referring to debug facilities from ACPICA, reduce the
        overhead related to accessing GPE registers, add a new DPTF (Dynamic
        Power and Thermal Framework) participant driver, update the ACPICA
        code in the kernel to upstream revision 20200925, add a new ACPI
        backlight whitelist entry, fix a few assorted issues and clean up some
        code.
      
        Specifics:
      
         - Add support for generic initiator-only proximity domains to the
           ACPI NUMA code and the architectures using it (Jonathan Cameron)
      
         - Clean up some non-ACPICA code referring to debug facilities from
           ACPICA that are not actually used in there (Hanjun Guo)
      
         - Add new DPTF driver for the PCH FIVR participant (Srinivas
           Pandruvada)
      
         - Reduce overhead related to accessing GPE registers in ACPICA and
           the OS interface layer and make it possible to access GPE registers
           using logical addresses if they are memory-mapped (Rafael Wysocki)
      
         - Update the ACPICA code in the kernel to upstream revision 20200925
           including changes as follows:
            + Add predefined names from the SMBus sepcification (Bob Moore)
            + Update acpi_help UUID list (Bob Moore)
            + Return exceptions for string-to-integer conversions in iASL (Bob
              Moore)
            + Add a new "ALL <NameSeg>" debugger command (Bob Moore)
            + Add support for 64 bit risc-v compilation (Colin Ian King)
            + Do assorted cleanups (Bob Moore, Colin Ian King, Randy Dunlap)
      
         - Add new ACPI backlight whitelist entry for HP 635 Notebook (Alex
           Hung)
      
         - Move TPS68470 OpRegion driver to drivers/acpi/pmic/ and split out
           Kconfig and Makefile specific for ACPI PMIC (Andy Shevchenko)
      
         - Clean up the ACPI SoC driver for AMD SoCs (Hanjun Guo)
      
         - Add missing config_item_put() to fix refcount leak (Hanjun Guo)
      
         - Drop lefrover field from struct acpi_memory_device (Hanjun Guo)
      
         - Make the ACPI extlog driver check for RDMSR failures (Ben
           Hutchings)
      
         - Fix handling of lid state changes in the ACPI button driver when
           input device is closed (Dmitry Torokhov)
      
         - Fix several assorted build issues (Barnabás Pőcze, John Garry,
           Nathan Chancellor, Tian Tao)
      
         - Drop unused inline functions and reduce code duplication by using
           kobj_to_dev() in the NFIT parsing code (YueHaibing, Wang Qing)
      
         - Serialize tools/power/acpi Makefile (Thomas Renninger)"
      
      * tag 'acpi-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (64 commits)
        ACPICA: Update version to 20200925 Version 20200925
        ACPICA: Remove unnecessary semicolon
        ACPICA: Debugger: Add a new command: "ALL <NameSeg>"
        ACPICA: iASL: Return exceptions for string-to-integer conversions
        ACPICA: acpi_help: Update UUID list
        ACPICA: Add predefined names found in the SMBus sepcification
        ACPICA: Tree-wide: fix various typos and spelling mistakes
        ACPICA: Drop the repeated word "an" in a comment
        ACPICA: Add support for 64 bit risc-v compilation
        ACPI: button: fix handling lid state changes when input device closed
        tools/power/acpi: Serialize Makefile
        ACPI: scan: Replace ACPI_DEBUG_PRINT() with pr_debug()
        ACPI: memhotplug: Remove 'state' from struct acpi_memory_device
        ACPI / extlog: Check for RDMSR failure
        ACPI: Make acpi_evaluate_dsm() prototype consistent
        docs: mm: numaperf.rst Add brief description for access class 1.
        node: Add access1 class to represent CPU to memory characteristics
        ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3
        ACPI: Let ACPI know we support Generic Initiator Affinity Structures
        x86: Support Generic Initiator only proximity domains
        ...
      cf1d2b44
    • Linus Torvalds's avatar
      Merge tag 'pm-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 0b8417c1
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These rework the collection of cpufreq statistics to allow it to take
        place if fast frequency switching is enabled in the governor, rework
        the frequency invariance handling in the cpufreq core and drivers, add
        new hardware support to a couple of cpufreq drivers, fix a number of
        assorted issues and clean up the code all over.
      
        Specifics:
      
         - Rework cpufreq statistics collection to allow it to take place when
           fast frequency switching is enabled in the governor (Viresh Kumar).
      
         - Make the cpufreq core set the frequency scale on behalf of the
           driver and update several cpufreq drivers accordingly (Ionela
           Voinescu, Valentin Schneider).
      
         - Add new hardware support to the STI and qcom cpufreq drivers and
           improve them (Alain Volmat, Manivannan Sadhasivam).
      
         - Fix multiple assorted issues in cpufreq drivers (Jon Hunter,
           Krzysztof Kozlowski, Matthias Kaehlcke, Pali Rohár, Stephan
           Gerhold, Viresh Kumar).
      
         - Fix several assorted issues in the operating performance points
           (OPP) framework (Stephan Gerhold, Viresh Kumar).
      
         - Allow devfreq drivers to fetch devfreq instances by DT enumeration
           instead of using explicit phandles and modify the devfreq core code
           to support driver-specific devfreq DT bindings (Leonard Crestez,
           Chanwoo Choi).
      
         - Improve initial hardware resetting in the tegra30 devfreq driver
           and clean up the tegra cpuidle driver (Dmitry Osipenko).
      
         - Update the cpuidle core to collect state entry rejection statistics
           and expose them via sysfs (Lina Iyer).
      
         - Improve the ACPI _CST code handling diagnostics (Chen Yu).
      
         - Update the PSCI cpuidle driver to allow the PM domain
           initialization to occur in the OSI mode as well as in the PC mode
           (Ulf Hansson).
      
         - Rework the generic power domains (genpd) core code to allow domain
           power off transition to be aborted in the absence of the "power
           off" domain callback (Ulf Hansson).
      
         - Fix two suspend-to-idle issues in the ACPI EC driver (Rafael
           Wysocki).
      
         - Fix the handling of timer_expires in the PM-runtime framework on
           32-bit systems and the handling of device links in it (Grygorii
           Strashko, Xiang Chen).
      
         - Add IO requests batching support to the hibernate image saving and
           reading code and drop a bogus get_gendisk() from there (Xiaoyi
           Chen, Christoph Hellwig).
      
         - Allow PCIe ports to be put into the D3cold power state if they are
           power-manageable via ACPI (Lukas Wunner).
      
         - Add missing header file include to a power capping driver (Pujin
           Shi).
      
         - Clean up the qcom-cpr AVS driver a bit (Liu Shixin).
      
         - Kevin Hilman steps down as designated reviwer of adaptive voltage
           scaling (AVS) drivers (Kevin Hilman)"
      
      * tag 'pm-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (65 commits)
        cpufreq: stats: Fix string format specifier mismatch
        arm: disable frequency invariance for CONFIG_BL_SWITCHER
        cpufreq,arm,arm64: restructure definitions of arch_set_freq_scale()
        cpufreq: stats: Add memory barrier to store_reset()
        cpufreq: schedutil: Simplify sugov_fast_switch()
        ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe()
        ACPI: EC: PM: Flush EC work unconditionally after wakeup
        PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI
        PM: hibernate: remove the bogus call to get_gendisk() in software_resume()
        cpufreq: Move traces and update to policy->cur to cpufreq core
        cpufreq: stats: Enable stats for fast-switch as well
        cpufreq: stats: Mark few conditionals with unlikely()
        cpufreq: stats: Remove locking
        cpufreq: stats: Defer stats update to cpufreq_stats_record_transition()
        PM: domains: Allow to abort power off when no ->power_off() callback
        PM: domains: Rename power state enums for genpd
        PM / devfreq: tegra30: Improve initial hardware resetting
        PM / devfreq: event: Change prototype of devfreq_event_get_edev_by_phandle function
        PM / devfreq: Change prototype of devfreq_get_devfreq_by_phandle function
        PM / devfreq: Add devfreq_get_devfreq_by_node function
        ...
      0b8417c1
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.10-1' of... · 15cb5469
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver updates from Hans de Goede:
       "Rather calm cycle for x86 platform drivers, all these have been in
        for-next for a couple of days with no bot complaints.
      
        Highlights:
      
         - PMC TigerLake fixes and new RocketLake support
      
         - various small fixes / updates in other drivers/tools"
      
      * tag 'platform-drivers-x86-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        MAINTAINERS: update X86 PLATFORM DRIVERS entry with new kernel.org git repo
        platform/x86: mlx-platform: Add capability field to platform FAN description
        platform_data/mlxreg: Extend core platform structure
        platform_data/mlxreg: Update module license
        platform/x86: mlx-platform: Remove PSU EEPROM configuration
        MAINTAINERS: Update maintainers for pmc_core driver
        platform/x86: intel_pmc_core: fix: Replace dev_dbg macro with dev_info()
        platform/x86: intel_pmc_core: Add Intel RocketLake (RKL) support
        platform/x86: intel_pmc_core: Clean up: Remove the duplicate comments and reorganize
        platform/x86: intel_pmc_core: Fix the slp_s0 counter displayed value
        platform/x86: intel_pmc_core: Fix TigerLake power gating status map
        platform/x86: pmc_core: Use descriptive names for LPM registers
        tools/power/x86/intel-speed-select: Update version for v5.10
        tools/power/x86/intel-speed-select: Fix missing base-freq core IDs
        platform/x86: hp-wmi: add support for thermal policy
      15cb5469
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.10b-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · a09b1d78
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - two small cleanup patches
      
       - avoid error messages when initializing MCA banks in a Xen dom0
      
       - a small series for converting the Xen gntdev driver to use
         pin_user_pages*() instead of get_user_pages*()
      
       - intermediate fix for running as a Xen guest on Arm with KPTI enabled
         (the final solution will need new Xen functionality)
      
      * tag 'for-linus-5.10b-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        x86/xen: Fix typo in xen_pagetable_p2m_free()
        x86/xen: disable Firmware First mode for correctable memory errors
        xen/arm: do not setup the runstate info page if kpti is enabled
        xen: remove redundant initialization of variable ret
        xen/gntdev.c: Convert get_user_pages*() to pin_user_pages*()
        xen/gntdev.c: Mark pages as dirty
      a09b1d78
    • Linus Torvalds's avatar
      Merge tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux · 4907a43d
      Linus Torvalds authored
      Pull Hyper-V updates from Wei Liu:
      
       - a series from Boqun Feng to support page size larger than 4K
      
       - a few miscellaneous clean-ups
      
      * tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
        hv: clocksource: Add notrace attribute to read_hv_sched_clock_*() functions
        x86/hyperv: Remove aliases with X64 in their name
        PCI: hv: Document missing hv_pci_protocol_negotiation() parameter
        scsi: storvsc: Support PAGE_SIZE larger than 4K
        Driver: hv: util: Use VMBUS_RING_SIZE() for ringbuffer sizes
        HID: hyperv: Use VMBUS_RING_SIZE() for ringbuffer sizes
        Input: hyperv-keyboard: Use VMBUS_RING_SIZE() for ringbuffer sizes
        hv_netvsc: Use HV_HYP_PAGE_SIZE for Hyper-V communication
        hv: hyperv.h: Introduce some hvpfn helper functions
        Drivers: hv: vmbus: Move virt_to_hvpfn() to hyperv header
        Drivers: hv: Use HV_HYP_PAGE in hv_synic_enable_regs()
        Drivers: hv: vmbus: Introduce types of GPADL
        Drivers: hv: vmbus: Move __vmbus_open()
        Drivers: hv: vmbus: Always use HV_HYP_PAGE_SIZE for gpadl
        drivers: hv: remove cast from hyperv_die_event
      4907a43d
    • Linus Torvalds's avatar
      Merge tag 'x86_seves_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · da9803df
      Linus Torvalds authored
      Pull x86 SEV-ES support from Borislav Petkov:
       "SEV-ES enhances the current guest memory encryption support called SEV
        by also encrypting the guest register state, making the registers
        inaccessible to the hypervisor by en-/decrypting them on world
        switches. Thus, it adds additional protection to Linux guests against
        exfiltration, control flow and rollback attacks.
      
        With SEV-ES, the guest is in full control of what registers the
        hypervisor can access. This is provided by a guest-host exchange
        mechanism based on a new exception vector called VMM Communication
        Exception (#VC), a new instruction called VMGEXIT and a shared
        Guest-Host Communication Block which is a decrypted page shared
        between the guest and the hypervisor.
      
        Intercepts to the hypervisor become #VC exceptions in an SEV-ES guest
        so in order for that exception mechanism to work, the early x86 init
        code needed to be made able to handle exceptions, which, in itself,
        brings a bunch of very nice cleanups and improvements to the early
        boot code like an early page fault handler, allowing for on-demand
        building of the identity mapping. With that, !KASLR configurations do
        not use the EFI page table anymore but switch to a kernel-controlled
        one.
      
        The main part of this series adds the support for that new exchange
        mechanism. The goal has been to keep this as much as possibly separate
        from the core x86 code by concentrating the machinery in two
        SEV-ES-specific files:
      
          arch/x86/kernel/sev-es-shared.c
          arch/x86/kernel/sev-es.c
      
        Other interaction with core x86 code has been kept at minimum and
        behind static keys to minimize the performance impact on !SEV-ES
        setups.
      
        Work by Joerg Roedel and Thomas Lendacky and others"
      
      * tag 'x86_seves_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (73 commits)
        x86/sev-es: Use GHCB accessor for setting the MMIO scratch buffer
        x86/sev-es: Check required CPU features for SEV-ES
        x86/efi: Add GHCB mappings when SEV-ES is active
        x86/sev-es: Handle NMI State
        x86/sev-es: Support CPU offline/online
        x86/head/64: Don't call verify_cpu() on starting APs
        x86/smpboot: Load TSS and getcpu GDT entry before loading IDT
        x86/realmode: Setup AP jump table
        x86/realmode: Add SEV-ES specific trampoline entry point
        x86/vmware: Add VMware-specific handling for VMMCALL under SEV-ES
        x86/kvm: Add KVM-specific VMMCALL handling under SEV-ES
        x86/paravirt: Allow hypervisor-specific VMMCALL handling under SEV-ES
        x86/sev-es: Handle #DB Events
        x86/sev-es: Handle #AC Events
        x86/sev-es: Handle VMMCALL Events
        x86/sev-es: Handle MWAIT/MWAITX Events
        x86/sev-es: Handle MONITOR/MONITORX Events
        x86/sev-es: Handle INVD Events
        x86/sev-es: Handle RDPMC Events
        x86/sev-es: Handle RDTSC(P) Events
        ...
      da9803df
    • Linus Torvalds's avatar
      Merge tag 'objtool-core-2020-10-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6873139e
      Linus Torvalds authored
      Pull objtool updates from Ingo Molnar:
       "Most of the changes are cleanups and reorganization to make the
        objtool code more arch-agnostic. This is in preparation for non-x86
        support.
      
        Other changes:
      
         - KASAN fixes
      
         - Handle unreachable trap after call to noreturn functions better
      
         - Ignore unreachable fake jumps
      
         - Misc smaller fixes & cleanups"
      
      * tag 'objtool-core-2020-10-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
        perf build: Allow nested externs to enable BUILD_BUG() usage
        objtool: Allow nested externs to enable BUILD_BUG()
        objtool: Permit __kasan_check_{read,write} under UACCESS
        objtool: Ignore unreachable trap after call to noreturn functions
        objtool: Handle calling non-function symbols in other sections
        objtool: Ignore unreachable fake jumps
        objtool: Remove useless tests before save_reg()
        objtool: Decode unwind hint register depending on architecture
        objtool: Make unwind hint definitions available to other architectures
        objtool: Only include valid definitions depending on source file type
        objtool: Rename frame.h -> objtool.h
        objtool: Refactor jump table code to support other architectures
        objtool: Make relocation in alternative handling arch dependent
        objtool: Abstract alternative special case handling
        objtool: Move macros describing structures to arch-dependent code
        objtool: Make sync-check consider the target architecture
        objtool: Group headers to check in a single list
        objtool: Define 'struct orc_entry' only when needed
        objtool: Skip ORC entry creation for non-text sections
        objtool: Move ORC logic out of check()
        ...
      6873139e