1. 16 Dec, 2022 9 commits
    • Linus Torvalds's avatar
      Fix mismerge due to devnode now taking a 'const *' device · dcde56bb
      Linus Torvalds authored
      This was a mismerge of a semantic conflict in my merge of the driver
      core updates, where commit ff62b8e6 ("driver core: make struct
      class.devnode() take a const *") changed the devnode function pointer
      type.  In the meantime, the drm tree I merged earlier had introduced a
      new use of that in commit 8bf48897 ("drivers/accel: define kconfig
      and register a new major").
      
      And of course this happens when I'm traveling with my laptop, and thus
      didn't do a full allmodconfig build between every pull and before
      pushing my work out.
      
      So I only noticed later as I was doing my full build.
      Brown-paper-bag-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Fixes: 71a7507a Merge tag 'driver-core-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-coreSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dcde56bb
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 71a7507a
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here is the set of driver core and kernfs changes for 6.2-rc1.
      
        The "big" change in here is the addition of a new macro,
        container_of_const() that will preserve the "const-ness" of a pointer
        passed into it.
      
        The "problem" of the current container_of() macro is that if you pass
        in a "const *", out of it can comes a non-const pointer unless you
        specifically ask for it. For many usages, we want to preserve the
        "const" attribute by using the same call. For a specific example, this
        series changes the kobj_to_dev() macro to use it, allowing it to be
        used no matter what the const value is. This prevents every subsystem
        from having to declare 2 different individual macros (i.e.
        kobj_const_to_dev() and kobj_to_dev()) and having the compiler enforce
        the const value at build time, which having 2 macros would not do
        either.
      
        The driver for all of this have been discussions with the Rust kernel
        developers as to how to properly mark driver core, and kobject,
        objects as being "non-mutable". The changes to the kobject and driver
        core in this pull request are the result of that, as there are lots of
        paths where kobjects and device pointers are not modified at all, so
        marking them as "const" allows the compiler to enforce this.
      
        So, a nice side affect of the Rust development effort has been already
        to clean up the driver core code to be more obvious about object
        rules.
      
        All of this has been bike-shedded in quite a lot of detail on lkml
        with different names and implementations resulting in the tiny version
        we have in here, much better than my original proposal. Lots of
        subsystem maintainers have acked the changes as well.
      
        Other than this change, included in here are smaller stuff like:
      
         - kernfs fixes and updates to handle lock contention better
      
         - vmlinux.lds.h fixes and updates
      
         - sysfs and debugfs documentation updates
      
         - device property updates
      
        All of these have been in the linux-next tree for quite a while with
        no problems"
      
      * tag 'driver-core-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (58 commits)
        device property: Fix documentation for fwnode_get_next_parent()
        firmware_loader: fix up to_fw_sysfs() to preserve const
        usb.h: take advantage of container_of_const()
        device.h: move kobj_to_dev() to use container_of_const()
        container_of: add container_of_const() that preserves const-ness of the pointer
        driver core: fix up missed drivers/s390/char/hmcdrv_dev.c class.devnode() conversion.
        driver core: fix up missed scsi/cxlflash class.devnode() conversion.
        driver core: fix up some missing class.devnode() conversions.
        driver core: make struct class.devnode() take a const *
        driver core: make struct class.dev_uevent() take a const *
        cacheinfo: Remove of_node_put() for fw_token
        device property: Add a blank line in Kconfig of tests
        device property: Rename goto label to be more precise
        device property: Move PROPERTY_ENTRY_BOOL() a bit down
        device property: Get rid of __PROPERTY_ENTRY_ARRAY_EL*SIZE*()
        kernfs: fix all kernel-doc warnings and multiple typos
        driver core: pass a const * into of_device_uevent()
        kobject: kset_uevent_ops: make name() callback take a const *
        kobject: kset_uevent_ops: make filter() callback take a const *
        kobject: make kobject_namespace take a const *
        ...
      71a7507a
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · ba54ff1f
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the large set of char/misc and other driver subsystem changes
        for 6.2-rc1. Nothing earth-shattering in here at all, just a lot of
        new driver development and minor fixes.
      
        Highlights include:
      
         - fastrpc driver updates
      
         - iio new drivers and updates
      
         - habanalabs driver updates for new hardware and features
      
         - slimbus driver updates
      
         - speakup module parameters added to aid in boot time configuration
      
         - i2c probe_new conversions for lots of different drivers
      
         - other small driver fixes and additions
      
        One semi-interesting change in here is the increase of the number of
        misc dynamic minors available to 1048448 to handle new huge-cpu
        systems.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'char-misc-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (521 commits)
        extcon: usbc-tusb320: Convert to i2c's .probe_new()
        extcon: rt8973: Convert to i2c's .probe_new()
        extcon: fsa9480: Convert to i2c's .probe_new()
        extcon: max77843: Replace irqchip mask_invert with unmask_base
        chardev: fix error handling in cdev_device_add()
        mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
        drivers: mcb: fix resource leak in mcb_probe()
        coresight: etm4x: fix repeated words in comments
        coresight: cti: Fix null pointer error on CTI init before ETM
        coresight: trbe: remove cpuhp instance node before remove cpuhp state
        counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update
        misc: fastrpc: Add dma_mask to fastrpc_channel_ctx
        misc: fastrpc: Add mmap request assigning for static PD pool
        misc: fastrpc: Safekeep mmaps on interrupted invoke
        misc: fastrpc: Add support for audiopd
        misc: fastrpc: Rework fastrpc_req_munmap
        misc: fastrpc: Use fastrpc_map_put in fastrpc_map_create on fail
        misc: fastrpc: Add fastrpc_remote_heap_alloc
        misc: fastrpc: Add reserved mem support
        misc: fastrpc: Rename audio protection domain to root
        ...
      ba54ff1f
    • Linus Torvalds's avatar
      Merge tag 'tty-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · dd6f9b17
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here is the "big" set of tty/serial driver changes for 6.2-rc1.
      
        As in previous kernel releases, nothing big here at all, just some
        small incremental serial/tty layer cleanups and some individual driver
        additions and fixes. Highlights are:
      
         - serial helper macros from Jiri Slaby to reduce the amount of
           duplicated code in serial drivers
      
         - api cleanups and consolidations from Ilpo Järvinen in lots of
           serial drivers
      
         - the usual set of n_gsm fixes from Daniel Starke as that code gets
           exercised more
      
         - TIOCSTI is finally able to be disabled if requested (security
           hardening feature from Kees Cook)
      
         - fsl_lpuart driver fixes and features added
      
         - other small serial driver additions and fixes
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'tty-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (97 commits)
        serial: atmel: don't stop the transmitter when doing PIO
        serial: atmel: cleanup atmel_start+stop_tx()
        tty: serial: fsl_lpuart: switch to new dmaengine_terminate_* API
        serial: sunsab: Fix error handling in sunsab_init()
        serial: altera_uart: fix locking in polling mode
        serial: pch: Fix PCI device refcount leak in pch_request_dma()
        tty: serial: fsl_lpuart: Use pm_ptr() to avoid need to make pm __maybe_unused
        tty: serial: fsl_lpuart: Add runtime pm support
        tty: serial: fsl_lpuart: enable wakeup source for lpuart
        serdev: Replace poll loop by readx_poll_timeout() macro
        tty: synclink_gt: unwind actions in error path of net device open
        serial: stm32: move dma_request_chan() before clk_prepare_enable()
        dt-bindings: serial: xlnx,opb-uartlite: Drop 'contains' from 'xlnx,use-parity'
        serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle.
        serial: amba-pl011: avoid SBSA UART accessing DMACR register
        tty: serial: altera_jtaguart: remove struct altera_jtaguart
        tty: serial: altera_jtaguart: use uart_port::read_status_mask
        tty: serial: altera_jtaguart: remove unused altera_jtaguart::sigs
        tty: serial: altera_jtaguart: remove flag from altera_jtaguart_rx_chars()
        n_tty: Rename tail to old_tail in n_tty_read()
        ...
      dd6f9b17
    • Linus Torvalds's avatar
      Merge tag 'staging-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b83a7080
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the large set of staging driver changes for 6.2-rc1.
      
        Another round of cleanups for staging drivers with no big additions.
        Overall more lines were removed than added, always a nice sign, with
        nothing happening in here other than general coding style cleanups and
        minor fixes in the drivers. Full, boring, details are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'staging-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (253 commits)
        vme: Use root_device_register() not underlined version
        staging: rtl8192e: Fix spelling mistake "ContryIE" -> "CountryIE"
        vme: Fix error not catched in fake_init()
        staging: vme_user: remove multiple blank lines
        staging: r8188eu: use subtype helper in rtw_check_bcn_info
        staging: r8188eu: use subtype helpers in collect_bss_info
        staging: r8188eu: remove unused da parameter
        staging: r8188eu: merge two probereq_p2p functions
        staging: r8188eu: simplify err handling for unknown station
        staging: r8188eu: handle the non-ap case first
        staging: r8188eu: move bBusyTraffic update
        staging: r8188eu: read reason code from ieee80211_mgmt
        staging: r8188eu: use ieee80211_mgmt to parse addresses
        staging: r8188eu: remove a variable
        staging: r8188eu: simplify error handling for missing station
        staging: r8188eu: stop beacon processing if kmalloc fails
        staging: r8188eu: exit if beacon is not from our bss
        staging: r8188eu: simplify update_sta_support_rate params
        staging: r8188eu: use ie buffer in update_beacon_info
        staging: r8188eu: pass only ies to process_p2p_ps_ie
        ...
      b83a7080
    • Linus Torvalds's avatar
      Merge tag 'usb-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 58bcac11
      Linus Torvalds authored
      Pull USB and Thunderbolt driver updates from Greg KH:
       "Here is the large set of USB and Thunderbolt driver changes for
        6.2-rc1. Overall, thanks to the removal of a driver, more lines were
        removed than added, a nice change. Highlights include:
      
         - removal of the sisusbvga driver that was not used by anyone anymore
      
         - minor thunderbolt driver changes and tweaks
      
         - chipidea driver updates
      
         - usual set of typec driver features and hardware support added
      
         - musb minor driver fixes
      
         - fotg210 driver fixes, bringing that hardware back from the "dead"
      
         - minor dwc3 driver updates
      
         - addition, and then removal, of a list.h helper function for many
           USB and other subsystem drivers, that ended up breaking the build.
           That will come back for 6.3-rc1, it missed this merge window.
      
         - usual xhci updates and enhancements
      
         - usb-serial driver updates and support for new devices
      
         - other minor USB driver updates
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'usb-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (153 commits)
        usb: gadget: uvc: Rename bmInterfaceFlags -> bmInterlaceFlags
        usb: dwc2: power on/off phy for peripheral mode in dual-role mode
        usb: dwc2: disable lpm feature on Rockchip SoCs
        dt-bindings: usb: mtk-xhci: add support for mt7986
        usb: dwc3: core: defer probe on ulpi_read_id timeout
        usb: ulpi: defer ulpi_register on ulpi_read_id timeout
        usb: misc: onboard_usb_hub: add Genesys Logic GL850G hub support
        dt-bindings: usb: Add binding for Genesys Logic GL850G hub controller
        dt-bindings: vendor-prefixes: add Genesys Logic
        usb: fotg210-udc: fix potential memory leak in fotg210_udc_probe()
        usb: typec: tipd: Set mode of operation for USB Type-C connector
        usb: gadget: udc: drop obsolete dependencies on COMPILE_TEST
        usb: musb: remove extra check in musb_gadget_vbus_draw
        usb: gadget: uvc: Prevent buffer overflow in setup handler
        usb: dwc3: qcom: Fix memory leak in dwc3_qcom_interconnect_init
        usb: typec: wusb3801: fix fwnode refcount leak in wusb3801_probe()
        usb: storage: Add check for kcalloc
        USB: sisusbvga: use module_usb_driver()
        USB: sisusbvga: rename sisusb.c to sisusbvga.c
        USB: sisusbvga: remove console support
        ...
      58bcac11
    • Linus Torvalds's avatar
      Merge tag 'exfat-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat · 84e57d29
      Linus Torvalds authored
      Pull exfat update from Namjae Jeon:
      
       - simplify and remove some redundant directory entry code
      
       - optimize the size of exfat_entry_set_cache and its allocation policy
      
       - improve the performance for creating files and directories
      
      * tag 'exfat-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
        exfat: reuse exfat_find_location() to simplify exfat_get_dentry_set()
        exfat: fix overflow in sector and cluster conversion
        exfat: remove i_size_write() from __exfat_truncate()
        exfat: remove argument 'size' from exfat_truncate()
        exfat: remove unnecessary arguments from exfat_find_dir_entry()
        exfat: remove unneeded codes from __exfat_rename()
        exfat: remove call ilog2() from exfat_readdir()
        exfat: replace magic numbers with Macros
        exfat: rename exfat_free_dentry_set() to exfat_put_dentry_set()
        exfat: move exfat_entry_set_cache from heap to stack
        exfat: support dynamic allocate bh for exfat_entry_set_cache
        exfat: reduce the size of exfat_entry_set_cache
        exfat: hint the empty entry which at the end of cluster chain
        exfat: simplify empty entry hint
      84e57d29
    • Linus Torvalds's avatar
      Merge tag 'for-6.2/writeback-2022-12-12' of git://git.kernel.dk/linux · 23dc9c75
      Linus Torvalds authored
      Pull writeback updates from Jens Axboe:
      
       - Sanity check adding freed inodes to lists (Jan)
      
       - Removal of an old unused define (Miaohe)
      
      * tag 'for-6.2/writeback-2022-12-12' of git://git.kernel.dk/linux:
        writeback: remove obsolete macro EXPIRE_DIRTY_ATIME
        writeback: Add asserts for adding freed inode to lists
      23dc9c75
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · fe36bb87
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
      
       - Add options to the osnoise tracer:
            - 'panic_on_stop' option that panics the kernel if osnoise is
              greater than some user defined threshold.
            - 'preempt' option, to test noise while preemption is disabled
            - 'irq' option, to test noise when interrupts are disabled
      
       - Add .percent and .graph suffix to histograms to give different
         outputs
      
       - Add nohitcount to disable showing hitcount in histogram output
      
       - Add new __cpumask() to trace event fields to annotate that a unsigned
         long array is a cpumask to user space and should be treated as one.
      
       - Add trace_trigger kernel command line parameter to enable trace event
         triggers at boot up. Useful to trace stack traces, disable tracing
         and take snapshots.
      
       - Fix x86/kmmio mmio tracer to work with the updates to lockdep
      
       - Unify the panic and die notifiers
      
       - Add back ftrace_expect reference that is used to extract more
         information in the ftrace_bug() code.
      
       - Have trigger filter parsing errors show up in the tracing error log.
      
       - Updated MAINTAINERS file to add kernel tracing mailing list and
         patchwork info
      
       - Use IDA to keep track of event type numbers.
      
       - And minor fixes and clean ups
      
      * tag 'trace-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (44 commits)
        tracing: Fix cpumask() example typo
        tracing: Improve panic/die notifiers
        ftrace: Prevent RCU stall on PREEMPT_VOLUNTARY kernels
        tracing: Do not synchronize freeing of trigger filter on boot up
        tracing: Remove pointer (asterisk) and brackets from cpumask_t field
        tracing: Have trigger filter parsing errors show up in error_log
        x86/mm/kmmio: Remove redundant preempt_disable()
        tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line
        Documentation/osnoise: Add osnoise/options documentation
        tracing/osnoise: Add preempt and/or irq disabled options
        tracing/osnoise: Add PANIC_ON_STOP option
        Documentation/osnoise: Escape underscore of NO_ prefix
        tracing: Fix some checker warnings
        tracing/osnoise: Make osnoise_options static
        tracing: remove unnecessary trace_trigger ifdef
        ring-buffer: Handle resize in early boot up
        tracing/hist: Fix issue of losting command info in error_log
        tracing: Fix issue of missing one synthetic field
        tracing/hist: Fix out-of-bound write on 'action_data.var_ref_idx'
        tracing/hist: Fix wrong return value in parse_action_params()
        ...
      fe36bb87
  2. 15 Dec, 2022 11 commits
    • Linus Torvalds's avatar
      Merge tag '6.2-rc-smb3-client-fixes-part1' of git://git.samba.org/sfrench/cifs-2.6 · 851f657a
      Linus Torvalds authored
      Pull cifs client updates from Steve French:
      
       - SMB3.1.1 POSIX Extensions fixes
      
       - remove use of generic_writepages() and ->cifs_writepage(), in favor
         of ->cifs_writepages() and ->migrate_folio()
      
       - memory management fixes
      
       - mount parm parsing fixes
      
       - minor cleanup fixes
      
      * tag '6.2-rc-smb3-client-fixes-part1' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: Remove duplicated include in cifsglob.h
        cifs: fix oops during encryption
        cifs: print warning when conflicting soft vs. hard mount options specified
        cifs: fix missing display of three mount options
        cifs: fix various whitespace errors in headers
        cifs: minor cleanup of some headers
        cifs: skip alloc when request has no pages
        cifs: remove ->writepage
        cifs: stop using generic_writepages
        cifs: wire up >migrate_folio
        cifs: Parse owner/group for stat in smb311 posix extensions
        cifs: Add "extbuf" and "extbuflen" args to smb2_compound_op()
        Fix path in cifs/usage.rst
      851f657a
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · ec9187ec
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Core got a new helper 'i2c_client_get_device_id()', designware got
        some bigger updates, the rest is driver updates all over the place"
      
      * tag 'i2c-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (41 commits)
        i2c: ismt: Fix an out-of-bounds bug in ismt_access()
        i2c: mux: reg: check return value after calling platform_get_resource()
        i2c: xiic: Make sure to disable clock on .remove()
        i2c: hisi: Add support to get clock frequency from clock
        i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe
        i2c: slave-eeprom: Convert to i2c's .probe_new()
        i2c: mux: pca954x: Convert to i2c's .probe_new()
        drivers/i2c: use simple i2c probe
        i2c: mux: pca9541: switch to using .probe_new
        i2c: gpio: Fix potential unused warning for 'i2c_gpio_dt_ids'
        i2c: qcom-geni: add support for I2C Master Hub variant
        i2c: qcom-geni: add desc struct to prepare support for I2C Master Hub variant
        soc: qcom: geni-se: add support for I2C Master Hub wrapper variant
        soc: qcom: geni-se: add desc struct to specify clocks from device match data
        dt-bindings: i2c: qcom-geni: document I2C Master Hub serial I2C engine
        dt-bindings: qcom: geni-se: document I2C Master Hub wrapper variant
        dt-bindings: i2c: renesas,riic: Document RZ/Five SoC
        i2c: tegra: Set ACPI node as primary fwnode
        i2c: smbus: add DDR support for SPD
        i2c: /pasemi: PASemi I2C controller IRQ enablement
        ...
      ec9187ec
    • Linus Torvalds's avatar
      Merge tag 'vfio-v6.2-rc1' of https://github.com/awilliam/linux-vfio · 785d21ba
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Replace deprecated git://github.com link in MAINTAINERS (Palmer
         Dabbelt)
      
       - Simplify vfio/mlx5 with module_pci_driver() helper (Shang XiaoJing)
      
       - Drop unnecessary buffer from ACPI call (Rafael Mendonca)
      
       - Correct latent missing include issue in iova-bitmap and fix support
         for unaligned bitmaps. Follow-up with better fix through refactor
         (Joao Martins)
      
       - Rework ccw mdev driver to split private data from parent structure,
         better aligning with the mdev lifecycle and allowing us to remove a
         temporary workaround (Eric Farman)
      
       - Add an interface to get an estimated migration data size for a
         device, allowing userspace to make informed decisions, ex. more
         accurately predicting VM downtime (Yishai Hadas)
      
       - Fix minor typo in vfio/mlx5 array declaration (Yishai Hadas)
      
       - Simplify module and Kconfig through consolidating SPAPR/EEH code and
         config options and folding virqfd module into main vfio module (Jason
         Gunthorpe)
      
       - Fix error path from device_register() across all vfio mdev and sample
         drivers (Alex Williamson)
      
       - Define migration pre-copy interface and implement for vfio/mlx5
         devices, allowing portions of the device state to be saved while the
         device continues operation, towards reducing the stop-copy state size
         (Jason Gunthorpe, Yishai Hadas, Shay Drory)
      
       - Implement pre-copy for hisi_acc devices (Shameer Kolothum)
      
       - Fixes to mdpy mdev driver remove path and error path on probe (Shang
         XiaoJing)
      
       - vfio/mlx5 fixes for incorrect return after copy_to_user() fault and
         incorrect buffer freeing (Dan Carpenter)
      
      * tag 'vfio-v6.2-rc1' of https://github.com/awilliam/linux-vfio: (42 commits)
        vfio/mlx5: error pointer dereference in error handling
        vfio/mlx5: fix error code in mlx5vf_precopy_ioctl()
        samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe()
        hisi_acc_vfio_pci: Enable PRE_COPY flag
        hisi_acc_vfio_pci: Move the dev compatibility tests for early check
        hisi_acc_vfio_pci: Introduce support for PRE_COPY state transitions
        hisi_acc_vfio_pci: Add support for precopy IOCTL
        vfio/mlx5: Enable MIGRATION_PRE_COPY flag
        vfio/mlx5: Fallback to STOP_COPY upon specific PRE_COPY error
        vfio/mlx5: Introduce multiple loads
        vfio/mlx5: Consider temporary end of stream as part of PRE_COPY
        vfio/mlx5: Introduce vfio precopy ioctl implementation
        vfio/mlx5: Introduce SW headers for migration states
        vfio/mlx5: Introduce device transitions of PRE_COPY
        vfio/mlx5: Refactor to use queue based data chunks
        vfio/mlx5: Refactor migration file state
        vfio/mlx5: Refactor MKEY usage
        vfio/mlx5: Refactor PD usage
        vfio/mlx5: Enforce a single SAVE command at a time
        vfio: Extend the device migration protocol with PRE_COPY
        ...
      785d21ba
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 8fa590bf
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "ARM64:
      
         - Enable the per-vcpu dirty-ring tracking mechanism, together with an
           option to keep the good old dirty log around for pages that are
           dirtied by something other than a vcpu.
      
         - Switch to the relaxed parallel fault handling, using RCU to delay
           page table reclaim and giving better performance under load.
      
         - Relax the MTE ABI, allowing a VMM to use the MAP_SHARED mapping
           option, which multi-process VMMs such as crosvm rely on (see merge
           commit 382b5b87: "Fix a number of issues with MTE, such as
           races on the tags being initialised vs the PG_mte_tagged flag as
           well as the lack of support for VM_SHARED when KVM is involved.
           Patches from Catalin Marinas and Peter Collingbourne").
      
         - Merge the pKVM shadow vcpu state tracking that allows the
           hypervisor to have its own view of a vcpu, keeping that state
           private.
      
         - Add support for the PMUv3p5 architecture revision, bringing support
           for 64bit counters on systems that support it, and fix the
           no-quite-compliant CHAIN-ed counter support for the machines that
           actually exist out there.
      
         - Fix a handful of minor issues around 52bit VA/PA support (64kB
           pages only) as a prefix of the oncoming support for 4kB and 16kB
           pages.
      
         - Pick a small set of documentation and spelling fixes, because no
           good merge window would be complete without those.
      
        s390:
      
         - Second batch of the lazy destroy patches
      
         - First batch of KVM changes for kernel virtual != physical address
           support
      
         - Removal of a unused function
      
        x86:
      
         - Allow compiling out SMM support
      
         - Cleanup and documentation of SMM state save area format
      
         - Preserve interrupt shadow in SMM state save area
      
         - Respond to generic signals during slow page faults
      
         - Fixes and optimizations for the non-executable huge page errata
           fix.
      
         - Reprogram all performance counters on PMU filter change
      
         - Cleanups to Hyper-V emulation and tests
      
         - Process Hyper-V TLB flushes from a nested guest (i.e. from a L2
           guest running on top of a L1 Hyper-V hypervisor)
      
         - Advertise several new Intel features
      
         - x86 Xen-for-KVM:
      
            - Allow the Xen runstate information to cross a page boundary
      
            - Allow XEN_RUNSTATE_UPDATE flag behaviour to be configured
      
            - Add support for 32-bit guests in SCHEDOP_poll
      
         - Notable x86 fixes and cleanups:
      
            - One-off fixes for various emulation flows (SGX, VMXON, NRIPS=0).
      
            - Reinstate IBPB on emulated VM-Exit that was incorrectly dropped
              a few years back when eliminating unnecessary barriers when
              switching between vmcs01 and vmcs02.
      
            - Clean up vmread_error_trampoline() to make it more obvious that
              params must be passed on the stack, even for x86-64.
      
            - Let userspace set all supported bits in MSR_IA32_FEAT_CTL
              irrespective of the current guest CPUID.
      
            - Fudge around a race with TSC refinement that results in KVM
              incorrectly thinking a guest needs TSC scaling when running on a
              CPU with a constant TSC, but no hardware-enumerated TSC
              frequency.
      
            - Advertise (on AMD) that the SMM_CTL MSR is not supported
      
            - Remove unnecessary exports
      
        Generic:
      
         - Support for responding to signals during page faults; introduces
           new FOLL_INTERRUPTIBLE flag that was reviewed by mm folks
      
        Selftests:
      
         - Fix an inverted check in the access tracking perf test, and restore
           support for asserting that there aren't too many idle pages when
           running on bare metal.
      
         - Fix build errors that occur in certain setups (unsure exactly what
           is unique about the problematic setup) due to glibc overriding
           static_assert() to a variant that requires a custom message.
      
         - Introduce actual atomics for clear/set_bit() in selftests
      
         - Add support for pinning vCPUs in dirty_log_perf_test.
      
         - Rename the so called "perf_util" framework to "memstress".
      
         - Add a lightweight psuedo RNG for guest use, and use it to randomize
           the access pattern and write vs. read percentage in the memstress
           tests.
      
         - Add a common ucall implementation; code dedup and pre-work for
           running SEV (and beyond) guests in selftests.
      
         - Provide a common constructor and arch hook, which will eventually
           be used by x86 to automatically select the right hypercall (AMD vs.
           Intel).
      
         - A bunch of added/enabled/fixed selftests for ARM64, covering
           memslots, breakpoints, stage-2 faults and access tracking.
      
         - x86-specific selftest changes:
      
            - Clean up x86's page table management.
      
            - Clean up and enhance the "smaller maxphyaddr" test, and add a
              related test to cover generic emulation failure.
      
            - Clean up the nEPT support checks.
      
            - Add X86_PROPERTY_* framework to retrieve multi-bit CPUID values.
      
            - Fix an ordering issue in the AMX test introduced by recent
              conversions to use kvm_cpu_has(), and harden the code to guard
              against similar bugs in the future. Anything that tiggers
              caching of KVM's supported CPUID, kvm_cpu_has() in this case,
              effectively hides opt-in XSAVE features if the caching occurs
              before the test opts in via prctl().
      
        Documentation:
      
         - Remove deleted ioctls from documentation
      
         - Clean up the docs for the x86 MSR filter.
      
         - Various fixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (361 commits)
        KVM: x86: Add proper ReST tables for userspace MSR exits/flags
        KVM: selftests: Allocate ucall pool from MEM_REGION_DATA
        KVM: arm64: selftests: Align VA space allocator with TTBR0
        KVM: arm64: Fix benign bug with incorrect use of VA_BITS
        KVM: arm64: PMU: Fix period computation for 64bit counters with 32bit overflow
        KVM: x86: Advertise that the SMM_CTL MSR is not supported
        KVM: x86: remove unnecessary exports
        KVM: selftests: Fix spelling mistake "probabalistic" -> "probabilistic"
        tools: KVM: selftests: Convert clear/set_bit() to actual atomics
        tools: Drop "atomic_" prefix from atomic test_and_set_bit()
        tools: Drop conflicting non-atomic test_and_{clear,set}_bit() helpers
        KVM: selftests: Use non-atomic clear/set bit helpers in KVM tests
        perf tools: Use dedicated non-atomic clear/set bit helpers
        tools: Take @bit as an "unsigned long" in {clear,set}_bit() helpers
        KVM: arm64: selftests: Enable single-step without a "full" ucall()
        KVM: x86: fix APICv/x2AVIC disabled when vm reboot by itself
        KVM: Remove stale comment about KVM_REQ_UNHALT
        KVM: Add missing arch for KVM_CREATE_DEVICE and KVM_{SET,GET}_DEVICE_ATTR
        KVM: Reference to kvm_userspace_memory_region in doc and comments
        KVM: Delete all references to removed KVM_SET_MEMORY_ALIAS ioctl
        ...
      8fa590bf
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.2-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 057b40f4
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "These fix an AML byte code execution issue in ACPICA and two issues in
        the ACPI EC driver which requires rearranging ACPICA code.
      
        Specifics:
      
         - Avoid trying to resolve operands in AML when there are none
           (Amadeusz Sławiński)
      
         - Fix indentation in include/acpi/acpixf.h to help applying patches
           from the upstream ACPICA git (Hans de Goede)
      
         - Make it possible to install an address space handler without
           evaluating _REG for Operation Regions in the given address space
           (Hans de Goede)
      
         - Defer the evaluation of _REG for ECDT described ECs till the
           matching EC device in the DSDT gets parsed and acpi_ec_add() gets
           called for it (Hans de Goede)
      
         - Fix EC address space handler unregistration (Hans de Goede)"
      
      * tag 'acpi-6.2-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: EC: Fix ECDT probe ordering issues
        ACPI: EC: Fix EC address space handler unregistration
        ACPICA: Allow address_space_handler Install and _REG execution as 2 separate steps
        ACPICA: include/acpi/acpixf.h: Fix indentation
        ACPICA: Fix operand resolution
      057b40f4
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.2-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 601c1aa8
      Linus Torvalds authored
      Pull more thermal control updates from Rafael Wysocki:
       "These are updates of assorted thermal drivers, mostly for ARM
        platforms, generally isolated and fairly straightforward, and the
        recent Intel HFI driver fix for systems without HFI support.
      
        Specifics:
      
         - Avoid clearing the HFI status bit on systems without HFI support
           which triggers unchecked MSR access errors (Srinivas Pandruvada)
      
         - Add sm8450 and sm8550 QCom compatible string to DT bindings (Luca
           Weiss, Neil Armstrong)
      
         - Use devm_platform_get_and_ioremap_resource on the ST platform to
           group two calls into a single one (Minghao Chi)
      
         - Use GENMASK instead of bitmaps and validate the temperature after
           reading it in the imx8mm_thermal driver (Marcus Folkesson)
      
         - Convert generic-adc-thermal to DT schema (Rob Herring)
      
         - Fix debug print message with inverted logic in the k3_j72xx_bandgap
           driver (Keerthy)
      
         - Fix memory leak on thermal_of_zone_register() failure (Ido
           Schimmel)
      
         - Add support for IPQ8074 in the tsens thermal driver along with the
           DT bindings (Robert Marko)
      
         - Fix and rework the debugfs code in the tsens driver (Christian
           Marangi)
      
         - Add calibration and DT documentation for the imx8mm driver (Marek
           Vasut)
      
         - Add DT bindings and compatible for the Mediatek SoCs mt7981 and
           mt7983 (Daniel Golle)
      
         - Don't show an error message if it happens at probe time while it
           will be deferred on the QCom SPMI ADC driver (Johan Hovold)
      
         - Add HWMon support for the imx8mm board (Alexander Stein)
      
         - Remove pointless include from the power allocator governor
           (Christophe JAILLET)
      
         - Add interrupt DT bindings for QCom SoCs SC8280XP, SM6350 and SM8450
           (Krzysztof Kozlowski)
      
         - Fix inaccurate warning message for the QCom tsens gen2 (Luca Weiss)
      
         - Demote error log of thermal zone register to debug in the tsens
           QCom driver (Manivannan Sadhasivam)
      
         - Consolidate the the efuse values and the errata handling in the TI
           Bandgap driver (Bryan Brattlof)
      
         - Document Renesas RZ/Five as compatible with RZ/G2UL in the DT
           bindings (Lad Prabhakar)
      
         - Fix the irq handler return value in the LMh driver (Bjorn
           Andersson)
      
         - Delete empty platform remove callback from imx_sc_thermal (Uwe
           Kleine-König)"
      
      * tag 'thermal-6.2-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (35 commits)
        thermal/drivers/imx_sc_thermal: Drop empty platform remove function
        thermal/drivers/qcom/lmh: Fix irq handler return value
        dt-bindings: thermal: qcom-tsens: Add compatible for sm8550
        thermal/drivers/st: Use devm_platform_get_and_ioremap_resource()
        dt-bindings: thermal: rzg2l-thermal: Document RZ/Five SoC
        dt-bindings: thermal: k3-j72xx: conditionally require efuse reg range
        dt-bindings: thermal: k3-j72xx: elaborate on binding description
        thermal/drivers/k3_j72xx_bandgap: Map fuse_base only for erratum workaround
        thermal/drivers/k3_j72xx_bandgap: Remove fuse_base from structure
        thermal/drivers/k3_j72xx_bandgap: Use bool for i2128 erratum flag
        thermal/drivers/k3_j72xx_bandgap: Simplify k3_thermal_get_temp() function
        thermal/drivers/qcom: Demote error log of thermal zone register to debug
        thermal/drivers/qcom/temp-alarm: Fix inaccurate warning for gen2
        dt-bindings: thermal: qcom-tsens: narrow interrupts for SC8280XP, SM6350 and SM8450
        thermal/core/power allocator: Remove a useless include
        thermal/drivers/imx8mm: Add hwmon support
        thermal: qcom-spmi-adc-tm5: suppress probe-deferral error message
        dt-bindings: thermal: mediatek: add compatible string for MT7986 and MT7981 SoC
        thermal: ti-soc-thermal: Drop comma after SoC match table sentinel
        thermal/drivers/imx: Add support for loading calibration data from OCOTP
        ...
      601c1aa8
    • Linus Torvalds's avatar
      Merge tag 'gpio-updates-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · c0f234ff
      Linus Torvalds authored
      Pull gpio updates from Bartosz Golaszewski:
       "We have a new GPIO multiplexer driver, bunch of driver updates and
        refactoring in the core GPIO library.
      
        GPIO core:
         - teach gpiolib to work with software nodes for HW description
         - remove ARCH_NR_GPIOS treewide as we no longer impose any limit on
           the number of GPIOS since the allocation became entirely dynamic
         - add support for HW quirks for Cirrus CS42L56 codec, Marvell NFC
           controller, Freescale PCIe and Ethernet controller, Himax LCDs and
           Mediatek mt2701
         - refactor OF quirk code
         - some general refactoring of the OF and ACPI code, adding new
           helpers, minor tweaks and fixes, making fwnode usage consistent
           etc.
      
        GPIO uAPI:
         - fix an issue where the user-space can trigger a NULL-pointer
           dereference in the kernel by opening a device file, forcing a
           driver unbind and then calling one of the syscalls on the
           associated file descriptor
      
        New drivers:
         - add gpio-latch: a new GPIO multiplexer based on latches connected
           to other GPIOs
      
        Driver updates:
         - convert i2c GPIO expanders to using .probe_new()
         - drop the gpio-sta2x11 driver
         - factor out common code for the ACCES IDIO-16 family of controllers
           and use this new library wherever applicable in drivers
         - add DT support to gpio-hisi
         - allow building gpio-davinci as a module and increase its maxItems
           property
         - add support for a new model to gpio-pca9570
         - other minor changes to various drivers"
      
      * tag 'gpio-updates-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (66 commits)
        gpio: sim: set a limit on the number of GPIOs
        gpiolib: protect the GPIO device against being dropped while in use by user-space
        gpiolib: cdev: fix NULL-pointer dereferences
        gpiolib: Provide to_gpio_device() helper
        gpiolib: Unify access to the device properties
        gpio: Do not include <linux/kernel.h> when not really needed.
        gpio: pcf857x: Convert to i2c's .probe_new()
        gpio: pca953x: Convert to i2c's .probe_new()
        gpio: max732x: Convert to i2c's .probe_new()
        dt-bindings: gpio: gpio-davinci: Increase maxItems in gpio-line-names
        gpiolib: ensure that fwnode is properly set
        gpio: sl28cpld: Replace irqchip mask_invert with unmask_base
        gpiolib: of: Use correct fwnode for DT-probed chips
        gpiolib: of: Drop redundant check in of_mm_gpiochip_remove()
        gpiolib: of: Prepare of_mm_gpiochip_add_data() for fwnode
        gpiolib: add support for software nodes
        gpiolib: consolidate GPIO lookups
        gpiolib: acpi: avoid leaking ACPI details into upper gpiolib layers
        gpiolib: acpi: teach acpi_find_gpio() to handle data-only nodes
        gpiolib: acpi: change acpi_find_gpio() to accept firmware node
        ...
      c0f234ff
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-ec' · 3d03140c
      Rafael J. Wysocki authored
      Merge additional ACPI EC driver fixes for 6.2-rc1:
      
       - Fix EC address space handler unregistration (Hans de Goede).
      
       - Defer the evaluation of _REG for ECDT described ECs till the matching
         EC device in the DSDT gets parsed and acpi_ec_add() gets called for
         it (Hans de Goede).
      
      * acpi-ec:
        ACPI: EC: Fix ECDT probe ordering issues
        ACPI: EC: Fix EC address space handler unregistration
      3d03140c
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 9fa4abc9
      Linus Torvalds authored
      Pull fbdev updates from Helge Deller:
       "The most relevant change are the patches from Dmitry Torokhov to
        switch omapfb to the gpiod API.
      
        The other patches are small and fix e.g. UML build issues, improve the
        error paths and cleanup code"
      
      * tag 'fbdev-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (32 commits)
        fbdev: fbcon: release buffer when fbcon_do_set_font() failed
        fbdev: sh_mobile_lcdcfb: use sysfs_emit() to instead of scnprintf()
        fbdev: uvesafb: use sysfs_emit() to instead of scnprintf()
        fbdev: uvesafb: Simplify uvesafb_remove()
        fbdev: uvesafb: Fixes an error handling path in uvesafb_probe()
        fbdev: uvesafb: don't build on UML
        fbdev: geode: don't build on UML
        fbdev: ep93xx-fb: Add missing clk_disable_unprepare in ep93xxfb_probe()
        fbdev: matroxfb: Convert to i2c's .probe_new()
        fbdev: da8xx-fb: add missing regulator_disable() in fb_probe
        fbdev: controlfb: fix spelling mistake "paramaters"->"parameters"
        fbdev: vermilion: decrease reference count in error path
        fbdev: smscufx: fix error handling code in ufx_usb_probe
        fbdev: via: Fix error in via_core_init()
        fbdev: pm2fb: fix missing pci_disable_device()
        fbdev: pxafb: Remove unnecessary print function dev_err()
        fbdev: omapfb: panel-sharp-ls037v7dw01: fix included headers
        fbdev: omapfb: panel-tpo-td028ttec1: stop including gpio.h
        fbdev: omapfb: panel-lgphilips-lb035q02: remove backlight GPIO handling
        fbdev: omapfb: encoder-opa362: fix included headers
        ...
      9fa4abc9
    • Rafael J. Wysocki's avatar
      Merge branch 'acpica' · f7eae09b
      Rafael J. Wysocki authored
      Merge additional ACPICA changes for 6.2-rc1:
      
       - Avoid trying to resolve operands in AML when there are none (Amadeusz
         Sławiński).
      
       - Fix indentation in include/acpi/acpixf.h to help applying patches
         from the upstream ACPICA git (Hans de Goede).
      
       - Make it possible to install an address space handler without
         evaluating _REG for Operation Regions in the given address space (Hans
         de Goede).
      
      * acpica:
        ACPICA: Allow address_space_handler Install and _REG execution as 2 separate steps
        ACPICA: include/acpi/acpixf.h: Fix indentation
        ACPICA: Fix operand resolution
      f7eae09b
    • Linus Torvalds's avatar
      Merge tag '6.2-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd · 504a73d4
      Linus Torvalds authored
      Pull ksmbd updates from Steve French:
       "Six ksmbd server fixes"
      
      * tag '6.2-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd:
        ksmbd: Convert to use sysfs_emit()/sysfs_emit_at() APIs
        ksmbd: Fix resource leak in smb2_lock()
        ksmbd: Fix resource leak in ksmbd_session_rpc_open()
        ksmbd: replace one-element arrays with flexible-array members
        ksmbd: use F_SETLK when unlocking a file
        ksmbd: set SMB2_SESSION_FLAG_ENCRYPT_DATA when enforcing data encryption for this share
      504a73d4
  3. 14 Dec, 2022 20 commits
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 041fae9c
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've added two features: F2FS_IOC_START_ATOMIC_REPLACE
        and a per-block age-based extent cache.
      
        F2FS_IOC_START_ATOMIC_REPLACE is a variant of the previous atomic
        write feature which guarantees a per-file atomicity. It would be more
        efficient than AtomicFile implementation in Android framework.
      
        The per-block age-based extent cache implements another type of extent
        cache in memory which keeps the per-block age in a file, so that block
        allocator could split the hot and cold data blocks more accurately.
      
        Enhancements:
         - introduce F2FS_IOC_START_ATOMIC_REPLACE
         - refactor extent_cache to add a new per-block-age-based extent cache support
         - introduce discard_urgent_util, gc_mode, max_ordered_discard sysfs knobs
         - add proc entry to show discard_plist info
         - optimize iteration over sparse directories
         - add barrier mount option
      
        Bug fixes:
         - avoid victim selection from previous victim section
         - fix to enable compress for newly created file if extension matches
         - set zstd compress level correctly
         - initialize locks early in f2fs_fill_super() to fix bugs reported by syzbot
         - correct i_size change for atomic writes
         - allow to read node block after shutdown
         - allow to set compression for inlined file
         - fix gc mode when gc_urgent_high_remaining is 1
         - should put a page when checking the summary info
      
        Minor fixes and various clean-ups in GC, discard, debugfs, sysfs, and
        doc"
      
      * tag 'f2fs-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (63 commits)
        f2fs: reset wait_ms to default if any of the victims have been selected
        f2fs: fix some format WARNING in debug.c and sysfs.c
        f2fs: don't call f2fs_issue_discard_timeout() when discard_cmd_cnt is 0 in f2fs_put_super()
        f2fs: fix iostat parameter for discard
        f2fs: Fix spelling mistake in label: free_bio_enrty_cache -> free_bio_entry_cache
        f2fs: add block_age-based extent cache
        f2fs: allocate the extent_cache by default
        f2fs: refactor extent_cache to support for read and more
        f2fs: remove unnecessary __init_extent_tree
        f2fs: move internal functions into extent_cache.c
        f2fs: specify extent cache for read explicitly
        f2fs: introduce f2fs_is_readonly() for readability
        f2fs: remove F2FS_SET_FEATURE() and F2FS_CLEAR_FEATURE() macro
        f2fs: do some cleanup for f2fs module init
        MAINTAINERS: Add f2fs bug tracker link
        f2fs: remove the unused flush argument to change_curseg
        f2fs: open code allocate_segment_by_default
        f2fs: remove struct segment_allocation default_salloc_ops
        f2fs: introduce discard_urgent_util sysfs node
        f2fs: define MIN_DISCARD_GRANULARITY macro
        ...
      041fae9c
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.2-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · eb67d239
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - Support for the T-Head PMU via the perf subsystem
      
       - ftrace support for rv32
      
       - Support for non-volatile memory devices
      
       - Various fixes and cleanups
      
      * tag 'riscv-for-linus-6.2-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (52 commits)
        Documentation: RISC-V: patch-acceptance: s/implementor/implementer
        Documentation: RISC-V: Mention the UEFI Standards
        Documentation: RISC-V: Allow patches for non-standard behavior
        Documentation: RISC-V: Fix a typo in patch-acceptance
        riscv: Fixup compile error with !MMU
        riscv: Fix P4D_SHIFT definition for 3-level page table mode
        riscv: Apply a static assert to riscv_isa_ext_id
        RISC-V: Add some comments about the shadow and overflow stacks
        RISC-V: Align the shadow stack
        RISC-V: Ensure Zicbom has a valid block size
        RISC-V: Introduce riscv_isa_extension_check
        RISC-V: Improve use of isa2hwcap[]
        riscv: Don't duplicate _ALTERNATIVE_CFG* macros
        riscv: alternatives: Drop the underscores from the assembly macro names
        riscv: alternatives: Don't name unused macro parameters
        riscv: Don't duplicate __ALTERNATIVE_CFG in __ALTERNATIVE_CFG_2
        riscv: mm: call best_map_size many times during linear-mapping
        riscv: Move cast inside kernel_mapping_[pv]a_to_[vp]a
        riscv: Fix crash during early errata patching
        riscv: boot: add zstd support
        ...
      eb67d239
    • Linus Torvalds's avatar
      Merge tag 'x86_core_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 94a85511
      Linus Torvalds authored
      Pull x86 core updates from Borislav Petkov:
      
       - Add the call depth tracking mitigation for Retbleed which has been
         long in the making. It is a lighterweight software-only fix for
         Skylake-based cores where enabling IBRS is a big hammer and causes a
         significant performance impact.
      
         What it basically does is, it aligns all kernel functions to 16 bytes
         boundary and adds a 16-byte padding before the function, objtool
         collects all functions' locations and when the mitigation gets
         applied, it patches a call accounting thunk which is used to track
         the call depth of the stack at any time.
      
         When that call depth reaches a magical, microarchitecture-specific
         value for the Return Stack Buffer, the code stuffs that RSB and
         avoids its underflow which could otherwise lead to the Intel variant
         of Retbleed.
      
         This software-only solution brings a lot of the lost performance
         back, as benchmarks suggest:
      
             https://lore.kernel.org/all/20220915111039.092790446@infradead.org/
      
         That page above also contains a lot more detailed explanation of the
         whole mechanism
      
       - Implement a new control flow integrity scheme called FineIBT which is
         based on the software kCFI implementation and uses hardware IBT
         support where present to annotate and track indirect branches using a
         hash to validate them
      
       - Other misc fixes and cleanups
      
      * tag 'x86_core_for_v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (80 commits)
        x86/paravirt: Use common macro for creating simple asm paravirt functions
        x86/paravirt: Remove clobber bitmask from .parainstructions
        x86/debug: Include percpu.h in debugreg.h to get DECLARE_PER_CPU() et al
        x86/cpufeatures: Move X86_FEATURE_CALL_DEPTH from bit 18 to bit 19 of word 11, to leave space for WIP X86_FEATURE_SGX_EDECCSSA bit
        x86/Kconfig: Enable kernel IBT by default
        x86,pm: Force out-of-line memcpy()
        objtool: Fix weak hole vs prefix symbol
        objtool: Optimize elf_dirty_reloc_sym()
        x86/cfi: Add boot time hash randomization
        x86/cfi: Boot time selection of CFI scheme
        x86/ibt: Implement FineIBT
        objtool: Add --cfi to generate the .cfi_sites section
        x86: Add prefix symbols for function padding
        objtool: Add option to generate prefix symbols
        objtool: Avoid O(bloody terrible) behaviour -- an ode to libelf
        objtool: Slice up elf_create_section_symbol()
        kallsyms: Revert "Take callthunks into account"
        x86: Unconfuse CONFIG_ and X86_FEATURE_ namespaces
        x86/retpoline: Fix crash printing warning
        x86/paravirt: Fix a !PARAVIRT build warning
        ...
      94a85511
    • Linus Torvalds's avatar
      Merge tag 'apparmor-pr-2022-12-14' of... · 93761c93
      Linus Torvalds authored
      Merge tag 'apparmor-pr-2022-12-14' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
      
      Pull apparmor updates from John Johansen:
       "Features:
         - switch to zstd compression for profile raw data
      
        Cleanups:
         - simplify obtaining the newest label on a cred
         - remove useless static inline functions
         - compute permission conversion on policy unpack
         - refactor code to share common permissins
         - refactor unpack to group policy backwards compatiblity code
         - add __init annotation to aa_{setup/teardown}_dfa_engine()
      
        Bug Fixes:
         - fix a memleak in
             - multi_transaction_new()
             - free_ruleset()
             - unpack_profile()
             - alloc_ns()
         - fix lockdep warning when removing a namespace
         - fix regression in stacking due to label flags
         - fix loading of child before parent
         - fix kernel-doc comments that differ from fns
         - fix spelling errors in comments
         - store return value of unpack_perms_table() to signed variable"
      
      * tag 'apparmor-pr-2022-12-14' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor: (64 commits)
        apparmor: Fix uninitialized symbol 'array_size' in policy_unpack_test.c
        apparmor: Add __init annotation to aa_{setup/teardown}_dfa_engine()
        apparmor: Fix memleak in alloc_ns()
        apparmor: Fix memleak issue in unpack_profile()
        apparmor: fix a memleak in free_ruleset()
        apparmor: Fix spelling of function name in comment block
        apparmor: Use pointer to struct aa_label for lbs_cred
        AppArmor: Fix kernel-doc
        LSM: Fix kernel-doc
        AppArmor: Fix kernel-doc
        apparmor: Fix loading of child before parent
        apparmor: refactor code that alloc null profiles
        apparmor: fix obsoleted comments for aa_getprocattr() and audit_resource()
        apparmor: remove useless static inline functions
        apparmor: Fix unpack_profile() warn: passing zero to 'ERR_PTR'
        apparmor: fix uninitialize table variable in error in unpack_trans_table
        apparmor: store return value of unpack_perms_table() to signed variable
        apparmor: Fix kunit test for out of bounds array
        apparmor: Fix decompression of rawdata for read back to userspace
        apparmor: Fix undefined references to zstd_ symbols
        ...
      93761c93
    • Linus Torvalds's avatar
      Merge tag 'v6.2-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 64e7003c
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "API:
         - Optimise away self-test overhead when they are disabled
         - Support symmetric encryption via keyring keys in af_alg
         - Flip hwrng default_quality, the default is now maximum entropy
      
        Algorithms:
         - Add library version of aesgcm
         - CFI fixes for assembly code
         - Add arm/arm64 accelerated versions of sm3/sm4
      
        Drivers:
         - Remove assumption on arm64 that kmalloc is DMA-aligned
         - Fix selftest failures in rockchip
         - Add support for RK3328/RK3399 in rockchip
         - Add deflate support in qat
         - Merge ux500 into stm32
         - Add support for TEE for PCI ID 0x14CA in ccp
         - Add mt7986 support in mtk
         - Add MaxLinear platform support in inside-secure
         - Add NPCM8XX support in npcm"
      
      * tag 'v6.2-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (184 commits)
        crypto: ux500/cryp - delete driver
        crypto: stm32/cryp - enable for use with Ux500
        crypto: stm32 - enable drivers to be used on Ux500
        dt-bindings: crypto: Let STM32 define Ux500 CRYP
        hwrng: geode - Fix PCI device refcount leak
        hwrng: amd - Fix PCI device refcount leak
        crypto: qce - Set DMA alignment explicitly
        crypto: octeontx2 - Set DMA alignment explicitly
        crypto: octeontx - Set DMA alignment explicitly
        crypto: keembay - Set DMA alignment explicitly
        crypto: safexcel - Set DMA alignment explicitly
        crypto: hisilicon/hpre - Set DMA alignment explicitly
        crypto: chelsio - Set DMA alignment explicitly
        crypto: ccree - Set DMA alignment explicitly
        crypto: ccp - Set DMA alignment explicitly
        crypto: cavium - Set DMA alignment explicitly
        crypto: img-hash - Fix variable dereferenced before check 'hdev->req'
        crypto: arm64/ghash-ce - use frame_push/pop macros consistently
        crypto: arm64/crct10dif - use frame_push/pop macros consistently
        crypto: arm64/aes-modes - use frame_push/pop macros consistently
        ...
      64e7003c
    • Linus Torvalds's avatar
      Merge tag 'hardening-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 48ea09cd
      Linus Torvalds authored
      Pull kernel hardening updates from Kees Cook:
      
       - Convert flexible array members, fix -Wstringop-overflow warnings, and
         fix KCFI function type mismatches that went ignored by maintainers
         (Gustavo A. R. Silva, Nathan Chancellor, Kees Cook)
      
       - Remove the remaining side-effect users of ksize() by converting
         dma-buf, btrfs, and coredump to using kmalloc_size_roundup(), add
         more __alloc_size attributes, and introduce full testing of all
         allocator functions. Finally remove the ksize() side-effect so that
         each allocation-aware checker can finally behave without exceptions
      
       - Introduce oops_limit (default 10,000) and warn_limit (default off) to
         provide greater granularity of control for panic_on_oops and
         panic_on_warn (Jann Horn, Kees Cook)
      
       - Introduce overflows_type() and castable_to_type() helpers for cleaner
         overflow checking
      
       - Improve code generation for strscpy() and update str*() kern-doc
      
       - Convert strscpy and sigphash tests to KUnit, and expand memcpy tests
      
       - Always use a non-NULL argument for prepare_kernel_cred()
      
       - Disable structleak plugin in FORTIFY KUnit test (Anders Roxell)
      
       - Adjust orphan linker section checking to respect CONFIG_WERROR (Xin
         Li)
      
       - Make sure siginfo is cleared for forced SIGKILL (haifeng.xu)
      
       - Fix um vs FORTIFY warnings for always-NULL arguments
      
      * tag 'hardening-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (31 commits)
        ksmbd: replace one-element arrays with flexible-array members
        hpet: Replace one-element array with flexible-array member
        um: virt-pci: Avoid GCC non-NULL warning
        signal: Initialize the info in ksignal
        lib: fortify_kunit: build without structleak plugin
        panic: Expose "warn_count" to sysfs
        panic: Introduce warn_limit
        panic: Consolidate open-coded panic_on_warn checks
        exit: Allow oops_limit to be disabled
        exit: Expose "oops_count" to sysfs
        exit: Put an upper limit on how often we can oops
        panic: Separate sysctl logic from CONFIG_SMP
        mm/pgtable: Fix multiple -Wstringop-overflow warnings
        mm: Make ksize() a reporting-only function
        kunit/fortify: Validate __alloc_size attribute results
        drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
        drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid()
        driver core: Add __alloc_size hint to devm allocators
        overflow: Introduce overflows_type() and castable_to_type()
        coredump: Proactively round up to kmalloc bucket size
        ...
      48ea09cd
    • Linus Torvalds's avatar
      Merge tag 'memblock-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · ad76bf1f
      Linus Torvalds authored
      Pull memblock updates from Mike Rapoport:
       "Extend test coverage:
      
         - add tests that trigger reallocation of memblock structures from
           memblock itself via memblock_double_array()
      
         - add tests for memblock_alloc_exact_nid_raw() that verify that
           requested node and memory range constraints are respected"
      
      * tag 'memblock-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        memblock tests: remove completed TODO item
        memblock tests: add generic NUMA tests for memblock_alloc_exact_nid_raw
        memblock tests: add bottom-up NUMA tests for memblock_alloc_exact_nid_raw
        memblock tests: add top-down NUMA tests for memblock_alloc_exact_nid_raw
        memblock tests: introduce range tests for memblock_alloc_exact_nid_raw
        memblock test: Update TODO list
        memblock test: Add test to memblock_reserve() 129th region
        memblock test: Add test to memblock_add() 129th region
      ad76bf1f
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.2-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · 6f1f5cae
      Linus Torvalds authored
      Pull orangefs updates from Mike Marshall:
      
       - fix problems with memory leaks on exit in sysfs and debufs (Zhang)
      
       - remove an unused variable and an unneeded assignment (Colin)
      
      * tag 'for-linus-6.2-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        orangefs: Fix kmemleak in orangefs_{kernel,client}_debug_init()
        orangefs: Fix kmemleak in orangefs_sysfs_init()
        orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string()
        orangefs: Fix sysfs not cleanup when dev init failed
        orangefs: remove redundant assignment to variable buffer_index
        orangefs: remove variable i
      6f1f5cae
    • Tetsuo Handa's avatar
      fbdev: fbcon: release buffer when fbcon_do_set_font() failed · 3c3bfb85
      Tetsuo Handa authored
      syzbot is reporting memory leak at fbcon_do_set_font() [1], for
      commit a5a92303 ("fbdev: fbcon: Properly revert changes when
      vc_resize() failed") missed that the buffer might be newly allocated
      by fbcon_set_font().
      
      Link: https://syzkaller.appspot.com/bug?extid=25bdb7b1703639abd498 [1]
      Reported-by: default avatarsyzbot <syzbot+25bdb7b1703639abd498@syzkaller.appspotmail.com>
      Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Tested-by: default avatarsyzbot <syzbot+25bdb7b1703639abd498@syzkaller.appspotmail.com>
      Fixes: a5a92303 ("fbdev: fbcon: Properly revert changes when vc_resize() failed")
      CC: stable@vger.kernel.org # 5.15+
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      3c3bfb85
    • ye xingchen's avatar
      fbdev: sh_mobile_lcdcfb: use sysfs_emit() to instead of scnprintf() · b20a558d
      ye xingchen authored
      Follow the advice of the Documentation/filesystems/sysfs.rst and show()
      should only use sysfs_emit() or sysfs_emit_at() when formatting the
      value to be returned to user space.
      Signed-off-by: default avatarye xingchen <ye.xingchen@zte.com.cn>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      b20a558d
    • ye xingchen's avatar
      fbdev: uvesafb: use sysfs_emit() to instead of scnprintf() · 522d5226
      ye xingchen authored
      Follow the advice of the Documentation/filesystems/sysfs.rst and show()
      should only use sysfs_emit() or sysfs_emit_at() when formatting the
      value to be returned to user space.
      Signed-off-by: default avatarye xingchen <ye.xingchen@zte.com.cn>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      522d5226
    • Christophe JAILLET's avatar
      fbdev: uvesafb: Simplify uvesafb_remove() · f2ff0c43
      Christophe JAILLET authored
      When the remove() function is called, we know that the probe() function has
      successfully been executed. So 'info' is known to be not NULL.
      
      Simplify the code accordingly.
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      f2ff0c43
    • Christophe JAILLET's avatar
      fbdev: uvesafb: Fixes an error handling path in uvesafb_probe() · a9437104
      Christophe JAILLET authored
      If an error occurs after a successful uvesafb_init_mtrr() call, it must be
      undone by a corresponding arch_phys_wc_del() call, as already done in the
      remove function.
      
      This has been added in the remove function in commit 63e28a7a
      ("uvesafb: Clean up MTRR code")
      
      Fixes: 8bdb3a2d ("uvesafb: the driver core")
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      a9437104
    • Randy Dunlap's avatar
      fbdev: uvesafb: don't build on UML · 35b4f4d4
      Randy Dunlap authored
      The uvesafb fbdev driver uses memory management information that is not
      available on ARCH=um, so don't allow this driver to be built on UML.
      
      Prevents these build errors:
      
      ../drivers/video/fbdev/uvesafb.c: In function ‘uvesafb_vbe_init’:
      ../drivers/video/fbdev/uvesafb.c:807:21: error: ‘__supported_pte_mask’ undeclared (first use in this function)
        807 |                 if (__supported_pte_mask & _PAGE_NX) {
      ../drivers/video/fbdev/uvesafb.c:807:44: error: ‘_PAGE_NX’ undeclared (first use in this function)
        807 |                 if (__supported_pte_mask & _PAGE_NX) {
      
      Fixes: 68f5d3f3 ("um: add PCI over virtio emulation driver")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: linux-um@lists.infradead.org
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Helge Deller <deller@gmx.de>
      Cc: linux-fbdev@vger.kernel.org
      Cc: dri-devel@lists.freedesktop.org
      Cc: Michal Januszewski <spock@gentoo.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      35b4f4d4
    • Randy Dunlap's avatar
      fbdev: geode: don't build on UML · 71c53e19
      Randy Dunlap authored
      The geode fbdev driver uses struct cpuinfo fields that are not present
      on ARCH=um, so don't allow this driver to be built on UML.
      
      Prevents these build errors:
      
      In file included from ../arch/x86/include/asm/olpc.h:7:0,
                       from ../drivers/mfd/cs5535-mfd.c:17:
      ../arch/x86/include/asm/geode.h: In function ‘is_geode_gx’:
      ../arch/x86/include/asm/geode.h:16:24: error: ‘struct cpuinfo_um’ has no member named ‘x86_vendor’
        return ((boot_cpu_data.x86_vendor == X86_VENDOR_NSC) &&
      ../arch/x86/include/asm/geode.h:16:39: error: ‘X86_VENDOR_NSC’ undeclared (first use in this function); did you mean ‘X86_VENDOR_ANY’?
        return ((boot_cpu_data.x86_vendor == X86_VENDOR_NSC) &&
      ../arch/x86/include/asm/geode.h:17:17: error: ‘struct cpuinfo_um’ has no member named ‘x86’
         (boot_cpu_data.x86 == 5) &&
      ../arch/x86/include/asm/geode.h:18:17: error: ‘struct cpuinfo_um’ has no member named ‘x86_model’
         (boot_cpu_data.x86_model == 5));
      ../arch/x86/include/asm/geode.h: In function ‘is_geode_lx’:
      ../arch/x86/include/asm/geode.h:23:24: error: ‘struct cpuinfo_um’ has no member named ‘x86_vendor’
        return ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) &&
      ../arch/x86/include/asm/geode.h:23:39: error: ‘X86_VENDOR_AMD’ undeclared (first use in this function); did you mean ‘X86_VENDOR_ANY’?
        return ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) &&
      ../arch/x86/include/asm/geode.h:24:17: error: ‘struct cpuinfo_um’ has no member named ‘x86’
         (boot_cpu_data.x86 == 5) &&
      ../arch/x86/include/asm/geode.h:25:17: error: ‘struct cpuinfo_um’ has no member named ‘x86_model’
         (boot_cpu_data.x86_model == 10));
      
      Fixes: 68f5d3f3 ("um: add PCI over virtio emulation driver")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: linux-um@lists.infradead.org
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Helge Deller <deller@gmx.de>
      Cc: linux-fbdev@vger.kernel.org
      Cc: dri-devel@lists.freedesktop.org
      Cc: Andres Salomon <dilinger@queued.net>
      Cc: linux-geode@lists.infradead.org
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      71c53e19
    • Gaosheng Cui's avatar
      fbdev: ep93xx-fb: Add missing clk_disable_unprepare in ep93xxfb_probe() · c84bf485
      Gaosheng Cui authored
      The clk_disable_unprepare() should be called in the error handling
      of register_framebuffer(), fix it.
      
      Fixes: 0937a7b3 ("video: ep93xx: Prepare clock before using it")
      Signed-off-by: default avatarGaosheng Cui <cuigaosheng1@huawei.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      c84bf485
    • Uwe Kleine-König's avatar
      fbdev: matroxfb: Convert to i2c's .probe_new() · 30747423
      Uwe Kleine-König authored
      The probe function doesn't make use of the i2c_device_id * parameter so it
      can be trivially converted.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      30747423
    • Dongliang Mu's avatar
      fbdev: da8xx-fb: add missing regulator_disable() in fb_probe · cd53860e
      Dongliang Mu authored
      The error handling code in fb_probe misses regulator_disable if
      regulator_enable is called successfully. The previous commit only
      adds regulator_disable in the .remove(), forgetting the error
      handling code in the .probe.
      
      Fix this by adding a new error label to call regulator_disable.
      
      Fixes: 611097d5("fbdev: da8xx: add support for a regulator")
      Signed-off-by: default avatarDongliang Mu <dzm91@hust.edu.cn>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      cd53860e
    • Yu Zhe's avatar
      fbdev: controlfb: fix spelling mistake "paramaters"->"parameters" · ff61582e
      Yu Zhe authored
      There is a spelling mistake in comment. Fix it.
      Signed-off-by: default avatarYu Zhe <yuzhe@nfschina.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      ff61582e
    • Xiongfeng Wang's avatar
      fbdev: vermilion: decrease reference count in error path · 001f2cdb
      Xiongfeng Wang authored
      pci_get_device() will increase the reference count for the returned
      pci_dev. For the error path, we need to use pci_dev_put() to decrease
      the reference count.
      
      Fixes: dbe7e429 ("vmlfb: framebuffer driver for Intel Vermilion Range")
      Signed-off-by: default avatarXiongfeng Wang <wangxiongfeng2@huawei.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      001f2cdb