02 Nov, 2021

1 commit

  • This patch adds the Kernel support for the caam-keygen user-space
    application. It has two IOCTL calls for key and blob generation and
    import a black key from a blob.

    This support is included in CRYPTO_DEV_FSL_CAAM_TK_API (tagged key
    support).

    Signed-off-by: Iuliana Prodan
    Reviewed-by: Horia Geantă
    (cherry picked from commit 60baeafa838f98a5ab1069716b8e41d28e155137)

    Squashed fixes:
    dd746ff04645 ("MLK-24496 crypto: caam - add tag object header to blob")
    b8c49eddfd68 ("MLK-24517-3 crypto: caam - add null terminator to temporary buffer")
    d7c41169bc8e ("MLK-24517-4 crypto: caam - validate arguments received from user-space")

    Signed-off-by: Iuliana Prodan
    Reviewed-by: Horia Geantă

    Iuliana Prodan
     

28 Oct, 2021

1 commit

  • Add PTP_CLK_MAGIC to the userspace-api/ioctl/ioctl-number.rst
    documentation file.

    Fixes: d94ba80ebbea ("ptp: Added a brand new class driver for ptp clocks.")
    Signed-off-by: Randy Dunlap
    Cc: Richard Cochran
    Cc: John Stultz
    Cc: Jonathan Corbet
    Link: https://lore.kernel.org/r/20211024163831.10200-1-rdunlap@infradead.org
    Signed-off-by: Jakub Kicinski

    Randy Dunlap
     

12 Sep, 2021

1 commit

  • Pull virtio updates from Michael Tsirkin:

    - vduse driver ("vDPA Device in Userspace") supporting emulated virtio
    block devices

    - virtio-vsock support for end of record with SEQPACKET

    - vdpa: mac and mq support for ifcvf and mlx5

    - vdpa: management netlink for ifcvf

    - virtio-i2c, gpio dt bindings

    - misc fixes and cleanups

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (39 commits)
    Documentation: Add documentation for VDUSE
    vduse: Introduce VDUSE - vDPA Device in Userspace
    vduse: Implement an MMU-based software IOTLB
    vdpa: Support transferring virtual addressing during DMA mapping
    vdpa: factor out vhost_vdpa_pa_map() and vhost_vdpa_pa_unmap()
    vdpa: Add an opaque pointer for vdpa_config_ops.dma_map()
    vhost-iotlb: Add an opaque pointer for vhost IOTLB
    vhost-vdpa: Handle the failure of vdpa_reset()
    vdpa: Add reset callback in vdpa_config_ops
    vdpa: Fix some coding style issues
    file: Export receive_fd() to modules
    eventfd: Export eventfd_wake_count to modules
    iova: Export alloc_iova_fast() and free_iova_fast()
    virtio-blk: remove unneeded "likely" statements
    virtio-balloon: Use virtio_find_vqs() helper
    vdpa: Make use of PFN_PHYS/PFN_UP/PFN_DOWN helper macro
    vsock_test: update message bounds test for MSG_EOR
    af_vsock: rename variables in receive loop
    virtio/vsock: support MSG_EOR bit processing
    vhost/vsock: support MSG_EOR bit processing
    ...

    Linus Torvalds
     

06 Sep, 2021

1 commit

  • This VDUSE driver enables implementing software-emulated vDPA
    devices in userspace. The vDPA device is created by
    ioctl(VDUSE_CREATE_DEV) on /dev/vduse/control. Then a char device
    interface (/dev/vduse/$NAME) is exported to userspace for device
    emulation.

    In order to make the device emulation more secure, the device's
    control path is handled in kernel. A message mechnism is introduced
    to forward some dataplane related control messages to userspace.

    And in the data path, the DMA buffer will be mapped into userspace
    address space through different ways depending on the vDPA bus to
    which the vDPA device is attached. In virtio-vdpa case, the MMU-based
    software IOTLB is used to achieve that. And in vhost-vdpa case, the
    DMA buffer is reside in a userspace memory region which can be shared
    to the VDUSE userspace processs via transferring the shmfd.

    For more details on VDUSE design and usage, please see the follow-on
    Documentation commit.

    NB(mst): when merging this with
    b542e383d8c0 ("eventfd: Make signal recursion protection a task bit")
    replace eventfd_signal_count with eventfd_signal_allowed,
    and drop the previous
    ("eventfd: Export eventfd_wake_count to modules").

    Signed-off-by: Xie Yongji
    Acked-by: Jason Wang
    Link: https://lore.kernel.org/r/20210831103634.33-13-xieyongji@bytedance.com
    Signed-off-by: Michael S. Tsirkin

    Xie Yongji
     

15 Aug, 2021

1 commit

  • Lightnvm supports the OCSSD 1.x and 2.0 specs which were early attempts
    to produce Open Channel SSDs and never made it into the NVMe spec
    proper. They have since been superceeded by NVMe enhancements such
    as ZNS support. Remove the support per the deprecation schedule.

    Signed-off-by: Christoph Hellwig
    Link: https://lore.kernel.org/r/20210812132308.38486-1-hch@lst.de
    Reviewed-by: Matias Bjørling
    Reviewed-by: Javier González
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     

01 Jul, 2021

