Skip to content
  1. Jul 09, 2021
  2. Jul 08, 2021
  3. Jul 05, 2021
    • Harald Freudenberger's avatar
      s390/AP: support new dynamic AP bus size limit · bd39654a
      Harald Freudenberger authored
      
      
      This patch provides support for new dynamic AP bus message limit
      with the existing zcrypt device driver and AP bus core code.
      
      There is support for a new field 'ml' from TAPQ query. The field
      gives if != 0 the AP bus limit for this card in 4k chunk units.
      The actual message size limit per card is shown as a new read-only
      sysfs attribute. The sysfs attribute
      
        /sys/devices/ap/cardxx/max_msg_size
      
      shows the upper limit in bytes used by the AP bus and zcrypt device
      driver for requests and replies send to and received from this card.
      Currently up to CEX7 support only max 12kB msg size and thus the field
      shows 12288 meaning the upper limit of a valid msg for this card is
      12kB. Please note that the usable payload is somewhat lower and
      depends on the msg type and thus the header struct which is to be
      prepended by the zcrypt dd.
      
      The dispatcher responsible for choosing the right card and queue is
      aware of the individual card AP bus message limit. So a request is
      only assigned to a queue of a card which is able to handle the size of
      the request (e.g. a 14kB request will never go to a max 12kB card).
      If no such card is found the ioctl will fail with ENODEV.
      
      The reply buffer held by the device driver is determined by the ml
      field of the TAPQ for this card. If a response from the card exceeds
      this limit however, the response is not truncated but the ioctl for
      this request will fail with errno EMSGSIZE to indicate that the device
      driver has dropped the response because it would overflow the buffer
      limit.
      
      If the request size does not indicate to the dispatcher that an
      adapter with extended limit is to be used, a random card will be
      chosen when no specific card is addressed (ANY addressing). This may
      result in an ioctl failure when the reply size needs an adapter with
      extended limit but the randomly chosen one is not capable of handling
      the broader reply size. The user space application needs to use
      dedicated addressing to forward such a request only to suitable cards
      to get requests like this processed properly.
      
      Signed-off-by: default avatarHarald Freudenberger <freude@linux.ibm.com>
      Reviewed-by: default avatarIngo Tuchscherer <ingo.tuchscherer@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      bd39654a
    • Heiko Carstens's avatar
      s390/lib,string: fix strcat() inline asm constraint modifier · a0ae5cd2
      Heiko Carstens authored
      
      
      "dummy" is not only used as output but also as input. Therefore use
      the correct "+" constraint modifier.
      
      Fixes: 8cf23c8e ("s390/lib,string: get rid of register asm")
      Reported-by: default avatarSven Schnelle <svens@linux.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      a0ae5cd2
    • Thomas Richter's avatar
      s390/cpumf: Allow concurrent access for CPU Measurement Counter Facility · a029a4ea
      Thomas Richter authored
      
      
      Commit cf6acb8b ("s390/cpumf: Add support for complete counter set extraction")
      allows access to the CPU Measurement Counter Facility via character
      device /dev/hwctr. The access was exclusive via this device or
      via perf_event_open() system call. Only one path at a time was
      permitted. The CPU Measurement Counter Facility device driver blocked
      access to other processes.
      
      This patch removes this restriction and allows concurrent access to
      the CPU Measurement Counter Facility from multiple processes at the same
      time via perf_event_open() SVC and via /dev/hwctr device. The access
      via /dev/hwctr device is still exclusive, only one process is allowed to
      access this device.
      
      This patch
      - moves the /dev/hwctr device access from file perf_cpum_cf_diag.c.
        to file perf_cpum_cf.c.
      - use only one trace buffer .../s390dbf/cpum_cf.
      - remove cfset_csd structure and includes its members it into the
        structure cpu_cf_events. This results in one data structure and
        simplifies the access.
      - rework function familiy ctr_set_enable, ctr_set_disable, ctr_set_start
        and ctr_set_stop which operate on a counter set number.
        Now they operate on a counter set bit mask.
      - move CF_DIAG event functionality to file perf_cpum_cf.c. It now
        contains the complete functionality of the CPU Measurement Counter
        Facility:
        - Performance measurement support for counters using perf stat.
        - Support for complete counter set extraction with device /dev/hwctr.
        - Support for counter set extraction event CF_DIAG attached to
          samples using perf record.
      - removes file perf_cpum_cf_diag.c
      
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Reviewed-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      a029a4ea
    • Alexander Gordeev's avatar
      s390/mcck: move register validation to C code · 5fa2ea07
      Alexander Gordeev authored
      
      
      This update partially reverts commit 3037a52f ("s390/nmi:
      do register validation as early as possible").
      
      Storage error checks and control registers validation are left
      in the assembler code, since correct ASCEs and page tables are
      required to enable DAT - which is done before the C handler is
      entered.
      
      System damage, kernel instruction address and PSW MWP checks
      are left in the assembler code as well, since there is no way
      to proceed if one of these checks is failed.
      
      The getcpu vdso syscall reads CPU number from the programmable
      field of the TOD clock. Disregard the TOD programmable register
      validity bit and load the CPU number into the TOD programmable
      field unconditionally.
      
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      5fa2ea07
    • Alexander Egorenkov's avatar
      s390/boot: replace magic string check with a bootdata flag · 9f744abb
      Alexander Egorenkov authored
      
      
      The magic string "S390EP" at offset 0x10008 indicated to the decompressed
      kernel that it was booted by the decompressor. Introduce a new bootdata
      flag instead which conveys the same information in an explicit and
      a cleaner way. But keep the magic string because it is a kernel ABI.
      
      Signed-off-by: default avatarAlexander Egorenkov <egorenar@linux.ibm.com>
      Reviewed-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      9f744abb
    • Alexander Gordeev's avatar
      s390/mcck: keep machine check interruption codes sorted · 549abb7f
      Alexander Gordeev authored
      
      
      This update puts in order MCCK_CODE_CPU_TIMER_VALID code definition.
      
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      549abb7f
    • Alexander Gordeev's avatar
      s390/mcck: move storage error checks to assembler · d35925b3
      Alexander Gordeev authored
      
      
      The current storage errors tackling is wrong - the DAT is
      enabled in assembler code before the actual storage checks
      in C half are executed. In case the page tables themselves
      are damaged such approach is not going to work.
      
      With this update unrecoverable storage errors are not
      passed to C code for handling, but rather the machine
      is stopped right away. The only exception to this flow
      is when a machine check occurred in KVM guest - in this
      case the errors are reinjected by the handler.
      
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      d35925b3
    • Alexander Gordeev's avatar
      s390/mcck: always enter C handler with DAT enabled · 7f6dc8d4
      Alexander Gordeev authored
      
      
      The machine check handler must be entered with DAT disabled
      in case control registers are corrupted or a storage error
      happened and we can not tell if such error corresponds to a
      page table.
      
      Both of described conditions end up in stopping all CPUs and
      entering the disabled wait in C half of the handler. However,
      the storage errors are still checked after the DAT is enabled
      and C code is entered. In case a page table is damaged such
      flow is not expected to work.
      
      This update paves the way for moving the storage error checks
      from C to assembler half. All fatal errors that can only be
      handled with DAT disabled are handled in assembler half also.
      As result, the C half is only entered if the DAT is secured.
      
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      7f6dc8d4
    • Alexander Gordeev's avatar
      s390/mcck: optimize user mode check in case of !CONFIG_KVM · e2c13d64
      Alexander Gordeev authored
      
      
      In case of the !CONFIG_KVM use "jz" instead of "jnz" when
      detecting user mode and get rid of unnecessary jump as result.
      
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      Reviewed-by: default avatarChristia Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      e2c13d64
    • Alexander Gordeev's avatar
      s390/entry.S: factor out SIEEXIT macro · fbbdfca5
      Alexander Gordeev authored
      
      
      Factor out SIEEXIT macro and use it instead of cleanup_sie
      routine. As a side effect %r13 and %r14 are spared.
      
      Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
      Reviewed-by: default avatarChristia Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      fbbdfca5
    • Heiko Carstens's avatar
      s390/lib,uaccess: fix copy_in_user_mvcos() inline asm clobber list · 07f3a35d
      Heiko Carstens authored
      
      
      General register 0 is clobbered within the inline assembly and
      therefore must be listed in the clobber list.
      
      Fixes:  d1e18efa ("s390/lib,uaccess: get rid of register asm")
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      07f3a35d
    • Janosch Frank's avatar
      s390: mm: Fix secure storage access exception handling · 85b18d7b
      Janosch Frank authored
      
      
      Turns out that the bit 61 in the TEID is not always 1 and if that's
      the case the address space ID and the address are
      unpredictable. Without an address and its address space ID we can't
      export memory and hence we can only send a SIGSEGV to the process or
      panic the kernel depending on who caused the exception.
      
      Unfortunately bit 61 is only reliable if we have the "misc" UV feature
      bit.
      
      Signed-off-by: default avatarJanosch Frank <frankja@linux.ibm.com>
      Reviewed-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Fixes: 084ea4d6 ("s390/mm: add (non)secure page access exceptions handlers")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      85b18d7b
    • Kefeng Wang's avatar
      s390/kprobes: use is_kernel() helper · 47f7c6cf
      Kefeng Wang authored
      
      
      Use is_kernel() helper instead of is_kernel_addr().
      
      [hca@linux.ibm.com: add missing unsigned long cast]
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      47f7c6cf
    • Linus Torvalds's avatar
      Merge tag 's390-5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 2bb919b6
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Rework inline asm to get rid of error prone "register asm"
         constructs, which are problematic especially when code
         instrumentation is enabled.
      
         In particular introduce and use register pair union to allocate
         even/odd register pairs. Unfortunately this breaks compatibility with
         older clang compilers and minimum clang version for s390 has been
         raised to 13.
      
           https://lore.kernel.org/linux-next/CAK7LNARuSmPCEy-ak0erPrPTgZdGVypBROFhtw+=3spoGoYsyw@mail.gmail.com/
      
       - Fix gcc 11 warnings, which triggered various minor reworks all over
         the code.
      
       - Add zstd kernel image compression support.
      
       - Rework boot CPU lowcore handling.
      
       - De-duplicate and move kernel memory layout setup logic earlier.
      
       - Few fixes in preparation for FORTIFY_SOURCE performing compile-time
         and run-time field bounds checking for mem functions.
      
       - Remove broken and unused power management support leftovers in s390
         drivers.
      
       - Disable stack-protector for decompressor and purgatory to fix
         buildroot build.
      
       - Fix vt220 sclp console name to match the char device name.
      
       - Enable HAVE_IOREMAP_PROT and add zpci_set_irq()/zpci_clear_irq() in
         zPCI code.
      
       - Remove some implausible WARN_ON_ONCEs and remove arch specific
         counter transaction call backs in favour of default transaction
         handling in perf code.
      
       - Extend/add new uevents for online/config/mode state changes of AP
         card / queue device in zcrypt.
      
       - Minor entry and ccwgroup code improvements.
      
       - Other small various fixes and improvements all over the code.
      
      * tag 's390-5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (91 commits)
        s390/dasd: use register pair instead of register asm
        s390/qdio: get rid of register asm
        s390/ioasm: use symbolic names for asm operands
        s390/ioasm: get rid of register asm
        s390/cmf: get rid of register asm
        s390/lib,string: get rid of register asm
        s390/lib,uaccess: get rid of register asm
        s390/string: get rid of register asm
        s390/cmpxchg: use register pair instead of register asm
        s390/mm,pages-states: get rid of register asm
        s390/lib,xor: get rid of register asm
        s390/timex: get rid of register asm
        s390/hypfs: use register pair instead of register asm
        s390/zcrypt: Switch to flexible array member
        s390/speculation: Use statically initialized const for instructions
        virtio/s390: get rid of open-coded kvm hypercall
        s390/pci: add zpci_set_irq()/zpci_clear_irq()
        scripts/min-tool-version.sh: Raise minimum clang version to 13.0.0 for s390
        s390/ipl: use register pair instead of register asm
        s390/mem_detect: fix tprot() program check new psw handling
        ...
      2bb919b6
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-5.14-rc1' of git://github.com/c-sky/csky-linux · 0d4d4c6f
      Linus Torvalds authored
      Pull arch/csky updates from Guo Ren:
       "A small cleanup and a fixup"
      
      * tag 'csky-for-linus-5.14-rc1' of git://github.com/c-sky/csky-linux:
        csky: Kconfig: Remove unused selects
        csky: syscache: Fixup duplicate cache flush
      0d4d4c6f
    • Linus Torvalds's avatar
      Merge tag 'cxl-for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · 0c66a95c
      Linus Torvalds authored
      Pull CXL (Compute Express Link) updates from Dan Williams:
       "This subsystem is still in the build-out phase as the bulk of the
        update is improvements to enumeration and fleshing out the device
        model. In terms of new features, more mailbox commands have been added
        to the allowed-list in support of persistent memory provisioning
        support targeting v5.15.
      
        The critical update from an enumeration perspective is support for the
        CXL Fixed Memory Window Structure that indicates to Linux which system
        physical address ranges decode to the CXL Host Bridges in the system.
        This allows the driver to detect which address ranges have been mapped
        by firmware and what address ranges are available for future hotplug.
      
        So, again, mostly skeleton this round, with more meat targeting v5.15.
      
        Summary:
      
         - Add support for the CXL Fixed Memory Window Structure, a recent
           extension of the ACPI CEDT (CXL Early Discovery Table)
      
         - Add infrastructure for component registers
      
         - Add HDM (Host-managed device memory) decoder definitions
      
         - Define a device model for an HDM decoder tree
      
         - Bridge CXL persistent memory capabilities to an NVDIMM bus /
           device-model
      
         - Switch to fine grained mapping of CXL MMIO registers to allow
           different drivers / system software to own individual register
           blocks
      
         - Enable media provisioning commands, and publish the label storage
           area size in sysfs
      
         - Miscellaneous cleanups and fixes"
      
      * tag 'cxl-for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (34 commits)
        cxl/pci: Rename CXL REGLOC ID
        cxl/acpi: Use the ACPI CFMWS to create static decoder objects
        cxl/acpi: Add the Host Bridge base address to CXL port objects
        cxl/pmem: Register 'pmem' / cxl_nvdimm devices
        libnvdimm: Drop unused device power management support
        libnvdimm: Export nvdimm shutdown helper, nvdimm_delete()
        cxl/pmem: Add initial infrastructure for pmem support
        cxl/core: Add cxl-bus driver infrastructure
        cxl/pci: Add media provisioning required commands
        cxl/component_regs: Fix offset
        cxl/hdm: Fix decoder count calculation
        cxl/acpi: Introduce cxl_decoder objects
        cxl/acpi: Enumerate host bridge root ports
        cxl/acpi: Add downstream port data to cxl_port instances
        cxl/Kconfig: Default drivers to CONFIG_CXL_BUS
        cxl/acpi: Introduce the root of a cxl_port topology
        cxl/pci: Fixup devm_cxl_iomap_block() to take a 'struct device *'
        cxl/pci: Add HDM decoder capabilities
        cxl/pci: Reserve individual register block regions
        cxl/pci: Map registers based on capabilities
        ...
      0c66a95c
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 855ff900
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
      
       - core supports now bus regulators controlling power for SCL/SDA
      
       - quite some DT binding conversions to YAML
      
       - added a seperate DT binding for the optional SMBus Alert feature
      
       - documentation with examples how to deal with I2C sysfs files
      
       - some bigger rework for the i801 driver
      
       - and a few usual driver updates
      
      * 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (42 commits)
        i2c: ali1535: mention that the device should not be disabled
        i2c: mpc: Restore reread of I2C status register
        i2c: core-smbus: Expose PEC calculate function for generic use
        Documentation: i2c: Add doc for I2C sysfs
        i2c: core: Disable client irq on reboot/shutdown
        dt-bindings: i2c: update bindings for MT8195 SoC
        i2c: imx: Fix some checkpatch warnings
        i2c: davinci: Simplify with dev_err_probe()
        i2c: cadence: Simplify with dev_err_probe()
        i2c: xiic: Simplify with dev_err_probe()
        i2c: cadence: Clear HOLD bit before xfer_size register rolls over
        dt-bindings: i2c: ce4100: Replace "ti,pcf8575" by "nxp,pcf8575"
        i2c: i801: Improve i801_setup_hstcfg
        i2c: i801: Use driver name constant instead of function dev_driver_string
        i2c: i801: Simplify initialization of i2c_board_info in i801_probe_optional_slaves
        i2c: i801: Improve status polling
        i2c: cht-wc: Replace of_node by NULL
        i2c: riic: Add RZ/G2L support
        dt-bindings: i2c: renesas,riic: Document RZ/G2L I2C controller
        dt-bindings: i2c: renesas,iic: Convert to json-schema
        ...
      855ff900
    • Martin K. Petersen's avatar
      scsi: blkcg: Fix application ID config options · d2500a0c
      Martin K. Petersen authored
      
      
      Commit d2bcbeab ("scsi: blkcg: Add app identifier support for
      blkcg") introduced an FC_APPID config option under SCSI. However, the
      added config option is not used anywhere. Simply remove it.
      
      The block layer BLK_CGROUP_FC_APPID config option is what actually
      controls whether the application ID code should be built or not. Make
      this option dependent on NVMe over FC since that is currently the only
      transport which supports the capability.
      
      Fixes: d2bcbeab ("scsi: blkcg: Add app identifier support for blkcg")
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d2500a0c
  4. Jul 04, 2021
    • Guo Ren's avatar
      csky: Kconfig: Remove unused selects · 90dc8c0e
      Guo Ren authored
      
      
       - GENERIC_ALLOCATOR is duplicated
       - Remove USB_ARCH_HAS_OHCI & USB_ARCH_HAS_EHCI, because they
         have been removed from linux.
      
      Signed-off-by: default avatarGuo Ren <guoren@linux.alibaba.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
    • Guo Ren's avatar
      csky: syscache: Fixup duplicate cache flush · 6ea42c84
      Guo Ren authored
      
      
      The current csky logic of sys_cacheflush is wrong, it'll cause
      icache flush call dcache flush again. Now fixup it with a
      conditional "break & fallthrough".
      
      Fixes: 997153b9 ("csky: Add flush_icache_mm to defer flush icache all")
      Fixes: 0679d29d ("csky: fix syscache.c fallthrough warning")
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Co-Developed-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarGuo Ren <guoren@linux.alibaba.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      6ea42c84
    • Linus Torvalds's avatar
      Merge tag 'leds-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · 303392fd
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "This contains quite a lot of fixes, with more fixes in my inbox that
        did not make it (sorry)"
      
      * tag 'leds-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds: (36 commits)
        leds: lgm: Fix up includes
        leds: ktd2692: Fix an error handling path
        leds: as3645a: Fix error return code in as3645a_parse_node()
        leds: turris-omnia: add missing MODULE_DEVICE_TABLE
        leds: lp55xx: Initialize enable GPIO direction to output
        leds: lm36274: Add missed property.h
        leds: el15203000: Make error handling more robust
        leds: pwm: Make error handling more robust
        leds: lt3593: Make use of device properties
        leds: lp50xx: Put fwnode in error case during ->probe()
        leds: lm3697: Don't spam logs when probe is deferred
        leds: lm3692x: Put fwnode in any case during ->probe()
        leds: lm36274: Correct headers (of*.h -> mod_devicetable.h)
        leds: lm36274: Put fwnode in error case during ->probe()
        leds: lm3532: Make error handling more robust
        leds: lm3532: select regmap I2C API
        leds: lgm-sso: Drop duplicate NULL check for GPIO operations
        leds: lgm-sso: Remove unneeded of_match_ptr()
        leds: lgm-sso: Fix clock handling
        leds: el15203000: Introduce to_el15203000_led() helper
        ...
      303392fd
    • Linus Torvalds's avatar
      Merge tag 'vfio-v5.14-rc1' of git://github.com/awilliam/linux-vfio · 8e8d9442
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Module reference fixes, structure renaming (Max Gurtovoy)
      
       - Export and use common pci_dev_trylock() (Luis Chamberlain)
      
       - Enable direct mdev device creation and probing by parent (Christoph
         Hellwig & Jason Gunthorpe)
      
       - Fix mdpy error path leak (Colin Ian King)
      
       - Fix mtty list entry leak (Jason Gunthorpe)
      
       - Enforce mtty device limit (Alex Williamson)
      
       - Resolve concurrent vfio-pci mmap faults (Alex Williamson)
      
      * tag 'vfio-v5.14-rc1' of git://github.com/awilliam/linux-vfio:
        vfio/pci: Handle concurrent vma faults
        vfio/mtty: Enforce available_instances
        vfio/mtty: Delete mdev_devices_list
        vfio: use the new pci_dev_trylock() helper to simplify try lock
        PCI: Export pci_dev_trylock() and pci_dev_unlock()
        vfio/mdpy: Fix memory leak of object mdev_state->vconfig
        vfio/iommu_type1: rename vfio_group struck to vfio_iommu_group
        vfio/mbochs: Convert to use vfio_register_group_dev()
        vfio/mdpy: Convert to use vfio_register_group_dev()
        vfio/mtty: Convert to use vfio_register_group_dev()
        vfio/mdev: Allow the mdev_parent_ops to specify the device driver to bind
        vfio/mdev: Remove CONFIG_VFIO_MDEV_DEVICE
        driver core: Export device_driver_attach()
        driver core: Don't return EPROBE_DEFER to userspace during sysfs bind
        driver core: Flow the return code from ->probe() through to sysfs bind
        driver core: Better distinguish probe errors in really_probe
        driver core: Pull required checks into driver_probe_device()
        vfio/platform: remove unneeded parent_module attribute
        vfio: centralize module refcount in subsystem layer
      8e8d9442
    • Linus Torvalds's avatar
      Merge branch 'work.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 58ec9059
      Linus Torvalds authored
      Pull vfs name lookup updates from Al Viro:
       "Small namei.c patch series, mostly to simplify the rules for nameidata
        state. It's actually from the previous cycle - but I didn't post it
        for review in time...
      
        Changes visible outside of fs/namei.c: file_open_root() calling
        conventions change, some freed bits in LOOKUP_... space"
      
      * 'work.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        namei: make sure nd->depth is always valid
        teach set_nameidata() to handle setting the root as well
        take LOOKUP_{ROOT,ROOT_GRABBED,JUMPED} out of LOOKUP_... space
        switch file_open_root() to struct path
      58ec9059