15 Nov, 2019

2 commits

  • Signed-off-by: Ira Weiny
    Link: https://lore.kernel.org/r/20190918211933.13213-1-ira.weiny@intel.com
    Signed-off-by: Dan Williams

    Ira Weiny
     
  • Don't leave claim_class set to an invalid value if an error occurs in
    btt_claim_class().

    While we are here change the return type of __holder_class_store() to be
    clear about the values it is returning.

    This was found via code inspection.

    Reported-by: Dan Carpenter
    Reviewed-by: Vishal Verma
    Signed-off-by: Ira Weiny
    Link: https://lore.kernel.org/r/20190925211348.14082-1-ira.weiny@intel.com
    Signed-off-by: Dan Williams

    Ira Weiny
     

28 Oct, 2019

1 commit


27 Oct, 2019

14 commits

  • Pull x86 fixes from Thomas Gleixner:
    "Two fixes for the VMWare guest support:

    - Unbreak VMWare platform detection which got wreckaged by converting
    an integer constant to a string constant.

    - Fix the clang build of the VMWAre hypercall by explicitely
    specifying the ouput register for INL instead of using the short
    form"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/cpu/vmware: Fix platform detection VMWARE_PORT macro
    x86/cpu/vmware: Use the full form of INL in VMWARE_HYPERCALL, for clang/llvm

    Linus Torvalds
     
  • Pull timer fixes from Thomas Gleixner:
    "A small set of fixes for time(keeping):

    - Add a missing include to prevent compiler warnings.

    - Make the VDSO implementation of clock_getres() POSIX compliant
    again. A recent change dropped the NULL pointer guard which is
    required as NULL is a valid pointer value for this function.

    - Fix two function documentation typos"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    posix-cpu-timers: Fix two trivial comments
    timers/sched_clock: Include local timekeeping.h for missing declarations
    lib/vdso: Make clock_getres() POSIX compliant again

    Linus Torvalds
     
  • Pull perf fixes from Thomas Gleixner:
    "A set of perf fixes:

    kernel:

    - Unbreak the tracking of auxiliary buffer allocations which got
    imbalanced causing recource limit failures.

    - Fix the fallout of splitting of ToPA entries which missed to shift
    the base entry PA correctly.

    - Use the correct context to lookup the AUX event when unmapping the
    associated AUX buffer so the event can be stopped and the buffer
    reference dropped.

    tools:

    - Fix buildiid-cache mode setting in copyfile_mode_ns() when copying
    /proc/kcore

    - Fix freeing id arrays in the event list so the correct event is
    closed.

    - Sync sched.h anc kvm.h headers with the kernel sources.

    - Link jvmti against tools/lib/ctype.o to have weak strlcpy().

    - Fix multiple memory and file descriptor leaks, found by coverity in
    perf annotate.

    - Fix leaks in error handling paths in 'perf c2c', 'perf kmem', found
    by a static analysis tool"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/aux: Fix AUX output stopping
    perf/aux: Fix tracking of auxiliary trace buffer allocation
    perf/x86/intel/pt: Fix base for single entry topa
    perf kmem: Fix memory leak in compact_gfp_flags()
    tools headers UAPI: Sync sched.h with the kernel
    tools headers kvm: Sync kvm.h headers with the kernel sources
    tools headers kvm: Sync kvm headers with the kernel sources
    tools headers kvm: Sync kvm headers with the kernel sources
    perf c2c: Fix memory leak in build_cl_output()
    perf tools: Fix mode setting in copyfile_mode_ns()
    perf annotate: Fix multiple memory and file descriptor leaks
    perf tools: Fix resource leak of closedir() on the error paths
    perf evlist: Fix fix for freed id arrays
    perf jvmti: Link against tools/lib/ctype.h to have weak strlcpy()

    Linus Torvalds
     
  • Pull irq fixes from Thomas Gleixner:
    "Two fixes for interrupt controller drivers:

    - Skip IRQ_M_EXT entries in the device tree when initializing the
    RISCV PLIC controller to avoid a double init attempt.

    - Use the correct ITS list when issuing the VMOVP synchronization
    command so the operation works only on the ITS instances which are
    associated to a VM"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/sifive-plic: Skip contexts except supervisor in plic_init()
    irqchip/gic-v3-its: Use the exact ITSList for VMOVP

    Linus Torvalds
     
  • Pull cifs fixes from Steve French:
    "Seven cifs/smb3 fixes, including three for stable"

    * tag '5.4-rc5-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
    cifs: Fix cifsInodeInfo lock_sem deadlock when reconnect occurs
    CIFS: Fix use after free of file info structures
    CIFS: Fix retry mid list corruption on reconnects
    cifs: Fix missed free operations
    CIFS: avoid using MID 0xFFFF
    cifs: clarify comment about timestamp granularity for old servers
    cifs: Handle -EINPROGRESS only when noblockcnt is set

    Linus Torvalds
     
  • Pull RISC-V fixes from Paul Walmsley:
    "Several minor fixes and cleanups for v5.4-rc5:

    - Three build fixes for various SPARSEMEM-related kernel
    configurations

    - Two cleanup patches for the kernel bug and breakpoint trap handler
    code"

    * tag 'riscv/for-v5.4-rc5-b' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
    riscv: cleanup do_trap_break
    riscv: cleanup
    riscv: Fix undefined reference to vmemmap_populate_basepages
    riscv: Fix implicit declaration of 'page_to_section'
    riscv: fix fs/proc/kcore.c compilation with sparsemem enabled

    Linus Torvalds
     
  • Pull MIPS fixes from Paul Burton:
    "A few MIPS fixes:

    - Fix VDSO time-related function behavior for systems where we need
    to fall back to syscalls, but were instead returning bogus results.

    - A fix to TLB exception handlers for Cavium Octeon systems where
    they would inadvertently clobber the $1/$at register.

    - A build fix for bcm63xx configurations.

    - Switch to using my @kernel.org email address"

    * tag 'mips_fixes_5.4_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
    MIPS: tlbex: Fix build_restore_pagemask KScratch restore
    MIPS: bmips: mark exception vectors as char arrays
    mips: vdso: Fix __arch_get_hw_counter()
    MAINTAINERS: Use @kernel.org address for Paul Burton

    Linus Torvalds
     
  • Pull tty/serial driver fix from Greg KH:
    "Here is a single tty/serial driver fix for 5.4-rc5 that resolves a
    reported issue.

    It has been in linux-next for a while with no problems"

    * tag 'tty-5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    8250-men-mcb: fix error checking when get_num_ports returns -ENODEV

    Linus Torvalds
     
  • Pull staging driver fix from Greg KH:
    "Here is a single staging driver fix, for the wlan-ng driver, that
    resolves a reported issue.

    It is been in linux-next for a while with no reported issues"

    * tag 'staging-5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    staging: wlan-ng: fix exit return when sme->key_idx >= NUM_WEPKEYS

    Linus Torvalds
     
  • Pull driver core fix from Greg KH:
    "Here is a single sysfs fix for 5.4-rc5.

    It resolves an error if you actually try to use the __BIN_ATTR_WO()
    macro, seems I never tested it properly before :(

    This has been in linux-next for a while with no reported issues"

    * tag 'driver-core-5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    sysfs: Fixes __BIN_ATTR_WO() macro

    Linus Torvalds
     
  • Pull binder fix from Greg KH:
    "This is a single binder fix to resolve a reported issue by Jann. It's
    been in linux-next for a while with no reported issues"

    * tag 'char-misc-5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    binder: Don't modify VMA bounds in ->mmap handler

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are a number of small USB driver fixes for 5.4-rc5.

    More "fun" with some of the misc USB drivers as found by syzbot, and
    there are a number of other small bugfixes in here for reported
    issues.

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

    * tag 'usb-5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    usb: cdns3: Error out if USB_DR_MODE_UNKNOWN in cdns3_core_init_role()
    USB: ldusb: fix read info leaks
    USB: serial: ti_usb_3410_5052: clean up serial data access
    USB: serial: ti_usb_3410_5052: fix port-close races
    USB: usblp: fix use-after-free on disconnect
    usb: udc: lpc32xx: fix bad bit shift operation
    usb: cdns3: Fix dequeue implementation.
    USB: legousbtower: fix a signedness bug in tower_probe()
    USB: legousbtower: fix memleak on disconnect
    USB: ldusb: fix memleak on disconnect

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:
    "A few driver fixes for the I2C subsystem"

    * 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: stm32f7: remove warning when compiling with W=1
    i2c: stm32f7: fix a race in slave mode with arbitration loss irq
    i2c: stm32f7: fix first byte to send in slave mode
    i2c: mt65xx: fix NULL ptr dereference
    i2c: aspeed: fix master pending state handling

    Linus Torvalds
     
  • Pull block and io_uring fixes from Jens Axboe:
    "A bit bigger than usual at this point in time, mostly due to some good
    bug hunting work by Pavel that resulted in three io_uring fixes from
    him and two from me. Anyway, this pull request contains:

    - Revert of the submit-and-wait optimization for io_uring, it can't
    always be done safely. It depends on commands always making
    progress on their own, which isn't necessarily the case outside of
    strict file IO. (me)

    - Series of two patches from me and three from Pavel, fixing issues
    with shared data and sequencing for io_uring.

    - Lastly, two timeout sequence fixes for io_uring (zhangyi)

    - Two nbd patches fixing races (Josef)

    - libahci regulator_get_optional() fix (Mark)"

    * tag 'for-linus-2019-10-26' of git://git.kernel.dk/linux-block:
    nbd: verify socket is supported during setup
    ata: libahci_platform: Fix regulator_get_optional() misuse
    nbd: handle racing with error'ed out commands
    nbd: protect cmd->status with cmd->lock
    io_uring: fix bad inflight accounting for SETUP_IOPOLL|SETUP_SQTHREAD
    io_uring: used cached copies of sq->dropped and cq->overflow
    io_uring: Fix race for sqes with userspace
    io_uring: Fix broken links with offloading
    io_uring: Fix corrupted user_data
    io_uring: correct timeout req sequence when inserting a new entry
    io_uring : correct timeout req sequence when waiting timeout
    io_uring: revert "io_uring: optimize submit_and_wait API"

    Linus Torvalds
     

26 Oct, 2019

18 commits

  • Pull s390 fixes from Vasily Gorbik:

    - Add R_390_GLOB_DAT relocation type support. This fixes boot problem
    on linux-next.

    - Fix memory leak in zcrypt

    * tag 's390-5.4-5' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/kaslr: add support for R_390_GLOB_DAT relocation type
    s390/zcrypt: fix memleak at release

    Linus Torvalds
     
  • Pull xen fixlet from Juergen Gross:
    "Just one patch for issuing a deprecation warning for 32-bit Xen pv
    guests"

    * tag 'for-linus-5.4-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen: issue deprecation warning for 32-bit pv guest

    Linus Torvalds
     
  • Pull dma-mapping fix from Christoph Hellwig:
    "Fix a regression in the intel-iommu get_required_mask conversion
    (Arvind Sankar)"

    * tag 'dma-mapping-5.4-2' of git://git.infradead.org/users/hch/dma-mapping:
    iommu/vt-d: Return the correct dma mask when we are bypassing the IOMMU

    Linus Torvalds
     
  • Pull dax fix from Dan Williams:
    "Fix a performance regression that followed from a fix to the
    conversion of the fsdax implementation to the xarray. v5.3 users
    report that they stop seeing huge page mappings on an application +
    filesystem layout that was seeing huge pages previously on v5.2"

    * tag 'dax-fix-5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    fs/dax: Fix pmd vs pte conflict detection

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "Nine changes, eight to drivers (qla2xxx, hpsa, lpfc, alua, ch,
    53c710[x2], target) and one core change that tries to close a race
    between sysfs delete and module removal"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    scsi: lpfc: remove left-over BUILD_NVME defines
    scsi: core: try to get module before removing device
    scsi: hpsa: add missing hunks in reset-patch
    scsi: target: core: Do not overwrite CDB byte 1
    scsi: ch: Make it possible to open a ch device multiple times again
    scsi: fix kconfig dependency warning related to 53C700_LE_ON_BE
    scsi: sni_53c710: fix compilation error
    scsi: scsi_dh_alua: handle RTPG sense code correctly during state transitions
    scsi: qla2xxx: fix a potential NULL pointer dereference

    Linus Torvalds
     
  • If we always compile the get_break_insn_length inline function we can
    remove the ifdefs and let dead code elimination take care of the warn
    branch that is now unreadable because the report_bug stub always
    returns BUG_TRAP_TYPE_BUG.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Anup Patel
    Signed-off-by: Paul Walmsley

    Christoph Hellwig
     
  • Pull input fix from Dmitry Torokhov:
    "A fix for st1232 driver to properly report coordinates for 2nd and
    subsequent fingers when more than one is on the surface"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: st1232 - fix reporting multitouch coordinates

    Linus Torvalds
     
  • nbd requires socket families to support the shutdown method so the nbd
    recv workqueue can be woken up from its sock_recvmsg call. If the socket
    does not support the callout we will leave recv works running or get hangs
    later when the device or module is removed.

    This adds a check during socket connection/reconnection to make sure the
    socket being passed in supports the needed callout.

    Reported-by: syzbot+24c12fa8d218ed26011a@syzkaller.appspotmail.com
    Fixes: e9e006f5fcf2 ("nbd: fix max number of supported devs")
    Tested-by: Richard W.M. Jones
    Signed-off-by: Mike Christie
    Signed-off-by: Jens Axboe

    Mike Christie
     
  • This driver is using regulator_get_optional() to handle all the supplies
    that it handles, and only ever enables and disables all supplies en masse
    without ever doing any other configuration of the device to handle missing
    power. These are clear signs that the API is being misused - it should only
    be used for supplies that may be physically absent from the system and in
    these cases the hardware usually needs different configuration if the
    supply is missing. Instead use normal regualtor_get(), if the supply is
    not described in DT then the framework will substitute a dummy regulator in
    so no special handling is needed by the consumer driver.

    In the case of the PHY regulator the handling in the driver is a hack to
    deal with integrated PHYs; the supplies are only optional in the sense
    that that there's some confusion in the code about where they're bound to.
    From a code point of view they function exactly as normal supplies so can
    be treated as such. It'd probably be better to model this by instantiating
    a PHY object for integrated PHYs.

    Reviewed-by: Hans de Goede
    Signed-off-by: Mark Brown
    Signed-off-by: Jens Axboe

    Mark Brown
     
  • We hit the following warning in production

    print_req_error: I/O error, dev nbd0, sector 7213934408 flags 80700
    ------------[ cut here ]------------
    refcount_t: underflow; use-after-free.
    WARNING: CPU: 25 PID: 32407 at lib/refcount.c:190 refcount_sub_and_test_checked+0x53/0x60
    Workqueue: knbd-recv recv_work [nbd]
    RIP: 0010:refcount_sub_and_test_checked+0x53/0x60
    Call Trace:
    blk_mq_free_request+0xb7/0xf0
    blk_mq_complete_request+0x62/0xf0
    recv_work+0x29/0xa1 [nbd]
    process_one_work+0x1f5/0x3f0
    worker_thread+0x2d/0x3d0
    ? rescuer_thread+0x340/0x340
    kthread+0x111/0x130
    ? kthread_create_on_node+0x60/0x60
    ret_from_fork+0x1f/0x30
    ---[ end trace b079c3c67f98bb7c ]---

    This was preceded by us timing out everything and shutting down the
    sockets for the device. The problem is we had a request in the queue at
    the same time, so we completed the request twice. This can actually
    happen in a lot of cases, we fail to get a ref on our config, we only
    have one connection and just error out the command, etc.

    Fix this by checking cmd->status in nbd_read_stat. We only change this
    under the cmd->lock, so we are safe to check this here and see if we've
    already error'ed this command out, which would indicate that we've
    completed it as well.

    Reviewed-by: Mike Christie
    Signed-off-by: Josef Bacik

    Signed-off-by: Jens Axboe

    Josef Bacik
     
  • We already do this for the most part, except in timeout and clear_req.
    For the timeout case we take the lock after we grab a ref on the config,
    but that isn't really necessary because we're safe to touch the cmd at
    this point, so just move the order around.

    For the clear_req cause this is initiated by the user, so again is safe.

    Reviewed-by: Mike Christie
    Signed-off-by: Josef Bacik
    Signed-off-by: Jens Axboe

    Josef Bacik
     
  • Pull modules fixes from Jessica Yu:

    - Revert __ksymtab_$namespace.$symbol naming scheme back to
    __ksymtab_$symbol, as it was causing issues with depmod.

    Instead, have modpost extract a symbol's namespace from __kstrtabns
    and __ksymtab_strings.

    - Fix `make nsdeps` for out of tree kernel builds (make O=...) caused
    by unescaped '/'.

    Use a different sed delimiter to avoid this problem.

    * tag 'modules-for-v5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
    scripts/nsdeps: use alternative sed delimiter
    symbol namespaces: revert to previous __ksymtab name scheme
    modpost: make updating the symbol namespace explicit
    modpost: delegate updating namespaces to separate function

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "A slightly larger set of fixes have accrued in the last two weeks.
    Mostly a collection of the usual smaller fixes:

    - Marvell Armada: USB phy setup issues on Turris Mox

    - Broadcom: GPIO/pinmux DT mapping corrections for Stingray, MMC bus
    width fix for RPi Zero W, GPIO LED removal for RPI CM3. Also some
    maintainer updates.

    - OMAP: Fixlets for display config, interrupt settings for wifi, some
    clock/PM pieces. Also IOMMU regression fix and a ti-sysc
    no-watchdog regression fix.

    - i.MX: A few fixes around PM/settings, some devicetree fixlets and
    catching up with config option changes in DRM

    - Rockchip: RockRro64 misc DT fixups, Hugsun X99 USB-C, Kevin display
    panel settings

    ... and some smaller fixes for Davinci (backlight, McBSP DMA),
    Allwinner (phy regulators, PMU removal on A64, etc)"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (42 commits)
    ARM: dts: stm32: relax qspi pins slew-rate for stm32mp157
    MAINTAINERS: Update the Spreadtrum SoC maintainer
    MAINTAINERS: Remove Gregory and Brian for ARCH_BRCMSTB
    ARM: dts: bcm2837-rpi-cm3: Avoid leds-gpio probing issue
    bus: ti-sysc: Fix watchdog quirk handling
    ARM: OMAP2+: Add pdata for OMAP3 ISP IOMMU
    ARM: OMAP2+: Plug in device_enable/idle ops for IOMMUs
    ARM: davinci_all_defconfig: enable GPIO backlight
    ARM: davinci: dm365: Fix McBSP dma_slave_map entry
    ARM: dts: bcm2835-rpi-zero-w: Fix bus-width of sdhci
    ARM: imx_v6_v7_defconfig: Enable CONFIG_DRM_MSM
    arm64: dts: imx8mn: Use correct clock for usdhc's ipg clk
    arm64: dts: imx8mm: Use correct clock for usdhc's ipg clk
    arm64: dts: imx8mq: Use correct clock for usdhc's ipg clk
    ARM: dts: imx7s: Correct GPT's ipg clock source
    ARM: dts: vf610-zii-scu4-aib: Specify 'i2c-mux-idle-disconnect'
    ARM: dts: imx6q-logicpd: Re-Enable SNVS power key
    arm64: dts: lx2160a: Correct CPU core idle state name
    mailmap: Add Simon Arlott (replacement for expired email address)
    arm64: dts: rockchip: Fix override mode for rk3399-kevin panel
    ...

    Linus Torvalds
     
  • Pull KVM fixes from Paolo Bonzini:
    "Bugfixes for ARM, PPC and x86, plus selftest improvements"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: nVMX: Don't leak L1 MMIO regions to L2
    KVM: SVM: Fix potential wrong physical id in avic_handle_ldr_update
    kvm: clear kvmclock MSR on reset
    KVM: x86: fix bugon.cocci warnings
    KVM: VMX: Remove specialized handling of unexpected exit-reasons
    selftests: kvm: fix sync_regs_test with newer gccs
    selftests: kvm: vmx_dirty_log_test: skip the test when VMX is not supported
    selftests: kvm: consolidate VMX support checks
    selftests: kvm: vmx_set_nested_state_test: don't check for VMX support twice
    KVM: Don't shrink/grow vCPU halt_poll_ns if host side polling is disabled
    selftests: kvm: synchronize .gitignore to Makefile
    kvm: x86: Expose RDPID in KVM_GET_SUPPORTED_CPUID
    KVM: arm64: pmu: Reset sample period on overflow handling
    KVM: arm64: pmu: Set the CHAINED attribute before creating the in-kernel event
    arm64: KVM: Handle PMCR_EL0.LC as RES1 on pure AArch64 systems
    KVM: arm64: pmu: Fix cycle counter truncation
    KVM: PPC: Book3S HV: XIVE: Ensure VP isn't already in use

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Quiet week this week, which I suspect means some people just didn't
    get around to sending me fixes pulls in time. This has 2 komeda and a
    bunch of amdgpu fixes in it:

    komeda:
    - typo fixes
    - flushing pipes fix

    amdgpu:
    - Fix suspend/resume issue related to multi-media engines
    - Fix memory leak in user ptr code related to hmm conversion
    - Fix possible VM faults when allocating page table memory
    - Fix error handling in bo list ioctl"

    * tag 'drm-fixes-2019-10-25' of git://anongit.freedesktop.org/drm/drm:
    drm/komeda: Fix typos in komeda_splitter_validate
    drm/komeda: Don't flush inactive pipes
    drm/amdgpu/vce: fix allocation size in enc ring test
    drm/amdgpu: fix error handling in amdgpu_bo_list_create
    drm/amdgpu: fix potential VM faults
    drm/amdgpu: user pages array memory leak fix
    drm/amdgpu/vcn: fix allocation size in enc ring test
    drm/amdgpu/uvd7: fix allocation size in enc ring test (v2)
    drm/amdgpu/uvd6: fix allocation size in enc ring test (v2)

    Linus Torvalds
     
  • Pull MMC fixes from Ulf Hansson:
    "MMC host fixes:

    - mxs: Fix flags passed to dmaengine_prep_slave_sg

    - cqhci: Add a missing memory barrier

    - sdhci-omap: Fix tuning procedure for temperatures < -20C"

    * tag 'mmc-v5.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
    mmc: mxs: fix flags passed to dmaengine_prep_slave_sg
    mmc: cqhci: Commit descriptors before setting the doorbell
    mmc: sdhci-omap: Fix Tuning procedure for temperatures < -20C

    Linus Torvalds
     
  • We currently assume that submissions from the sqthread are successful,
    and if IO polling is enabled, we use that value for knowing how many
    completions to look for. But if we overflowed the CQ ring or some
    requests simply got errored and already completed, they won't be
    available for polling.

    For the case of IO polling and SQTHREAD usage, look at the pending
    poll list. If it ever hits empty then we know that we don't have
    anymore pollable requests inflight. For that case, simply reset
    the inflight count to zero.

    Reported-by: Pavel Begunkov
    Reviewed-by: Pavel Begunkov
    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • We currently use the ring values directly, but that can lead to issues
    if the application is malicious and changes these values on our behalf.
    Created in-kernel cached versions of them, and just overwrite the user
    side when we update them. This is similar to how we treat the sq/cq
    ring tail/head updates.

    Reported-by: Pavel Begunkov
    Reviewed-by: Pavel Begunkov
    Signed-off-by: Jens Axboe

    Jens Axboe
     