1 commit

  • …ernel/git/pdx86/platform-drivers-x86

    Pull x86 platform driver updates from Hans de Goede:
    "Highlights:

    - New think-lmi driver adding support for changing Lenovo Thinkpad
    BIOS settings from within Linux using the standard firmware-
    attributes class sysfs API

    - MS Surface aggregator-cdev now also supports forwarding events to
    user-space (for debugging / new driver development purposes only)

    - New intel_skl_int3472 driver this provides the necessary glue to
    translate ACPI table information to GPIOs, regulators, etc. for
    camera sensors on Intel devices with IPU3 attached MIPI cameras

    - A whole bunch of other fixes + device-specific quirk additions

    - New devm_work_autocancel() devm-helpers.h function"

    * tag 'platform-drivers-x86-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (83 commits)
    platform/x86: dell-wmi-sysman: Change user experience when Admin/System Password is modified
    platform/x86: intel_skl_int3472: Uninitialized variable in skl_int3472_handle_gpio_resources()
    platform/x86: think-lmi: Move kfree(setting->possible_values) to tlmi_attr_setting_release()
    platform/x86: think-lmi: Split current_value to reflect only the value
    platform/x86: think-lmi: Fix issues with duplicate attributes
    platform/x86: think-lmi: Return EINVAL when kbdlang gets set to a 0 length string
    platform/x86: intel_cht_int33fe: Move to its own subfolder
    platform/x86: intel_skl_int3472: Move to intel/ subfolder
    platform/x86: intel_skl_int3472: Provide skl_int3472_unregister_clock()
    platform/x86: intel_skl_int3472: Provide skl_int3472_unregister_regulator()
    platform/x86: intel_skl_int3472: Use ACPI GPIO resource directly
    platform/x86: intel_skl_int3472: Fix dependencies (drop CLKDEV_LOOKUP)
    platform/x86: intel_skl_int3472: Free ACPI device resources after use
    platform/x86: Remove "default n" entries
    platform/x86: ISST: Use numa node id for cpu pci dev mapping
    platform/x86: ISST: Optimize CPU to PCI device mapping
    tools/power/x86/intel-speed-select: v1.10 release
    tools/power/x86/intel-speed-select: Fix uncore memory frequency display
    extcon: extcon-max8997: Simplify driver using devm
    extcon: extcon-max8997: Fix IRQ freeing at error path
    ...

    Linus Torvalds
     

16 Jun, 2021

2 commits

  • Currently, debugging unknown events requires writing a custom driver.
    This is somewhat difficult, slow to adapt, and not entirely
    user-friendly for quickly trying to figure out things on devices of some
    third-party user. We can do better. We already have a user-space
    interface intended for debugging SAM EC requests, so let's add support
    for receiving events to that.

    This commit provides support for receiving events by reading from the
    controller file. It additionally introduces two new IOCTLs to control
    which event categories will be forwarded. Specifically, a user-space
    client can specify which target categories it wants to receive events
    from by registering the corresponding notifier(s) via the IOCTLs and
    after that, read the received events by reading from the controller
    device.

    Signed-off-by: Maximilian Luz
    Reviewed-by: Hans de Goede
    Link: https://lore.kernel.org/r/20210604134755.535590-5-luzmaximilian@gmail.com
    Signed-off-by: Hans de Goede

    Maximilian Luz
     
  • The legay ide driver has been replace with libata starting in 2003 and has
    been scheduled for removal for a while. Finally kill it off so that we
    can start cleaning up various bits of cruft it forced on the block layer.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     

27 Apr, 2021

3 commits

  • Pull documentation updates from Jonathan Corbet:
    "It's been a relatively busy cycle in docsland, though more than
    usually well contained to Documentation/ itself. Highlights include:

    - The Chinese translators have been busy and show no signs of
    stopping anytime soon. Italian has also caught up.

    - Aditya Srivastava has been working on improvements to the
    kernel-doc script.

    - Thorsten continues his work on reporting-issues.rst and related
    documentation around regression reporting.

    - Lots of documentation updates, typo fixes, etc. as usual"

    * tag 'docs-5.13' of git://git.lwn.net/linux: (139 commits)
    docs/zh_CN: add openrisc translation to zh_CN index
    docs/zh_CN: add openrisc index.rst translation
    docs/zh_CN: add openrisc todo.rst translation
    docs/zh_CN: add openrisc openrisc_port.rst translation
    docs/zh_CN: add core api translation to zh_CN index
    docs/zh_CN: add core-api index.rst translation
    docs/zh_CN: add core-api irq index.rst translation
    docs/zh_CN: add core-api irq irqflags-tracing.rst translation
    docs/zh_CN: add core-api irq irq-domain.rst translation
    docs/zh_CN: add core-api irq irq-affinity.rst translation
    docs/zh_CN: add core-api irq concepts.rst translation
    docs: sphinx-pre-install: don't barf on beta Sphinx releases
    scripts: kernel-doc: improve parsing for kernel-doc comments syntax
    docs/zh_CN: two minor fixes in zh_CN/doc-guide/
    Documentation: dev-tools: Add Testing Overview
    docs/zh_CN: add translations in zh_CN/dev-tools/gcov
    docs: reporting-issues: make people CC the regressions list
    MAINTAINERS: add regressions mailing list
    doc:it_IT: align Italian documentation
    docs/zh_CN: sync reporting-issues.rst
    ...

    Linus Torvalds
     
  • Pull tty and serial driver updates from Greg KH:
    "Here is the big set of tty and serial driver updates for 5.13-rc1.

    Actually busy this release, with a number of cleanups happening:

    - much needed core tty cleanups by Jiri Slaby

    - removal of unused and orphaned old-style serial drivers. If anyone
    shows up with this hardware, it is trivial to restore these but we
    really do not think they are in use anymore.

    - fixes and cleanups from Johan Hovold on a number of termios setting
    corner cases that loads of drivers got wrong as well as removing
    unneeded code due to tty core changes from long ago that were never
    propagated out to the drivers

    - loads of platform-specific serial port driver updates and fixes

    - coding style cleanups and other small fixes and updates all over
    the tty/serial tree.

    All of these have been in linux-next for a while now with no reported
    issues"

    * tag 'tty-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (186 commits)
    serial: extend compile-test coverage
    serial: stm32: add FIFO threshold configuration
    dt-bindings: serial: 8250: update TX FIFO trigger level
    dt-bindings: serial: stm32: override FIFO threshold properties
    dt-bindings: serial: add RX and TX FIFO properties
    serial: xilinx_uartps: drop low-latency workaround
    serial: vt8500: drop low-latency workaround
    serial: timbuart: drop low-latency workaround
    serial: sunsu: drop low-latency workaround
    serial: sifive: drop low-latency workaround
    serial: txx9: drop low-latency workaround
    serial: sa1100: drop low-latency workaround
    serial: rp2: drop low-latency workaround
    serial: rda: drop low-latency workaround
    serial: owl: drop low-latency workaround
    serial: msm_serial: drop low-latency workaround
    serial: mpc52xx_uart: drop low-latency workaround
    serial: meson: drop low-latency workaround
    serial: mcf: drop low-latency workaround
    serial: lpc32xx_hs: drop low-latency workaround
    ...

    Linus Torvalds
     
  • Pull staging/IIO driver updates from Greg KH:
    "Here is the big set of staging and IIO driver updates for 5.13-rc1.

    Lots of little churn in here, and some larger churn as well. Major
    things are:

    - removal of wimax drivers, no one has this hardware anymore for this
    failed "experiment".

    - removal of the Google gasket driver, turns out no one wanted to
    maintain it or cares about it anymore, so they asked for it to be
    removed.

    - comedi finally moves out of the staging directory into drivers/comedi

    This is one of the oldest kernel subsystems around, being created
    in the 2.0 kernel days, and was one of the first things added to
    drivers/staging/ when that was created over 15 years ago.

    It should have been moved out of staging a long time ago, it's well
    maintained and used by loads of different devices in the real world
    every day. Nice to see this finally happen.

    - so many tiny coding style cleanups it's not funny.

    Perfect storm of at least 2 different intern project application
    deadlines combined to provide a huge number of new contributions in
    this area from people learning how to do kernel development. Great
    job to everyone involved here.

    There's also the normal updates for IIO drivers with new IIO drivers
    and updates all over that subsystem.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'staging-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (907 commits)
    staging: octeon: Use 'for_each_child_of_node'
    Staging: rtl8723bs: rtw_xmit: fixed tabbing issue
    staging: rtl8188eu: remove unused function parameters
    staging: rtl8188eu: cmdThread is a task_struct
    staging: rtl8188eu: remove constant variable and dead code
    staging: rtl8188eu: change bLeisurePs' type to bool
    staging: rtl8723bs: remove empty #ifdef block
    staging: rtl8723bs: remove unused DBG_871X_LEVEL macro declarations
    staging: rtl8723bs: split too long line
    staging: rtl8723bs: fix indentation in if block
    staging: rtl8723bs: fix code indent issue
    staging: rtl8723bs: replace DBG_871X_LEVEL logs with netdev_*()
    staging: rtl8192e: indent statement properly
    staging: rtl8723bs: Remove led_blink_hdl() and everything related
    staging: comedi: move out of staging directory
    staging: rtl8723bs: remove sdio_drv_priv structure
    staging: rtl8723bs: remove unused argument in function
    staging: rtl8723bs: remove DBG_871X_SEL_NL macro declaration
    staging: rtl8723bs: replace DBG_871X_SEL_NL with netdev_dbg()
    staging: rtl8723bs: fix indentation issue introduced by long line split
    ...

    Linus Torvalds
     

