10 Sep, 2020

12 commits

  • The device communicates FUSE_SETUPMAPPING/FUSE_REMOVMAPPING alignment
    constraints via the FUST_INIT map_alignment field. Parse this field and
    ensure our DAX mappings meet the alignment constraints.

    We don't actually align anything differently since our mappings are
    already 2MB aligned. Just check the value when the connection is
    established. If it becomes necessary to honor arbitrary alignments in
    the future we'll have to adjust how mappings are sized.

    The upshot of this commit is that we can be confident that mappings will
    work even when emulating x86 on Power and similar combinations where the
    host page sizes are different.

    Signed-off-by: Stefan Hajnoczi
    Signed-off-by: Vivek Goyal
    Signed-off-by: Miklos Szeredi

    Stefan Hajnoczi
     
  • Divide the dax memory range into fixed size ranges (2MB for now) and put
    them in a list. This will track free ranges. Once an inode requires a
    free range, we will take one from here and put it in interval-tree
    of ranges assigned to inode.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Peng Tao
    Signed-off-by: Miklos Szeredi

    Vivek Goyal
     
  • Add a mount option to allow using dax with virtio_fs.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Miklos Szeredi

    Vivek Goyal
     
  • Setup a dax device.

    Use the shm capability to find the cache entry and map it.

    The DAX window is accessed by the fs/dax.c infrastructure and must have
    struct pages (at least on x86). Use devm_memremap_pages() to map the
    DAX window PCI BAR and allocate struct page.

    Signed-off-by: Stefan Hajnoczi
    Signed-off-by: Dr. David Alan Gilbert
    Signed-off-by: Vivek Goyal
    Signed-off-by: Sebastien Boeuf
    Signed-off-by: Liu Bo
    Signed-off-by: Miklos Szeredi

    Stefan Hajnoczi
     
  • This option was introduced so that for virtio_fs we don't show any mounts
    options fuse_show_options(). Because we don't offer any of these options
    to be controlled by mounter.

    Very soon we are planning to introduce option "dax" which mounter should
    be able to specify. And no_mount_options does not work anymore.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Miklos Szeredi

    Vivek Goyal
     
  • This reduces code duplication and make it little easier to read code.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Miklos Szeredi

    Vivek Goyal
     
  • virtiofs device has a range of memory which is mapped into file inodes
    using dax. This memory is mapped in qemu on host and maps different
    sections of real file on host. Size of this memory is limited
    (determined by administrator) and depending on filesystem size, we will
    soon reach a situation where all the memory is in use and we need to
    reclaim some.

    As part of reclaim process, we will need to make sure that there are
    no active references to pages (taken by get_user_pages()) on the memory
    range we are trying to reclaim. I am planning to use
    dax_layout_busy_page() for this. But in current form this is per inode
    and scans through all the pages of the inode.

    We want to reclaim only a portion of memory (say 2MB page). So we want
    to make sure that only that 2MB range of pages do not have any
    references (and don't want to unmap all the pages of inode).

    Hence, create a range version of this function named
    dax_layout_busy_page_range() which can be used to pass a range which
    needs to be unmapped.

    Cc: Dan Williams
    Cc: linux-nvdimm@lists.01.org
    Cc: Jan Kara
    Cc: Vishal L Verma
    Cc: "Weiny, Ira"
    Signed-off-by: Vivek Goyal
    Reviewed-by: Jan Kara
    Signed-off-by: Miklos Szeredi

    Vivek Goyal
     
  • virtiofs does not have a block device but it has dax device.
    Modify bdev_dax_pgoff() to be able to handle that.

    If there is no bdev, that means dax offset is 0. (It can't be a partition
    block device starting at an offset in dax device).

    This is little hackish. There have been discussions about getting rid
    of dax not supporting partitions.

    https://lore.kernel.org/linux-fsdevel/20200107125159.GA15745@infradead.org/

    IMHO, this path can easily break exisitng users. For example
    ioctl(BLKPG_ADD_PARTITION) will start breaking on block devices
    supporting DAX. Also, I personally find it very useful to be able to
    partition dax devices and still be able to use DAX.

    Alternatively, I tried to store offset into dax device information in iomap
    interface, but that got NACKed.

    https://lore.kernel.org/linux-fsdevel/20200217133117.GB20444@infradead.org/

    I can't think of a good path to solve this issue properly. So to make
    progress, it seems this patch is least bad option for now and I hope
    we can take it.

    Signed-off-by: Stefan Hajnoczi
    Signed-off-by: Vivek Goyal
    Reviewed-by: Jan Kara
    Cc: Christoph Hellwig
    Cc: Dan Williams
    Cc: Jan Kara
    Cc: Vishal L Verma
    Cc: "Weiny, Ira"
    Cc: linux-nvdimm@lists.01.org
    Signed-off-by: Miklos Szeredi

    Vivek Goyal
     
  • Pull virtio shared memory region patches for virtiofs shared memory
    (DAX) support.

    Miklos Szeredi
     
  • On MMIO a new set of registers is defined for finding SHM
    regions. Add their definitions and use them to find the region.

    Signed-off-by: Sebastien Boeuf
    Cc: kvm@vger.kernel.org
    Cc: virtualization@lists.linux-foundation.org
    Cc: "Michael S. Tsirkin"
    Signed-off-by: Miklos Szeredi

    Sebastien Boeuf
     
  • On PCI the shm regions are found using capability entries;
    find a region by searching for the capability.

    Signed-off-by: Sebastien Boeuf
    Signed-off-by: Dr. David Alan Gilbert
    Signed-off-by: kbuild test robot
    Acked-by: Michael S. Tsirkin
    Cc: kvm@vger.kernel.org
    Cc: virtualization@lists.linux-foundation.org
    Cc: "Michael S. Tsirkin"
    Signed-off-by: Miklos Szeredi

    Sebastien Boeuf
     
  • Virtio defines 'shared memory regions' that provide a continuously
    shared region between the host and guest.

    Provide a method to find a particular region on a device.

    Signed-off-by: Sebastien Boeuf
    Signed-off-by: Dr. David Alan Gilbert
    Acked-by: Michael S. Tsirkin
    Cc: kvm@vger.kernel.org
    Cc: virtualization@lists.linux-foundation.org
    Cc: "Michael S. Tsirkin"
    Signed-off-by: Miklos Szeredi

    Sebastien Boeuf
     

04 Sep, 2020

1 commit

  • As stated in https://sourceforge.net/projects/fuse/, "the FUSE project has
    moved to https://github.com/libfuse/" in 22-Dec-2015. Update URLs to
    reflect this.

    Signed-off-by: André Almeida
    Signed-off-by: Miklos Szeredi

    André Almeida
     

31 Aug, 2020

12 commits

  • Linus Torvalds
     
  • Pull crypto fixes from Herbert Xu:

    - fix regression in af_alg that affects iwd

    - restore polling delay in qat

    - fix double free in ingenic on error path

    - fix potential build failure in sa2ul due to missing Kconfig dependency

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: af_alg - Work around empty control messages without MSG_MORE
    crypto: sa2ul - add Kconfig selects to fix build error
    crypto: ingenic - Drop kfree for memory allocated with devm_kzalloc
    crypto: qat - add delay before polling mailbox

    Linus Torvalds
     
  • Pull x86 fixes from Thomas Gleixner:
    "Three interrupt related fixes for X86:

    - Move disabling of the local APIC after invoking fixup_irqs() to
    ensure that interrupts which are incoming are noted in the IRR and
    not ignored.

    - Unbreak affinity setting.

    The rework of the entry code reused the regular exception entry
    code for device interrupts. The vector number is pushed into the
    errorcode slot on the stack which is then lifted into an argument
    and set to -1 because that's regs->orig_ax which is used in quite
    some places to check whether the entry came from a syscall.

    But it was overlooked that orig_ax is used in the affinity cleanup
    code to validate whether the interrupt has arrived on the new
    target. It turned out that this vector check is pointless because
    interrupts are never moved from one vector to another on the same
    CPU. That check is a historical leftover from the time where x86
    supported multi-CPU affinities, but not longer needed with the now
    strict single CPU affinity. Famous last words ...

    - Add a missing check for an empty cpumask into the matrix allocator.

    The affinity change added a warning to catch the case where an
    interrupt is moved on the same CPU to a different vector. This
    triggers because a condition with an empty cpumask returns an
    assignment from the allocator as the allocator uses for_each_cpu()
    without checking the cpumask for being empty. The historical
    inconsistent for_each_cpu() behaviour of ignoring the cpumask and
    unconditionally claiming that CPU0 is in the mask struck again.
    Sigh.

    plus a new entry into the MAINTAINER file for the HPE/UV platform"

    * tag 'x86-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    genirq/matrix: Deal with the sillyness of for_each_cpu() on UP
    x86/irq: Unbreak interrupt affinity setting
    x86/hotplug: Silence APIC only after all interrupts are migrated
    MAINTAINERS: Add entry for HPE Superdome Flex (UV) maintainers

    Linus Torvalds
     
  • Pull irq fixes from Thomas Gleixner:
    "A set of fixes for interrupt chip drivers:

    - Revert the platform driver conversion of interrupt chip drivers as
    it turned out to create more problems than it solves.

    - Fix a trivial typo in the new module helpers which made probing
    reliably fail.

    - Small fixes in the STM32 and MIPS Ingenic drivers

    - The TI firmware rework which had badly managed dependencies and had
    to wait post rc1"

    * tag 'irq-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/ingenic: Leave parent IRQ unmasked on suspend
    irqchip/stm32-exti: Avoid losing interrupts due to clearing pending bits by mistake
    irqchip: Revert modular support for drivers using IRQCHIP_PLATFORM_DRIVER helperse
    irqchip: Fix probing deferal when using IRQCHIP_PLATFORM_DRIVER helpers
    arm64: dts: k3-am65: Update the RM resource types
    arm64: dts: k3-am65: ti-sci-inta/intr: Update to latest bindings
    arm64: dts: k3-j721e: ti-sci-inta/intr: Update to latest bindings
    irqchip/ti-sci-inta: Add support for INTA directly connecting to GIC
    irqchip/ti-sci-inta: Do not store TISCI device id in platform device id field
    dt-bindings: irqchip: Convert ti, sci-inta bindings to yaml
    dt-bindings: irqchip: ti, sci-inta: Update docs to support different parent.
    irqchip/ti-sci-intr: Add support for INTR being a parent to INTR
    dt-bindings: irqchip: Convert ti, sci-intr bindings to yaml
    dt-bindings: irqchip: ti, sci-intr: Update bindings to drop the usage of gic as parent
    firmware: ti_sci: Add support for getting resource with subtype
    firmware: ti_sci: Drop unused structure ti_sci_rm_type_map
    firmware: ti_sci: Drop the device id to resource type translation

    Linus Torvalds
     
  • Pull scheduler fix from Thomas Gleixner:
    "A single fix for the scheduler:

    - Make is_idle_task() __always_inline to prevent the compiler from
    putting it out of line into the wrong section because it's used
    inside noinstr sections"

    * tag 'sched-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched: Use __always_inline on is_idle_task()

    Linus Torvalds
     
  • Pull locking fixes from Thomas Gleixner:
    "A set of fixes for lockdep, tracing and RCU:

    - Prevent recursion by using raw_cpu_* operations

    - Fixup the interrupt state in the cpu idle code to be consistent

    - Push rcu_idle_enter/exit() invocations deeper into the idle path so
    that the lock operations are inside the RCU watching sections

    - Move trace_cpu_idle() into generic code so it's called before RCU
    goes idle.

    - Handle raw_local_irq* vs. local_irq* operations correctly

    - Move the tracepoints out from under the lockdep recursion handling
    which turned out to be fragile and inconsistent"

    * tag 'locking-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    lockdep,trace: Expose tracepoints
    lockdep: Only trace IRQ edges
    mips: Implement arch_irqs_disabled()
    arm64: Implement arch_irqs_disabled()
    nds32: Implement arch_irqs_disabled()
    locking/lockdep: Cleanup
    x86/entry: Remove unused THUNKs
    cpuidle: Move trace_cpu_idle() into generic code
    cpuidle: Make CPUIDLE_FLAG_TLB_FLUSHED generic
    sched,idle,rcu: Push rcu_idle deeper into the idle path
    cpuidle: Fixup IRQ state
    lockdep: Use raw_cpu_*() for per-cpu variables

    Linus Torvalds
     
  • Pull cfis fix from Steve French:
    "DFS fix for referral problem when using SMB1"

    * tag '5.9-rc2-smb-fix' of git://git.samba.org/sfrench/cifs-2.6:
    cifs: fix check of tcon dfs in smb1

    Linus Torvalds
     
  • Pull powerpc fixes from Michael Ellerman:

    - Revert our removal of PROT_SAO, at least one user expressed an
    interest in using it on Power9. Instead don't allow it to be used in
    guests unless enabled explicitly at compile time.

    - A fix for a crash introduced by a recent change to FP handling.

    - Revert a change to our idle code that left Power10 with no idle
    support.

    - One minor fix for the new scv system call path to set PPR.

    - Fix a crash in our "generic" PMU if branch stack events were enabled.

    - A fix for the IMC PMU, to correctly identify host kernel samples.

    - The ADB_PMU powermac code was found to be incompatible with
    VMAP_STACK, so make them incompatible in Kconfig until the code can
    be fixed.

    - A build fix in drivers/video/fbdev/controlfb.c, and a documentation
    fix.

    Thanks to Alexey Kardashevskiy, Athira Rajeev, Christophe Leroy,
    Giuseppe Sacco, Madhavan Srinivasan, Milton Miller, Nicholas Piggin,
    Pratik Rajesh Sampat, Randy Dunlap, Shawn Anastasio, Vaidyanathan
    Srinivasan.

    * tag 'powerpc-5.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc/32s: Disable VMAP stack which CONFIG_ADB_PMU
    Revert "powerpc/powernv/idle: Replace CPU feature check with PVR check"
    powerpc/perf: Fix reading of MSR[HV/PR] bits in trace-imc
    powerpc/perf: Fix crashes with generic_compat_pmu & BHRB
    powerpc/64s: Fix crash in load_fp_state() due to fpexc_mode
    powerpc/64s: scv entry should set PPR
    Documentation/powerpc: fix malformed table in syscall64-abi
    video: fbdev: controlfb: Fix build for COMPILE_TEST=y && PPC_PMAC=n
    selftests/powerpc: Update PROT_SAO test to skip ISA 3.1
    powerpc/64s: Disallow PROT_SAO in LPARs by default
    Revert "powerpc/64s: Remove PROT_SAO support"

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Let's try this again... Here are some USB fixes for 5.9-rc3.

    This differs from the previous pull request for this release in that
    the usb gadget patch now does not break some systems, and actually
    does what it was intended to do. Many thanks to Marek Szyprowski for
    quickly noticing and testing the patch from Andy Shevchenko to resolve
    this issue.

    Additionally, some more new USB quirks have been added to get some new
    devices to work properly based on user reports.

    Other than that, the patches are all here, and they contain:

    - usb gadget driver fixes

    - xhci driver fixes

    - typec fixes

    - new quirks and ids

    - fixes for USB patches that went into 5.9-rc1.

    All of these have been tested in linux-next with no reported issues"

    * tag 'usb-5.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (33 commits)
    usb: storage: Add unusual_uas entry for Sony PSZ drives
    USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
    usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
    USB: gadget: u_f: Unbreak offset calculation in VLAs
    USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D
    usb: typec: tcpm: Fix Fix source hard reset response for TDA 2.3.1.1 and TDA 2.3.1.2 failures
    USB: PHY: JZ4770: Fix static checker warning.
    USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
    USB: gadget: u_f: add overflow checks to VLA macros
    xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed
    xhci: Do warm-reset when both CAS and XDEV_RESUME are set
    usb: host: xhci: fix ep context print mismatch in debugfs
    usb: uas: Add quirk for PNY Pro Elite
    tools: usb: move to tools buildsystem
    USB: Fix device driver race
    USB: Also match device drivers using the ->match vfunc
    usb: host: xhci-tegra: fix tegra_xusb_get_phy()
    usb: host: xhci-tegra: otg usb2/usb3 port init
    usb: hcd: Fix use after free in usb_hcd_pci_remove()
    usb: typec: ucsi: Hold con->lock for the entire duration of ucsi_register_port()
    ...

    Linus Torvalds
     
  • Pull EDAC fix from Borislav Petkov:
    "A fix to properly clear ghes_edac driver state on driver remove so
    that a subsequent load can probe the system properly (Shiju Jose)"

    * tag 'edac_urgent_for_v5.9_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
    EDAC/ghes: Fix NULL pointer dereference in ghes_edac_register()

    Linus Torvalds
     
  • Pull dma-mapping fix from Christoph Hellwig:
    "Fix a possibly uninitialized variable (Dan Carpenter)"

    * tag 'dma-mapping-5.9-2' of git://git.infradead.org/users/hch/dma-mapping:
    dma-pool: Fix an uninitialized variable bug in atomic_pool_expand()

    Linus Torvalds
     
  • Most of the CPU mask operations behave the same way, but for_each_cpu() and
    it's variants ignore the cpumask argument and claim that CPU0 is always in
    the mask. This is historical, inconsistent and annoying behaviour.

    The matrix allocator uses for_each_cpu() and can be called on UP with an
    empty cpumask. The calling code does not expect that this succeeds but
    until commit e027fffff799 ("x86/irq: Unbreak interrupt affinity setting")
    this went unnoticed. That commit added a WARN_ON() to catch cases which
    move an interrupt from one vector to another on the same CPU. The warning
    triggers on UP.

    Add a check for the cpumask being empty to prevent this.

    Fixes: 2f75d9e1c905 ("genirq: Implement bitmap matrix allocator")
    Reported-by: kernel test robot
    Signed-off-by: Thomas Gleixner
    Cc: stable@vger.kernel.org

    Thomas Gleixner
     

30 Aug, 2020

6 commits

  • …el/git/gustavoars/linux

    Pull fallthrough fixes from Gustavo A. R. Silva:
    "Fix some minor issues introduced by the recent treewide fallthrough
    conversions:

    - Fix identation issue

    - Fix erroneous fallthrough annotation

    - Remove unnecessary fallthrough annotation

    - Fix code comment changed by fallthrough conversion"

    * tag 'fallthrough-fixes-5.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
    arm64/cpuinfo: Remove unnecessary fallthrough annotation
    media: dib0700: Fix identation issue in dib8096_set_param_override()
    afs: Remove erroneous fallthough annotation
    iio: dpot-dac: fix code comment in dpot_dac_read_raw()

    Linus Torvalds
     
  • Commit ef91bb196b0d ("kernel.h: Silence sparse warning in
    lower_32_bits") caused new warnings to show in the fsldma driver, but
    that commit was not to blame: it only exposed some very incorrect code
    that tried to take the low 32 bits of an address.

    That made no sense for multiple reasons, the most notable one being that
    that code was intentionally limited to only 32-bit ppc builds, so "only
    low 32 bits of an address" was completely nonsensical. There were no
    high bits to mask off to begin with.

    But even more importantly fropm a correctness standpoint, turning the
    address into an integer then caused the subsequent address arithmetic to
    be completely wrong too, and the "+1" actually incremented the address
    by one, rather than by four.

    Which again was incorrect, since the code was reading two 32-bit values
    and trying to make a 64-bit end result of it all. Surprisingly, the
    iowrite64() did not suffer from the same odd and incorrect model.

    This code has never worked, but it's questionable whether anybody cared:
    of the two users that actually read the 64-bit value (by way of some C
    preprocessor hackery and eventually the 'get_cdar()' inline function),
    one of them explicitly ignored the value, and the other one might just
    happen to work despite the incorrect value being read.

    This patch at least makes it not fail the build any more, and makes the
    logic superficially sane. Whether it makes any difference to the code
    _working_ or not shall remain a mystery.

    Compile-tested-by: Guenter Roeck
    Reviewed-by: Guenter Roeck
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:
    "A core fix for ACPI matching and two driver bugfixes"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: iproc: Fix shifting 31 bits
    i2c: rcar: in slave mode, clear NACK earlier
    i2c: acpi: Remove dead code, i.e. i2c_acpi_match_device()
    i2c: core: Don't fail PRP0001 enumeration when no ID table exist

    Linus Torvalds
     
  • Pull s390 fixes from Vasily Gorbik:

    - Disable preemption trace in percpu macros since the lockdep code
    itself uses percpu variables now and it causes recursions.

    - Fix kernel space 4-level paging broken by recent vmem rework.

    * tag 's390-5.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/vmem: fix vmem_add_range for 4-level paging
    s390: don't trace preemption in percpu macros

    Linus Torvalds
     
  • Pull xen fixes from Juergen Gross:
    "Two fixes for Xen: one needed for ongoing work to support virtio with
    Xen, and one for a corner case in IRQ handling with Xen"

    * tag 'for-linus-5.9-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    arm/xen: Add misuse warning to virt_to_gfn
    xen/xenbus: Fix granting of vmalloc'd memory
    XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.

    Linus Torvalds
     
  • Pull hwmon fixes from Guenter Roeck:

    - Fix tempeerature scale in gsc-hwmon driver

    - Fix divide by 0 error in nct7904 driver

    - Drop non-existing attribute from pmbus/isl68137 driver

    - Fix status check in applesmc driver

    * tag 'hwmon-for-v5.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (gsc-hwmon) Scale temperature to millidegrees
    hwmon: (applesmc) check status earlier.
    hwmon: (nct7904) Correct divide by 0
    hwmon: (pmbus/isl68137) remove READ_TEMPERATURE_1 telemetry for RAA228228

    Linus Torvalds
     

29 Aug, 2020

9 commits

  • Pull block fixes from Jens Axboe:

    - nbd timeout fix (Hou)

    - device size fix for loop LOOP_CONFIGURE (Martijn)

    - MD pull from Song with raid5 stripe size fix (Yufen)

    * tag 'block-5.9-2020-08-28' of git://git.kernel.dk/linux-block:
    md/raid5: make sure stripe_size as power of two
    loop: Set correct device size when using LOOP_CONFIGURE
    nbd: restore default timeout when setting it to zero

    Linus Torvalds
     
  • Pull io_uring fixes from Jens Axboe:
    "A few fixes in here, all based on reports and test cases from folks
    using it. Most of it is stable material as well:

    - Hashed work cancelation fix (Pavel)

    - poll wakeup signalfd fix

    - memlock accounting fix

    - nonblocking poll retry fix

    - ensure we never return -ERESTARTSYS for reads

    - ensure offset == -1 is consistent with preadv2() as documented

    - IOPOLL -EAGAIN handling fixes

    - remove useless task_work bounce for block based -EAGAIN retry"

    * tag 'io_uring-5.9-2020-08-28' of git://git.kernel.dk/linux-block:
    io_uring: don't bounce block based -EAGAIN retry off task_work
    io_uring: fix IOPOLL -EAGAIN retries
    io_uring: clear req->result on IOPOLL re-issue
    io_uring: make offset == -1 consistent with preadv2/pwritev2
    io_uring: ensure read requests go through -ERESTART* transformation
    io_uring: don't use poll handler if file can't be nonblocking read/written
    io_uring: fix imbalanced sqo_mm accounting
    io_uring: revert consumed iov_iter bytes on error
    io-wq: fix hang after cancelling pending hashed work
    io_uring: don't recurse on tsk->sighand->siglock with signalfd

    Linus Torvalds
     
  • Pull device properties framework fix from Rafael Wysocki:
    "Prevent the promotion of the secondary firmware node of a device to
    the primary one from leaking a pointer (Heikki Krogerus)"

    * tag 'devprop-5.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    device property: Fix the secondary firmware node handling in set_primary_fwnode()

    Linus Torvalds
     
  • Pull ACPI fixes from Rafael Wysocki:
    "These fix two recent issues in the ACPI memory mappings management
    code and tighten up error handling in the ACPI driver for AMD SoCs
    (APD).

    Specifics:

    - Avoid redundant rounding to the page size in acpi_os_map_iomem() to
    address a recently introduced issue with the EFI memory map
    permission check on ARM64 (Ard Biesheuvel).

    - Fix acpi_release_memory() to wait until the memory mappings
    released by it have been really unmapped (Rafael Wysocki).

    - Make the ACPI driver for AMD SoCs (APD) check the return value of
    acpi_dev_get_property() to avoid failures in the cases when the
    device property under inspection is missing (Furquan Shaikh)"

    * tag 'acpi-5.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI: OSL: Prevent acpi_release_memory() from returning too early
    ACPI: ioremap: avoid redundant rounding to OS page size
    ACPI: SoC: APD: Check return value of acpi_dev_get_property()

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "These fix the recently added Tegra194 cpufreq driver and the handling
    of devices using runtime PM during system-wide suspend, improve the
    intel_pstate driver documentation and clean up the cpufreq core.

    Specifics:

    - Make the recently added Tegra194 cpufreq driver use
    read_cpuid_mpir() instead of cpu_logical_map() to avoid exporting
    logical_cpu_map (Sumit Gupta).

    - Drop the automatic system wakeup event reporting for devices with
    pending runtime-resume requests during system-wide suspend to avoid
    spurious aborts of the suspend flow (Rafael Wysocki).

    - Fix build warning in the intel_pstate driver documentation and
    improve the wording in there (Randy Dunlap).

    - Clean up two pieces of code in the cpufreq core (Viresh Kumar)"

    * tag 'pm-5.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpufreq: Use WARN_ON_ONCE() for invalid relation
    cpufreq: No need to verify cpufreq_driver in show_scaling_cur_freq()
    PM: sleep: core: Fix the handling of pending runtime resume requests
    Documentation: fix pm/intel_pstate build warning and wording
    cpufreq: replace cpu_logical_map() with read_cpuid_mpir()

    Linus Torvalds
     
  • * acpi-mm:
    ACPI: OSL: Prevent acpi_release_memory() from returning too early
    ACPI: ioremap: avoid redundant rounding to OS page size

    Rafael J. Wysocki
     
  • * pm-cpufreq:
    cpufreq: Use WARN_ON_ONCE() for invalid relation
    cpufreq: No need to verify cpufreq_driver in show_scaling_cur_freq()
    Documentation: fix pm/intel_pstate build warning and wording
    cpufreq: replace cpu_logical_map() with read_cpuid_mpir()

    Rafael J. Wysocki
     
  • Pull arm64 fixes from Catalin Marinas:

    - Fix kernel build with the integrated LLVM assembler which doesn't see
    the -Wa,-march option.

    - Fix "make vdso_install" when COMPAT_VDSO is disabled.

    - Make KVM more robust if the AT S1E1R instruction triggers an
    exception (architecture corner cases).

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception
    KVM: arm64: Survive synchronous exceptions caused by AT instructions
    KVM: arm64: Add kvm_extable for vaxorcism code
    arm64: vdso32: make vdso32 install conditional
    arm64: use a common .arch preamble for inline assembly

    Linus Torvalds
     
  • I keep getting sparse warnings in crypto such as:

    CHECK drivers/crypto/ccree/cc_hash.c
    drivers/crypto/ccree/cc_hash.c:49:9: warning: cast truncates bits from constant value (47b5481dbefa4fa4 becomes befa4fa4)
    drivers/crypto/ccree/cc_hash.c:49:26: warning: cast truncates bits from constant value (db0c2e0d64f98fa7 becomes 64f98fa7)
    [.. many more ..]

    This patch removes the warning by adding a mask to keep sparse
    happy.

    Signed-off-by: Herbert Xu
    Signed-off-by: Linus Torvalds

    Herbert Xu