25 Oct, 2019

5 commits

  • Relax qspi pins slew-rate to minimize peak currents.

    Fixes: 844030057339 ("ARM: dts: stm32: add flash nor support on stm32mp157c eval board")

    Link: https://lore.kernel.org/r/20191025130122.11407-1-alexandre.torgue@st.com
    Signed-off-by: Patrice Chotard
    Signed-off-by: Alexandre Torgue
    Signed-off-by: Olof Johansson

    Patrice Chotard
     
  • io_ring_submit() finalises with
    1. io_commit_sqring(), which releases sqes to the userspace
    2. Then calls to io_queue_link_head(), accessing released head's sqe

    Reorder them.

    Signed-off-by: Pavel Begunkov
    Signed-off-by: Jens Axboe

    Pavel Begunkov
     
  • io_sq_thread() processes sqes by 8 without considering links. As a
    result, links will be randomely subdivided.

    The easiest way to fix it is to call io_get_sqring() inside
    io_submit_sqes() as do io_ring_submit().

    Downsides:
    1. This removes optimisation of not grabbing mm_struct for fixed files
    2. It submitting all sqes in one go, without finer-grained sheduling
    with cq processing.

    Signed-off-by: Pavel Begunkov
    Signed-off-by: Jens Axboe

    Pavel Begunkov
     
  • There is a bug, where failed linked requests are returned not with
    specified @user_data, but with garbage from a kernel stack.

    The reason is that io_fail_links() uses req->user_data, which is
    uninitialised when called from io_queue_sqe() on fail path.

    Signed-off-by: Pavel Begunkov
    Signed-off-by: Jens Axboe

    Pavel Begunkov
     
  • Support for the kernel as Xen 32-bit PV guest will soon be removed.
    Issue a warning when booted as such.

    Signed-off-by: Juergen Gross
    Signed-off-by: Boris Ostrovsky

    Juergen Gross