18 Mar, 2021

1 commit

  • The Microsoft Surface Book series devices consist of a so-called
    clipboard part (containing the CPU, touchscreen, and primary battery)
    and a base part (containing keyboard, secondary battery, and optional
    discrete GPU). These parts can be separated, i.e. the clipboard can be
    detached and used as tablet.

    This detachment process is initiated by pressing a button. On the
    Surface Book 2 and 3 (targeted with this commit), the Surface Aggregator
    Module (i.e. the embedded controller on those devices) attempts to send
    a notification to any listening client driver and waits for further
    instructions (i.e. whether the detachment process should continue or be
    aborted). If it does not receive a response in a certain time-frame, the
    detachment process (by default) continues and the clipboard can be
    physically separated. In other words, (by default and) without a driver,
    the detachment process takes about 10 seconds to complete.

    This commit introduces a driver for this detachment system (called DTX).
    This driver allows a user-space daemon to control and influence the
    detachment behavior. Specifically, it forwards any detachment requests
    to user-space, allows user-space to make such requests itself, and
    allows handling of those requests. Requests can be handled by either
    aborting, continuing/allowing, or delaying (i.e. resetting the timeout
    via a heartbeat commend). The user-space API is implemented via the
    /dev/surface/dtx miscdevice.

    In addition, user-space can change the default behavior on timeout from
    allowing detachment to disallowing it, which is useful if the (optional)
    discrete GPU is in use.

    Furthermore, this driver allows user-space to receive notifications
    about the state of the base, specifically when it is physically removed
    (as opposed to detachment requested), in what manner it is connected
    (i.e. in reverse-/tent-/studio- or laptop-mode), and what type of base
    is connected. Based on this information, the driver also provides a
    simple tablet-mode switch (aliasing all modes without keyboard access,
    i.e. tablet-mode and studio-mode to its reported tablet-mode).

    An implementation of such a user-space daemon, allowing configuration of
    detachment behavior via scripts (e.g. safely unmounting USB devices
    connected to the base before continuing) can be found at [1].

    [1]: https://github.com/linux-surface/surface-dtx-daemon

    Signed-off-by: Maximilian Luz
    Link: https://lore.kernel.org/r/20210308184819.437438-2-luzmaximilian@gmail.com
    Signed-off-by: Hans de Goede

    Maximilian Luz
     

12 Mar, 2021

1 commit

  • Currently, only the 'i' 0x90 ioctl() actually exists and is defined in
    'include/uapi/linux/iio/events.h'.

    It's the IIO_GET_EVENT_FD_IOCTL, which is used to retrieve and FD for
    reading events from an IIO device.
    We will want to add more ioct() numbers, so with this change the 'i'
    0x90-0x9F space is reserved for IIO ioctl() calls.

    Signed-off-by: Alexandru Ardelean
    Link: https://lore.kernel.org/r/20210215104043.91251-8-alexandru.ardelean@analog.com
    Signed-off-by: Jonathan Cameron

    Alexandru Ardelean
     

10 Mar, 2021

1 commit

  • The Cyclades driver was orphaned by commit d459883e6c54 (MAINTAINERS:
    remove two dead e-mail) 13 years ago. Noone stepped up to take care of
    them and to fix all the issues the driver has.

    On the top of that, there is no way to obtain the firmware for Z cards
    from the vendor as cyclades.com ceased to exist.

    So it's time to drop the driver with all its traces.

    Signed-off-by: Jiri Slaby
    Link: https://lore.kernel.org/r/20210302062214.29627-5-jslaby@suse.cz
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     

07 Mar, 2021

1 commit

  • All userspace ioctls major/magic number should be documented in
    Documentation/userspace-api/ioctl/ioctl-number.rst, so add
    the entry for .

    Signed-off-by: Randy Dunlap
    Cc: Andrey Vagin
    Cc: Serge Hallyn
    Cc: Eric W. Biederman
    Cc: linux-doc@vger.kernel.org
    Cc: Jonathan Corbet
    Link: https://lore.kernel.org/r/20210210182248.18101-1-rdunlap@infradead.org
    Signed-off-by: Jonathan Corbet

    Randy Dunlap
     

25 Feb, 2021

2 commits

  • Pull char/misc driver updates from Greg KH:
    "Here is the large set of char/misc/whatever driver subsystem updates
    for 5.12-rc1. Over time it seems like this tree is collecting more and
    more tiny driver subsystems in one place, making it easier for those
    maintainers, which is why this is getting larger.

    Included in here are:

    - coresight driver updates

    - habannalabs driver updates

    - virtual acrn driver addition (proper acks from the x86 maintainers)

    - broadcom misc driver addition

    - speakup driver updates

    - soundwire driver updates

    - fpga driver updates

    - amba driver updates

    - mei driver updates

    - vfio driver updates

    - greybus driver updates

    - nvmeem driver updates

    - phy driver updates

    - mhi driver updates

    - interconnect driver udpates

    - fsl-mc bus driver updates

    - random driver fix

    - some small misc driver updates (rtsx, pvpanic, etc.)

    All of these have been in linux-next for a while, with the only
    reported issue being a merge conflict due to the dfl_device_id
    addition from the fpga subsystem in here"

    * tag 'char-misc-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (311 commits)
    spmi: spmi-pmic-arb: Fix hw_irq overflow
    Documentation: coresight: Add PID tracing description
    coresight: etm-perf: Support PID tracing for kernel at EL2
    coresight: etm-perf: Clarify comment on perf options
    ACRN: update MAINTAINERS: mailing list is subscribers-only
    regmap: sdw-mbq: use MODULE_LICENSE("GPL")
    regmap: sdw: use no_pm routines for SoundWire 1.2 MBQ
    regmap: sdw: use _no_pm functions in regmap_read/write
    soundwire: intel: fix possible crash when no device is detected
    MAINTAINERS: replace my with email with replacements
    mhi: Fix double dma free
    uapi: map_to_7segment: Update example in documentation
    uio: uio_pci_generic: don't fail probe if pdev->irq equals to IRQ_NOTCONNECTED
    drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue
    firewire: replace tricky statement by two simple ones
    vme: make remove callback return void
    firmware: google: make coreboot driver's remove callback return void
    firmware: xilinx: Use explicit values for all enum values
    sample/acrn: Introduce a sample of HSM ioctl interface usage
    virt: acrn: Introduce an interface for Service VM to control vCPU
    ...

    Linus Torvalds
     
  • Pull initial support for CXL (Compute Express Link) from Dan Williams:
    "Introduce an initial driver for CXL 2.0 Type-3 Memory Devices.

    CXL is Compute Express Link which released the 2.0 specification in
    November. The Linux relevant changes in CXL 2.0 are support for an OS
    to dynamically assign address space to memory devices, support for
    switches, persistent memory, and hotplug.

    A Type-3 Memory Device is a PCI enumerated device presenting the CXL
    Memory Device Class Code and implementing the CXL.mem protocol.
    CXL.mem allows device to advertise CPU and I/O coherent memory to the
    system, i.e. typical "System RAM" and "Persistent Memory" in Linux
    /proc/iomem terms.

    In addition to the CXL.mem fast path there is an administrative
    command hardware mailbox interface for maintenance and provisioning.
    It is this command interface that is the focus of the initial driver.
    With this driver a CXL device that is mapped by the BIOS can be
    administered by Linux.

    Linux support for CXL PMEM and dynamic CXL address space management
    are to be implemented post v5.12"

    Reviewed-by: Konrad Rzeszutek Wilk
    4cdadfd5e0a7 ("cxl/mem: Introduce a driver for CXL-2.0-Type-3 endpoints")
    13237183c735 ("cxl/mem: Add a "RAW" send command")
    472b1ce6e9d6 ("cxl/mem: Enable commands via CEL")
    57ee605b976c ("cxl/mem: Add set of informational commands")

    Reviewed-by: Jonathan Cameron
    8adaf747c9f0 ("cxl/mem: Find device capabilities")
    b39cb1052a5c ("cxl/mem: Register CXL memX devices")

    * tag 'cxl-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    cxl/mem: Fix potential memory leak
    cxl/mem: Return -EFAULT if copy_to_user() fails
    MAINTAINERS: Add maintainers of the CXL driver
    cxl/mem: Add set of informational commands
    cxl/mem: Enable commands via CEL
    cxl/mem: Add a "RAW" send command
    cxl/mem: Add basic IOCTL interface
    cxl/mem: Register CXL memX devices
    cxl/mem: Find device capabilities
    cxl/mem: Introduce a driver for CXL-2.0-Type-3 endpoints

    Linus Torvalds
     

23 Feb, 2021

1 commit

  • Pull SCSI updates from James Bottomley:
    "This series consists of the usual driver updates (ufs, ibmvfc,
    qla2xxx, hisi_sas, pm80xx) plus the removal of the gdth driver (which
    is bound to cause conflicts with a trivial change somewhere).

    The only big major rework of note is the one from Hannes trying to
    clean up our result handling code in the drivers to make it
    consistent"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (194 commits)
    scsi: MAINTAINERS: Adjust to reflect gdth scsi driver removal
    scsi: ufs: Give clk scaling min gear a value
    scsi: lpfc: Fix 'physical' typos
    scsi: megaraid_mbox: Fix spelling of 'allocated'
    scsi: qla2xxx: Simplify the calculation of variables
    scsi: message: fusion: Fix 'physical' typos
    scsi: target: core: Change ASCQ for residual write
    scsi: target: core: Signal WRITE residuals
    scsi: target: core: Set residuals for 4Kn devices
    scsi: hisi_sas: Add trace FIFO debugfs support
    scsi: hisi_sas: Flush workqueue in hisi_sas_v3_remove()
    scsi: hisi_sas: Enable debugfs support by default
    scsi: hisi_sas: Don't check .nr_hw_queues in hisi_sas_task_prep()
    scsi: hisi_sas: Remove deferred probe check in hisi_sas_v2_probe()
    scsi: lpfc: Add auto select on IRQ_POLL
    scsi: ncr53c8xx: Fix typos
    scsi: lpfc: Fix ancient double free
    scsi: qla2xxx: Fix some memory corruption
    scsi: qla2xxx: Remove redundant NULL check
    scsi: megaraid: Fix ifnullfree.cocci warnings
    ...

    Linus Torvalds
     

17 Feb, 2021

1 commit

  • Add a straightforward IOCTL that provides a mechanism for userspace to
    query the supported memory device commands. CXL commands as they appear
    to userspace are described as part of the UAPI kerneldoc. The command
    list returned via this IOCTL will contain the full set of commands that
    the driver supports, however, some of those commands may not be
    available for use by userspace.

    Memory device commands first appear in the CXL 2.0 specification. They
    are submitted through a mailbox mechanism specified in the CXL 2.0
    specification.

    The send command allows userspace to issue mailbox commands directly to
    the hardware. The list of available commands to send are the output of
    the query command. The driver verifies basic properties of the command
    and possibly inspect the input (or output) payload to determine whether
    or not the command is allowed (or might taint the kernel).

    Reported-by: kernel test robot # bug in earlier revision
    Reported-by: Stephen Rothwell
    Signed-off-by: Ben Widawsky
    Reviewed-by: Dan Williams (v2)
    Cc: Al Viro
    Link: https://lore.kernel.org/r/20210217040958.1354670-5-ben.widawsky@intel.com
    Signed-off-by: Dan Williams

    Ben Widawsky
     

09 Feb, 2021

1 commit

  • The VM management interfaces expose several VM operations to ACRN
    userspace via ioctls. For example, creating VM, starting VM, destroying
    VM and so on.

    The ACRN Hypervisor needs to exchange data with the ACRN userspace
    during the VM operations. HSM provides VM operation ioctls to the ACRN
    userspace and communicates with the ACRN Hypervisor for VM operations
    via hypercalls.

    HSM maintains a list of User VM. Each User VM will be bound to an
    existing file descriptor of /dev/acrn_hsm. The User VM will be
    destroyed when the file descriptor is closed.

    Cc: Zhi Wang
    Cc: Zhenyu Wang
    Cc: Yu Wang
    Cc: Reinette Chatre
    Cc: Greg Kroah-Hartman
    Reviewed-by: Zhi Wang
    Reviewed-by: Reinette Chatre
    Signed-off-by: Shuo Liu
    Link: https://lore.kernel.org/r/20210207031040.49576-7-shuo.a.liu@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Shuo Liu
     

27 Jan, 2021

1 commit

  • Adding userspace support for the MC (Management Complex) means exporting
    an ioctl capable device file representing the root resource container.

    This new functionality in the fsl-mc bus driver intends to provide
    userspace applications an interface to interact with the MC firmware.

    Commands that are composed in userspace are sent to the MC firmware
    through the FSL_MC_SEND_MC_COMMAND ioctl. By default the implicit MC
    I/O portal is used for this operation, but if the implicit one is busy,
    a dynamic portal is allocated and then freed upon execution.

    The command received through the ioctl interface is checked against a
    known whitelist of accepted MC commands. Commands that attempt a change
    in hardware configuration will need CAP_NET_ADMIN, while commands used
    in debugging do not need it.

    Acked-by: Laurentiu Tudor
    Signed-off-by: Ioana Ciornei
    Link: https://lore.kernel.org/r/20210114170752.2927915-4-ciorneiioana@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Ioana Ciornei
     

23 Jan, 2021

1 commit

  • The gdth driver refers to a SCSI parallel, PCI-only HBA RAID adapter which
    was manufactured by the now-defunct ICP Vortex company, later acquired by
    Adaptec and superseded by the aacraid series of controllers. The driver
    itself would require a major overhaul before any modifications can be
    attempted, but seeing that it's unlikely to have any users left it should
    rather be removed completely.

    Link: https://lore.kernel.org/r/20210113090500.129644-2-hare@suse.de
    Cautiously-Acked-by: Christoph Hellwig
    Signed-off-by: Hannes Reinecke
    Signed-off-by: Martin K. Petersen

    Hannes Reinecke
     

07 Jan, 2021

1 commit

  • Add a misc-device providing user-space access to the Surface Aggregator
    EC, mainly intended for debugging, testing, and reverse-engineering.
    This interface gives user-space applications the ability to send
    requests to the EC and receive the corresponding responses.

    The device-file is managed by a pseudo platform-device and corresponding
    driver to avoid dependence on the dedicated bus, allowing it to be
    loaded in a minimal configuration.

    A python library and scripts to access this device can be found at [1].

    [1]: https://github.com/linux-surface/surface-aggregator-module/tree/master/scripts/ssam

    Signed-off-by: Maximilian Luz
    Link: https://lore.kernel.org/r/20201221183959.1186143-9-luzmaximilian@gmail.com
    Signed-off-by: Hans de Goede

    Maximilian Luz
     

19 Nov, 2020

1 commit

  • Add an ioctl() that performs the ECREATE function of the ENCLS
    instruction, which creates an SGX Enclave Control Structure (SECS).

    Although the SECS is an in-memory data structure, it is present in
    enclave memory and is not directly accessible by software.

    Co-developed-by: Sean Christopherson
    Signed-off-by: Sean Christopherson
    Signed-off-by: Jarkko Sakkinen
    Signed-off-by: Borislav Petkov
    Tested-by: Jethro Beekman
    Link: https://lkml.kernel.org/r/20201112220135.165028-13-jarkko@kernel.org

    Jarkko Sakkinen
     

16 Oct, 2020

2 commits

  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     

25 Sep, 2020

1 commit


22 Sep, 2020

1 commit

  • The Nitro Enclaves driver handles the enclave lifetime management. This
    includes enclave creation, termination and setting up its resources such
    as memory and CPU.

    An enclave runs alongside the VM that spawned it. It is abstracted as a
    process running in the VM that launched it. The process interacts with
    the NE driver, that exposes an ioctl interface for creating an enclave
    and setting up its resources.

    Changelog

    v9 -> v10

    * Update commit message to include the changelog before the SoB tag(s).

    v8 -> v9

    * No changes.

    v7 -> v8

    * Add NE custom error codes for user space memory regions not backed by
    pages multiple of 2 MiB, invalid flags and enclave CID.
    * Add max flag value for enclave image load info.

    v6 -> v7

    * Clarify in the ioctls documentation that the return value is -1 and
    errno is set on failure.
    * Update the error code value for NE_ERR_INVALID_MEM_REGION_SIZE as it
    gets in user space as value 25 (ENOTTY) instead of 515. Update the
    NE custom error codes values range to not be the same as the ones
    defined in include/linux/errno.h, although these are not propagated
    to user space.

    v5 -> v6

    * Fix typo in the description about the NE CPU pool.
    * Update documentation to kernel-doc format.
    * Remove the ioctl to query API version.

    v4 -> v5

    * Add more details about the ioctl calls usage e.g. error codes, file
    descriptors used.
    * Update the ioctl to set an enclave vCPU to not return a file
    descriptor.
    * Add specific NE error codes.

    v3 -> v4

    * Decouple NE ioctl interface from KVM API.
    * Add NE API version and the corresponding ioctl call.
    * Add enclave / image load flags options.

    v2 -> v3

    * Remove the GPL additional wording as SPDX-License-Identifier is
    already in place.

    v1 -> v2

    * Add ioctl for getting enclave image load metadata.
    * Update NE_ENCLAVE_START ioctl name to NE_START_ENCLAVE.
    * Add entry in Documentation/userspace-api/ioctl/ioctl-number.rst for NE
    ioctls.
    * Update NE ioctls definition based on the updated ioctl range for major
    and minor.

    Reviewed-by: Alexander Graf
    Reviewed-by: Stefan Hajnoczi
    Signed-off-by: Alexandru Vasile
    Signed-off-by: Andra Paraschiv
    Link: https://lore.kernel.org/r/20200921121732.44291-2-andraprs@amazon.com
    Signed-off-by: Greg Kroah-Hartman

    Andra Paraschiv
     

08 Sep, 2020

1 commit

  • The only in-tree user for mbx driver for Intel 2700G graphics chip was
    cm-x270 platform. Since this platform was removed by the commit
    9d3239147d6d ("ARM: pxa: remove Compulab pxa2xx boards") there is no
    point to keep the obsolete framebuffer driver.

    Signed-off-by: Mike Rapoport
    Cc: Jonathan Corbet
    Cc: Arnd Bergmann
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Link: https://patchwork.freedesktop.org/patch/msgid/20200830115524.431278-1-rppt@kernel.org

    Mike Rapoport
     

05 Aug, 2020

1 commit

  • Add the character device interface into remoteproc framework.
    This interface can be used in order to boot/shutdown remote
    subsystems and provides a basic ioctl based interface to implement
    supplementary functionality. An ioctl call is implemented to enable
    the shutdown on release feature which will allow remote processors to
    be shutdown when the controlling userspace application crashes or hangs.

    Reviewed-by: Bjorn Andersson
    Reviewed-by: Mathieu Poirier
    Signed-off-by: Rishabh Bhatnagar
    Signed-off-by: Siddharth Gupta
    Link: https://lore.kernel.org/r/1596044401-22083-2-git-send-email-sidgup@codeaurora.org
    [bjorn: s/int32_t/s32/ per checkpatch]
    Signed-off-by: Bjorn Andersson

    Siddharth Gupta
     

14 Jun, 2020

1 commit

  • …git/dhowells/linux-fs

    Pull notification queue from David Howells:
    "This adds a general notification queue concept and adds an event
    source for keys/keyrings, such as linking and unlinking keys and
    changing their attributes.

    Thanks to Debarshi Ray, we do have a pull request to use this to fix a
    problem with gnome-online-accounts - as mentioned last time:

    https://gitlab.gnome.org/GNOME/gnome-online-accounts/merge_requests/47

    Without this, g-o-a has to constantly poll a keyring-based kerberos
    cache to find out if kinit has changed anything.

    [ There are other notification pending: mount/sb fsinfo notifications
    for libmount that Karel Zak and Ian Kent have been working on, and
    Christian Brauner would like to use them in lxc, but let's see how
    this one works first ]

    LSM hooks are included:

    - A set of hooks are provided that allow an LSM to rule on whether or
    not a watch may be set. Each of these hooks takes a different
    "watched object" parameter, so they're not really shareable. The
    LSM should use current's credentials. [Wanted by SELinux & Smack]

    - A hook is provided to allow an LSM to rule on whether or not a
    particular message may be posted to a particular queue. This is
    given the credentials from the event generator (which may be the
    system) and the watch setter. [Wanted by Smack]

    I've provided SELinux and Smack with implementations of some of these
    hooks.

    WHY
    ===

    Key/keyring notifications are desirable because if you have your
    kerberos tickets in a file/directory, your Gnome desktop will monitor
    that using something like fanotify and tell you if your credentials
    cache changes.

    However, we also have the ability to cache your kerberos tickets in
    the session, user or persistent keyring so that it isn't left around
    on disk across a reboot or logout. Keyrings, however, cannot currently
    be monitored asynchronously, so the desktop has to poll for it - not
    so good on a laptop. This facility will allow the desktop to avoid the
    need to poll.

    DESIGN DECISIONS
    ================

    - The notification queue is built on top of a standard pipe. Messages
    are effectively spliced in. The pipe is opened with a special flag:

    pipe2(fds, O_NOTIFICATION_PIPE);

    The special flag has the same value as O_EXCL (which doesn't seem
    like it will ever be applicable in this context)[?]. It is given up
    front to make it a lot easier to prohibit splice&co from accessing
    the pipe.

    [?] Should this be done some other way? I'd rather not use up a new
    O_* flag if I can avoid it - should I add a pipe3() system call
    instead?

    The pipe is then configured::

    ioctl(fds[1], IOC_WATCH_QUEUE_SET_SIZE, queue_depth);
    ioctl(fds[1], IOC_WATCH_QUEUE_SET_FILTER, &filter);

    Messages are then read out of the pipe using read().

    - It should be possible to allow write() to insert data into the
    notification pipes too, but this is currently disabled as the
    kernel has to be able to insert messages into the pipe *without*
    holding pipe->mutex and the code to make this work needs careful
    auditing.

    - sendfile(), splice() and vmsplice() are disabled on notification
    pipes because of the pipe->mutex issue and also because they
    sometimes want to revert what they just did - but one or more
    notification messages might've been interleaved in the ring.

    - The kernel inserts messages with the wait queue spinlock held. This
    means that pipe_read() and pipe_write() have to take the spinlock
    to update the queue pointers.

    - Records in the buffer are binary, typed and have a length so that
    they can be of varying size.

    This allows multiple heterogeneous sources to share a common
    buffer; there are 16 million types available, of which I've used
    just a few, so there is scope for others to be used. Tags may be
    specified when a watchpoint is created to help distinguish the
    sources.

    - Records are filterable as types have up to 256 subtypes that can be
    individually filtered. Other filtration is also available.

    - Notification pipes don't interfere with each other; each may be
    bound to a different set of watches. Any particular notification
    will be copied to all the queues that are currently watching for it
    - and only those that are watching for it.

    - When recording a notification, the kernel will not sleep, but will
    rather mark a queue as having lost a message if there's
    insufficient space. read() will fabricate a loss notification
    message at an appropriate point later.

    - The notification pipe is created and then watchpoints are attached
    to it, using one of:

    keyctl_watch_key(KEY_SPEC_SESSION_KEYRING, fds[1], 0x01);
    watch_mount(AT_FDCWD, "/", 0, fd, 0x02);
    watch_sb(AT_FDCWD, "/mnt", 0, fd, 0x03);

    where in both cases, fd indicates the queue and the number after is
    a tag between 0 and 255.

    - Watches are removed if either the notification pipe is destroyed or
    the watched object is destroyed. In the latter case, a message will
    be generated indicating the enforced watch removal.

    Things I want to avoid:

    - Introducing features that make the core VFS dependent on the
    network stack or networking namespaces (ie. usage of netlink).

    - Dumping all this stuff into dmesg and having a daemon that sits
    there parsing the output and distributing it as this then puts the
    responsibility for security into userspace and makes handling
    namespaces tricky. Further, dmesg might not exist or might be
    inaccessible inside a container.

    - Letting users see events they shouldn't be able to see.

    TESTING AND MANPAGES
    ====================

    - The keyutils tree has a pipe-watch branch that has keyctl commands
    for making use of notifications. Proposed manual pages can also be
    found on this branch, though a couple of them really need to go to
    the main manpages repository instead.

    If the kernel supports the watching of keys, then running "make
    test" on that branch will cause the testing infrastructure to spawn
    a monitoring process on the side that monitors a notifications pipe
    for all the key/keyring changes induced by the tests and they'll
    all be checked off to make sure they happened.

    https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/log/?h=pipe-watch

    - A test program is provided (samples/watch_queue/watch_test) that
    can be used to monitor for keyrings, mount and superblock events.
    Information on the notifications is simply logged to stdout"

    * tag 'notifications-20200601' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
    smack: Implement the watch_key and post_notification hooks
    selinux: Implement the watch_key security hook
    keys: Make the KEY_NEED_* perms an enum rather than a mask
    pipe: Add notification lossage handling
    pipe: Allow buffers to be marked read-whole-or-error for notifications
    Add sample notification program
    watch_queue: Add a key/keyring notification facility
    security: Add hooks to rule on setting a watch
    pipe: Add general notification queue support
    pipe: Add O_NOTIFICATION_PIPE
    security: Add a hook for the point of notification insertion
    uapi: General notification queue definitions

    Linus Torvalds
     

06 Jun, 2020

1 commit

  • Pull powerpc updates from Michael Ellerman:

    - Support for userspace to send requests directly to the on-chip GZIP
    accelerator on Power9.

    - Rework of our lockless page table walking (__find_linux_pte()) to
    make it safe against parallel page table manipulations without
    relying on an IPI for serialisation.

    - A series of fixes & enhancements to make our machine check handling
    more robust.

    - Lots of plumbing to add support for "prefixed" (64-bit) instructions
    on Power10.

    - Support for using huge pages for the linear mapping on 8xx (32-bit).

    - Remove obsolete Xilinx PPC405/PPC440 support, and an associated sound
    driver.

    - Removal of some obsolete 40x platforms and associated cruft.

    - Initial support for booting on Power10.

    - Lots of other small features, cleanups & fixes.

    Thanks to: Alexey Kardashevskiy, Alistair Popple, Andrew Donnellan,
    Andrey Abramov, Aneesh Kumar K.V, Balamuruhan S, Bharata B Rao, Bulent
    Abali, Cédric Le Goater, Chen Zhou, Christian Zigotzky, Christophe
    JAILLET, Christophe Leroy, Dmitry Torokhov, Emmanuel Nicolet, Erhard F.,
    Gautham R. Shenoy, Geoff Levand, George Spelvin, Greg Kurz, Gustavo A.
    R. Silva, Gustavo Walbon, Haren Myneni, Hari Bathini, Joel Stanley,
    Jordan Niethe, Kajol Jain, Kees Cook, Leonardo Bras, Madhavan
    Srinivasan., Mahesh Salgaonkar, Markus Elfring, Michael Neuling, Michal
    Simek, Nathan Chancellor, Nathan Lynch, Naveen N. Rao, Nicholas Piggin,
    Oliver O'Halloran, Paul Mackerras, Pingfan Liu, Qian Cai, Ram Pai,
    Raphael Moreira Zinsly, Ravi Bangoria, Sam Bobroff, Sandipan Das, Segher
    Boessenkool, Stephen Rothwell, Sukadev Bhattiprolu, Tyrel Datwyler,
    Wolfram Sang, Xiongfeng Wang.

    * tag 'powerpc-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (299 commits)
    powerpc/pseries: Make vio and ibmebus initcalls pseries specific
    cxl: Remove dead Kconfig options
    powerpc: Add POWER10 architected mode
    powerpc/dt_cpu_ftrs: Add MMA feature
    powerpc/dt_cpu_ftrs: Enable Prefixed Instructions
    powerpc/dt_cpu_ftrs: Advertise support for ISA v3.1 if selected
    powerpc: Add support for ISA v3.1
    powerpc: Add new HWCAP bits
    powerpc/64s: Don't set FSCR bits in INIT_THREAD
    powerpc/64s: Save FSCR to init_task.thread.fscr after feature init
    powerpc/64s: Don't let DT CPU features set FSCR_DSCR
    powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()
    powerpc/32s: Fix another build failure with CONFIG_PPC_KUAP_DEBUG
    powerpc/module_64: Use special stub for _mcount() with -mprofile-kernel
    powerpc/module_64: Simplify check for -mprofile-kernel ftrace relocations
    powerpc/module_64: Consolidate ftrace code
    powerpc/32: Disable KASAN with pages bigger than 16k
    powerpc/uaccess: Don't set KUEP by default on book3s/32
    powerpc/uaccess: Don't set KUAP by default on book3s/32
    powerpc/8xx: Reduce time spent in allow_user_access() and friends
    ...

    Linus Torvalds
     

19 May, 2020

1 commit

  • Make it possible to have a general notification queue built on top of a
    standard pipe. Notifications are 'spliced' into the pipe and then read
    out. splice(), vmsplice() and sendfile() are forbidden on pipes used for
    notifications as post_one_notification() cannot take pipe->mutex. This
    means that notifications could be posted in between individual pipe
    buffers, making iov_iter_revert() difficult to effect.

    The way the notification queue is used is:

    (1) An application opens a pipe with a special flag and indicates the
    number of messages it wishes to be able to queue at once (this can
    only be set once):

    pipe2(fds, O_NOTIFICATION_PIPE);
    ioctl(fds[0], IOC_WATCH_QUEUE_SET_SIZE, queue_depth);

    (2) The application then uses poll() and read() as normal to extract data
    from the pipe. read() will return multiple notifications if the
    buffer is big enough, but it will not split a notification across
    buffers - rather it will return a short read or EMSGSIZE.

    Notification messages include a length in the header so that the
    caller can split them up.

    Each message has a header that describes it:

    struct watch_notification {
    __u32 type:24;
    __u32 subtype:8;
    __u32 info;
    };

    The type indicates the source (eg. mount tree changes, superblock events,
    keyring changes, block layer events) and the subtype indicates the event
    type (eg. mount, unmount; EIO, EDQUOT; link, unlink). The info field
    indicates a number of things, including the entry length, an ID assigned to
    a watchpoint contributing to this buffer and type-specific flags.

    Supplementary data, such as the key ID that generated an event, can be
    attached in additional slots. The maximum message size is 127 bytes.
    Messages may not be padded or aligned, so there is no guarantee, for
    example, that the notification type will be on a 4-byte bounary.

    Signed-off-by: David Howells

    David Howells
     

21 Apr, 2020

1 commit

  • Habanalabs driver in misc exposes several IOCTLs to userspace. Document the
    letter and IOCTLs number range in ioctl-number.rst.

    Signed-off-by: Oded Gabbay
    Acked-by: Randy Dunlap
    Link: https://lore.kernel.org/r/20200418174132.10597-1-oded.gabbay@gmail.com
    Signed-off-by: Jonathan Corbet

    Oded Gabbay
     

20 Apr, 2020

1 commit

  • Define the VAS_TX_WIN_OPEN ioctl interface for NX GZIP access
    from user space. This interface is used to open GZIP send window and
    mmap region which can be used by userspace to send requests to NX
    directly with copy/paste instructions.

    Signed-off-by: Haren Myneni
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/1587114065.2275.1106.camel@hbabu-laptop

    Haren Myneni
     

14 Feb, 2020

1 commit


11 Dec, 2019

1 commit

  • As described in drivers/staging/isdn/TODO, the drivers are all
    assumed to be unmaintained and unused now, with gigaset being the
    last one to stop being maintained after Paul Bolle lost access
    to an ISDN network.

    The CAPI subsystem remains for now, as it is still required by
    bluetooth/cmtp.

    Signed-off-by: Arnd Bergmann
    Link: https://lore.kernel.org/r/20191210210455.3475361-1-arnd@arndb.de
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     

03 Dec, 2019

1 commit

  • Pull Documentation updates from Jonathan Corbet:
    "Here are the main documentation changes for 5.5:

    - Various kerneldoc script enhancements.

    - More RST conversions; those are slowing down as we run out of
    things to convert, but we're a ways from done still.

    - Dan's "maintainer profile entry" work landed at last. Now we just
    need to get maintainers to fill in the profiles...

    - A reworking of the parallel build setup to work better with a
    variety of systems (and to not take over huge systems entirely in
    particular).

    - The MAINTAINERS file is now converted to RST during the build.
    Hopefully nobody ever tries to print this thing, or they will need
    to load a lot of paper.

    - A script and documentation making it easy for maintainers to add
    Link: tags at commit time.

    Also included is the removal of a bunch of spurious CR characters"

    * tag 'docs-5.5a' of git://git.lwn.net/linux: (91 commits)
    docs: remove a bunch of stray CRs
    docs: fix up the maintainer profile document
    libnvdimm, MAINTAINERS: Maintainer Entry Profile
    Maintainer Handbook: Maintainer Entry Profile
    MAINTAINERS: Reclaim the P: tag for Maintainer Entry Profile
    docs, parallelism: Rearrange how jobserver reservations are made
    docs, parallelism: Do not leak blocking mode to other readers
    docs, parallelism: Fix failure path and add comment
    Documentation: Remove bootmem_debug from kernel-parameters.txt
    Documentation: security: core.rst: fix warnings
    Documentation/process/howto/kokr: Update for 4.x -> 5.x versioning
    Documentation/translation: Use Korean for Korean translation title
    docs/memory-barriers.txt: Remove remaining references to mmiowb()
    docs/memory-barriers.txt/kokr: Update I/O section to be clearer about CPU vs thread
    docs/memory-barriers.txt/kokr: Fix style, spacing and grammar in I/O section
    Documentation/kokr: Kill all references to mmiowb()
    docs/memory-barriers.txt/kokr: Rewrite "KERNEL I/O BARRIER EFFECTS" section
    docs: Add initial documentation for devfreq
    Documentation: Document how to get links with git am
    docs: Add request_irq() documentation
    ...

    Linus Torvalds
     

11 Oct, 2019

1 commit