1. 11 Jul, 2019 4 commits
    • Minwoo Im's avatar
      nvme: fix NULL deref for fabrics options · 7d30c81b
      Minwoo Im authored
      git://git.infradead.org/nvme.git nvme-5.3 branch now causes the
      following NULL deref oops.  Check the ctrl->opts first before the deref.
      
      [   16.337581] BUG: kernel NULL pointer dereference, address: 0000000000000056
      [   16.338551] #PF: supervisor read access in kernel mode
      [   16.338551] #PF: error_code(0x0000) - not-present page
      [   16.338551] PGD 0 P4D 0
      [   16.338551] Oops: 0000 [#1] SMP PTI
      [   16.338551] CPU: 2 PID: 1035 Comm: kworker/u16:5 Not tainted 5.2.0-rc6+ #1
      [   16.338551] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.11.2-0-gf9626ccb91-prebuilt.qemu-project.org 04/01/2014
      [   16.338551] Workqueue: nvme-wq nvme_scan_work [nvme_core]
      [   16.338551] RIP: 0010:nvme_validate_ns+0xc9/0x7e0 [nvme_core]
      [   16.338551] Code: c0 49 89 c5 0f 84 00 07 00 00 48 8b 7b 58 e8 be 48 39 c1 48 3d 00 f0 ff ff 49 89 45 18 0f 87 a4 06 00 00 48 8b 93 70 0a 00 00 <80> 7a 56 00 74 0c 48 8b 40 68 83 48 3c 08 49 8b 45 18 48 89 c6 bf
      [   16.338551] RSP: 0018:ffffc900024c7d10 EFLAGS: 00010283
      [   16.338551] RAX: ffff888135a30720 RBX: ffff88813a4fd1f8 RCX: 0000000000000007
      [   16.338551] RDX: 0000000000000000 RSI: ffffffff8256dd38 RDI: ffff888135a30720
      [   16.338551] RBP: 0000000000000001 R08: 0000000000000007 R09: ffff88813aa6a840
      [   16.338551] R10: 0000000000000001 R11: 000000000002d060 R12: ffff88813a4fd1f8
      [   16.338551] R13: ffff88813a77f800 R14: ffff88813aa35180 R15: 0000000000000001
      [   16.338551] FS:  0000000000000000(0000) GS:ffff88813ba80000(0000) knlGS:0000000000000000
      [   16.338551] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   16.338551] CR2: 0000000000000056 CR3: 000000000240a002 CR4: 0000000000360ee0
      [   16.338551] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [   16.338551] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [   16.338551] Call Trace:
      [   16.338551]  nvme_scan_work+0x2c0/0x340 [nvme_core]
      [   16.338551]  ? __switch_to_asm+0x40/0x70
      [   16.338551]  ? _raw_spin_unlock_irqrestore+0x18/0x30
      [   16.338551]  ? try_to_wake_up+0x408/0x450
      [   16.338551]  process_one_work+0x20b/0x3e0
      [   16.338551]  worker_thread+0x1f9/0x3d0
      [   16.338551]  ? cancel_delayed_work+0xa0/0xa0
      [   16.338551]  kthread+0x117/0x120
      [   16.338551]  ? kthread_stop+0xf0/0xf0
      [   16.338551]  ret_from_fork+0x3a/0x50
      [   16.338551] Modules linked in: nvme nvme_core
      [   16.338551] CR2: 0000000000000056
      [   16.338551] ---[ end trace b9bf761a93e62d84 ]---
      [   16.338551] RIP: 0010:nvme_validate_ns+0xc9/0x7e0 [nvme_core]
      [   16.338551] Code: c0 49 89 c5 0f 84 00 07 00 00 48 8b 7b 58 e8 be 48 39 c1 48 3d 00 f0 ff ff 49 89 45 18 0f 87 a4 06 00 00 48 8b 93 70 0a 00 00 <80> 7a 56 00 74 0c 48 8b 40 68 83 48 3c 08 49 8b 45 18 48 89 c6 bf
      [   16.338551] RSP: 0018:ffffc900024c7d10 EFLAGS: 00010283
      [   16.338551] RAX: ffff888135a30720 RBX: ffff88813a4fd1f8 RCX: 0000000000000007
      [   16.338551] RDX: 0000000000000000 RSI: ffffffff8256dd38 RDI: ffff888135a30720
      [   16.338551] RBP: 0000000000000001 R08: 0000000000000007 R09: ffff88813aa6a840
      [   16.338551] R10: 0000000000000001 R11: 000000000002d060 R12: ffff88813a4fd1f8
      [   16.338551] R13: ffff88813a77f800 R14: ffff88813aa35180 R15: 0000000000000001
      [   16.338551] FS:  0000000000000000(0000) GS:ffff88813ba80000(0000) knlGS:0000000000000000
      [   16.338551] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   16.338551] CR2: 0000000000000056 CR3: 000000000240a002 CR4: 0000000000360ee0
      [   16.338551] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [   16.338551] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      
      Fixes: 958f2a0f ("nvme-tcp: set the STABLE_WRITES flag when data digests are enabled")
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Keith Busch <kbusch@kernel.org>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarMinwoo Im <minwoo.im.dev@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      7d30c81b
    • Jens Axboe's avatar
      Merge branch 'nvme-5.3' of git://git.infradead.org/nvme into for-linus · b7403066
      Jens Axboe authored
      Pull NVMe fixes from Christoph:
      
      "Lof of fixes all over the place, and two very minor features that
       were in the nvme tree by the end of the merge window, but hadn't made
       it out to Jens yet."
      
      * 'nvme-5.3' of git://git.infradead.org/nvme:
        nvme: fix regression upon hot device removal and insertion
        nvme-fc: fix module unloads while lports still pending
        nvme-tcp: don't use sendpage for SLAB pages
        nvme-tcp: set the STABLE_WRITES flag when data digests are enabled
        nvmet: print a hint while rejecting NSID 0 or 0xffffffff
        nvme-multipath: do not select namespaces which are about to be removed
        nvme-multipath: also check for a disabled path if there is a single sibling
        nvme-multipath: factor out a nvme_path_is_disabled helper
        nvme: set physical block size and optimal I/O size
        nvme: add I/O characteristics fields
        nvmet: export I/O characteristics attributes in Identify
        nvme-trace: add delete completion and submission queue to admin cmds tracer
        nvme-trace: fix spelling mistake "spcecific" -> "specific"
        nvme-pci: limit max_hw_sectors based on the DMA max mapping size
        nvme-pci: check for NULL return from pci_alloc_p2pmem()
        nvme-pci: don't create a read hctx mapping without read queues
        nvme-pci: don't fall back to a 32-bit DMA mask
        nvme-pci: make nvme_dev_pm_ops static
        nvme-fcloop: resolve warnings on RCU usage and sleep warnings
        nvme-fcloop: fix inconsistent lock state warnings
      b7403066
    • Mike Christie's avatar
      nbd: add netlink reconfigure resize support · 4ddeaae8
      Mike Christie authored
      If the device is setup with ioctl we can resize the device after the
      initial setup, but if the device is setup with netlink we cannot use the
      resize related ioctls and there is no netlink reconfigure size ATTR
      handling code.
      
      This patch adds netlink reconfigure resize support to match the ioctl
      interface.
      Reviewed-by: default avatarJosef Bacik <josef@toxicpanda.com>
      Signed-off-by: default avatarMike Christie <mchristi@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      4ddeaae8
    • Xiubo Li's avatar
      nbd: fix crash when the blksize is zero · 553768d1
      Xiubo Li authored
      This will allow the blksize to be set zero and then use 1024 as
      default.
      Reviewed-by: default avatarJosef Bacik <josef@toxicpanda.com>
      Signed-off-by: default avatarXiubo Li <xiubli@redhat.com>
      [fix to use goto out instead of return in genl_connect]
      Signed-off-by: default avatarMike Christie <mchristi@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      553768d1
  2. 10 Jul, 2019 13 commits
  3. 09 Jul, 2019 23 commits
    • James Smart's avatar
      nvme-fc: fix module unloads while lports still pending · 4c73cbdf
      James Smart authored
      Current code allows the module to be unloaded even if there are
      pending data structures, such as localports and controllers on
      the localports, that have yet to hit their reference counting
      to remove them.
      
      Fix by having exit entrypoint explicitly delete every controller,
      which in turn will remove references on the remoteports and localports
      causing them to be deleted as well. The exit entrypoint, after
      initiating the deletes, will wait for the last localport to be deleted
      before continuing.
      Signed-off-by: default avatarJames Smart <jsmart2021@gmail.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      4c73cbdf
    • Mikhail Skorzhinskii's avatar
      nvme-tcp: don't use sendpage for SLAB pages · 37c15219
      Mikhail Skorzhinskii authored
      According to commit a10674bf ("tcp: detecting the misuse of
      .sendpage for Slab objects") and previous discussion, tcp_sendpage
      should not be used for pages that is managed by SLAB, as SLAB is not
      taking page reference counters into consideration.
      Signed-off-by: default avatarMikhail Skorzhinskii <mskorzhinskiy@solarflare.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      37c15219
    • Mikhail Skorzhinskii's avatar
      nvme-tcp: set the STABLE_WRITES flag when data digests are enabled · 958f2a0f
      Mikhail Skorzhinskii authored
      There was a few false alarms sighted on target side about wrong data
      digest while performing high throughput load to XFS filesystem shared
      through NVMoF TCP.
      
      This flag tells the rest of the kernel to ensure that the data buffer
      does not change while the write is in flight.  It incurs a performance
      penalty, so only enable it when it is actually needed, i.e. when we are
      calculating data digests.
      
      Although even with this change in place, ext2 users can steel experience
      false positives, as ext2 is not respecting this flag. This may be apply
      to vfat as well.
      Signed-off-by: default avatarMikhail Skorzhinskii <mskorzhinskiy@solarflare.com>
      Signed-off-by: default avatarMike Playle <mplayle@solarflare.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      958f2a0f
    • Mikhail Skorzhinskii's avatar
      nvmet: print a hint while rejecting NSID 0 or 0xffffffff · 5ba89503
      Mikhail Skorzhinskii authored
      Adding this hint for the sake of convenience.
      
      It was spotted that a few times people spent some time before
      understanding what is exactly wrong in configuration process.  This
      should save a few time in such situations, especially for people who
      is not very confident with NVMe requirements.
      Signed-off-by: default avatarMikhail Skorzhinskii <mskorzhinskiy@solarflare.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      5ba89503
    • Hannes Reinecke's avatar
      nvme-multipath: do not select namespaces which are about to be removed · 04e70bd4
      Hannes Reinecke authored
      nvme_ns_remove() will first set the NVME_NS_REMOVING flag before removing
      it from the list at the very last step.
      So to avoid selecting a namespace in nvme_find_path() which is about to be
      removed check the NVME_NS_REMOVING flag, too, when selecting a new path.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      04e70bd4
    • Hannes Reinecke's avatar
      nvme-multipath: also check for a disabled path if there is a single sibling · 2032d074
      Hannes Reinecke authored
      When we have a singular list in nvme_round_robin_path() we still
      need to check its validity.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      2032d074
    • Hannes Reinecke's avatar
      nvme-multipath: factor out a nvme_path_is_disabled helper · ca7ae5c9
      Hannes Reinecke authored
      Factor our a common helper to check if a path has been disabled
      by something other than the per-namespace ANA state.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.com>
      [hch: split from a bigger patch]
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      ca7ae5c9
    • Bart Van Assche's avatar
      nvme: set physical block size and optimal I/O size · 81adb863
      Bart Van Assche authored
      >From the NVMe 1.4 spec:
      
      NSFEAT bit 4 if set to 1: indicates that the fields NPWG, NPWA, NPDG, NPDA,
      and NOWS are defined for this namespace and should be used by the host for
      I/O optimization;
      [ ... ]
      Namespace Preferred Write Granularity (NPWG): This field indicates the
      smallest recommended write granularity in logical blocks for this namespace.
      This is a 0's based value. The size indicated should be less than or equal
      to Maximum Data Transfer Size (MDTS) that is specified in units of minimum
      memory page size. The value of this field may change if the namespace is
      reformatted. The size should be a multiple of Namespace Preferred Write
      Alignment (NPWA). Refer to section 8.25 for how this field is utilized to
      improve performance and endurance.
      [ ... ]
      Each Write, Write Uncorrectable, or Write Zeroes commands should address a
      multiple of Namespace Preferred Write Granularity (NPWG) (refer to Figure
      245) and Stream Write Size (SWS) (refer to Figure 515) logical blocks (as
      expressed in the NLB field), and the SLBA field of the command should be
      aligned to Namespace Preferred Write Alignment (NPWA) (refer to Figure 245)
      for best performance.
      Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      81adb863
    • Bart Van Assche's avatar
      nvme: add I/O characteristics fields · 6605bdd5
      Bart Van Assche authored
      Several new fields have been introduced in version 1.4 of the NVMe spec
      at offsets that were defined as reserved in version 1.3d of the NVMe
      spec. Update the definition of the nvme_id_ns data structure such that
      it is in sync with version 1.4 of the NVMe spec. This change preserves
      backwards compatibility.
      Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
      Reviewed-by: default avatarKeith Busch <kbusch@kernel.org>
      Reviewed-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
      Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      6605bdd5
    • Bart Van Assche's avatar
      nvmet: export I/O characteristics attributes in Identify · 9d05a96e
      Bart Van Assche authored
      Make the NVMe NAWUN, NAWUPF, NACWU, NPWG, NPWA, NPDG and NOWS attributes
      available to initator systems for the block backend.
      Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
      Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      9d05a96e
    • Tom Wu's avatar
      nvme-trace: add delete completion and submission queue to admin cmds tracer · 4c0181bf
      Tom Wu authored
      The trace log for 'delete I/O submission queue' and 'delete I/O
      completion queue' command will look like as below:
      
      kworker/u49:1-3438  [003] ....  6693.070865: nvme_setup_cmd: nvme0: qid=0, cmdid=11, nsid=0, flags=0x0, meta=0x0, cmd=(nvme_admin_delete_sq sqid=1)
      kworker/u49:1-3438  [003] ....  6693.071171: nvme_setup_cmd: nvme0: qid=0, cmdid=8, nsid=0, flags=0x0, meta=0x0, cmd=(nvme_admin_delete_cq cqid=24)
      Signed-off-by: default avatarTom Wu <tomwu@mellanox.com>
      Reviewed-by: default avatarMax Gurtovoy <maxg@mellanox.com>
      Reviewed-by: default avatarMinwoo Im <minwoo.im.dev@gmail.com>
      Reviewed-by: default avatarIsrael Rukshin <israelr@mellanox.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      4c0181bf
    • Colin Ian King's avatar
      nvme-trace: fix spelling mistake "spcecific" -> "specific" · 91f6d798
      Colin Ian King authored
      There are two spelling mistakes in trace_seq_printf messages, fix these.
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Reviewed-by: default avatarMinwoo Im <minwoo.im.dev@gmail.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      91f6d798
    • Christoph Hellwig's avatar
      nvme-pci: limit max_hw_sectors based on the DMA max mapping size · 7637de31
      Christoph Hellwig authored
      When running a NVMe device that is attached to a addressing
      challenged PCIe root port that requires bounce buffering, our
      request sizes can easily overflow the swiotlb bounce buffer
      size.  Limit the maximum I/O size to the limit exposed by
      the DMA mapping subsystem.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reported-by: default avatarAtish Patra <Atish.Patra@wdc.com>
      Tested-by: default avatarAtish Patra <Atish.Patra@wdc.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      7637de31
    • Alan Mikhak's avatar
      nvme-pci: check for NULL return from pci_alloc_p2pmem() · bfac8e9f
      Alan Mikhak authored
      Modify nvme_alloc_sq_cmds() to call pci_free_p2pmem() to free the memory
      it allocated using pci_alloc_p2pmem() in case pci_p2pmem_virt_to_bus()
      returns null.
      
      Makes sure not to call pci_free_p2pmem() if pci_alloc_p2pmem() returned
      NULL, which can happen if CONFIG_PCI_P2PDMA is not configured.
      
      The current implementation is not expected to leak since
      pci_p2pmem_virt_to_bus() is expected to fail only if pci_alloc_p2pmem()
      returns null. However, checking the return value of pci_alloc_p2pmem()
      is more explicit.
      Signed-off-by: default avatarAlan Mikhak <alan.mikhak@sifive.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      bfac8e9f
    • Alan Mikhak's avatar
      nvme-pci: don't create a read hctx mapping without read queues · 0298d543
      Alan Mikhak authored
      Only request an IRQ mapping for read queues if at least one read queue
      is being allocted, as nvme_pci_map_queues() will later on ignore the
      unnecessary mapping request should nvme_dev_add() request such an IRQ
      mapping even though no read queues are being allocated.  However,
      nvme_dev_add() can avoid making the request by checking the number of
      read queues without assuming. This would bring it more in line with
      nvme_setup_irqs() and nvme_calc_irq_sets().
      Signed-off-by: default avatarAlan Mikhak <alan.mikhak@sifive.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      0298d543
    • Christoph Hellwig's avatar
      nvme-pci: don't fall back to a 32-bit DMA mask · 4fe06923
      Christoph Hellwig authored
      Since Linux 5.0 drivers can safely set the largest DMA mask supported
      by the device, and don't need fallbacks to work around the dma mapping
      implementations.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      4fe06923
    • YueHaibing's avatar
      nvme-pci: make nvme_dev_pm_ops static · 21774222
      YueHaibing authored
      Fix sparse warning:
      
      drivers/nvme/host/pci.c:2926:25: warning:
       symbol 'nvme_dev_pm_ops' was not declared. Should it be static?
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Reviewed-by: default avatarMinwoo Im <minwoo.im.dev@gmail.com>
      Reviewed-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      21774222
    • James Smart's avatar
      nvme-fcloop: resolve warnings on RCU usage and sleep warnings · e0620bf8
      James Smart authored
      With additional debugging enabled, seeing warnings for suspicious RCU
      usage or Sleeping function called from invalid context.
      
      These both map to allocation of a work structure which is currently
      GFP_KERNEL, meaning it can sleep. For the RCU warning, the sequence was
      sleeping while holding the RCU lock.
      
      Convert the allocation to GFP_ATOMIC.
      Signed-off-by: default avatarJames Smart <jsmart2021@gmail.com>
      Reviewed-by: default avatarMinwoo Im <minwoo.im.dev@gmail.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      e0620bf8
    • James Smart's avatar
      nvme-fcloop: fix inconsistent lock state warnings · c38dbbfa
      James Smart authored
      With extra debug on, inconsistent lock state warnings are being called
      out as the tfcp_req->reqlock is being taken out without irq, while some
      calling sequences have the sequence in a softirq state.
      
      Change the lock taking/release to raise/drop irq.
      Signed-off-by: default avatarJames Smart <jsmart2021@gmail.com>
      Reviewed-by: default avatarMinwoo Im <minwoo.im.dev@gmail.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      c38dbbfa
    • Linus Torvalds's avatar
      Merge tag 'for-5.3/libata-20190708' of git://git.kernel.dk/linux-block · cdc5ffc4
      Linus Torvalds authored
      Pull libata updates from Jens Axboe:
       "These are the changes that are reviewed, tested, and queued up for
        this merge window. This contains:
      
         - Removal of redundant memset after dmam_alloc_coherent (Fuqian)
      
         - Expand blacklist check for ST1000LM024, making it independent of
           firmware version (Hans)
      
         - Request sense fix (Tejun)
      
         - ahci_sunxi FIFO fix (Uenal)"
      
      * tag 'for-5.3/libata-20190708' of git://git.kernel.dk/linux-block:
        drivers: ata: ahci_sunxi: Increased SATA/AHCI DMA TX/RX FIFOs
        libata: Drop firmware version check from the ST1000LM024 quirk
        ata: sata_sil24: Remove call to memset after dmam_alloc_coherent
        ata:sata_qstor: Remove call to memset after dmam_alloc_coherent
        ata: sata_nv: Remove call to memset after dmam_alloc_coherent
        ata: pdc_adma: Remove call to memset after dmam_alloc_coherent
        ata: libahci: Remove call to memset after dmam_alloc_coherent
        ata: acard-ahci: Remove call to memset after dmam_alloc_coherent
        libata: don't request sense data on !ZAC ATA devices
      cdc5ffc4
    • Linus Torvalds's avatar
      Merge tag 'for-5.3/block-20190708' of git://git.kernel.dk/linux-block · 3b99107f
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
       "This is the main block updates for 5.3. Nothing earth shattering or
        major in here, just fixes, additions, and improvements all over the
        map. This contains:
      
         - Series of documentation fixes (Bart)
      
         - Optimization of the blk-mq ctx get/put (Bart)
      
         - null_blk removal race condition fix (Bob)
      
         - req/bio_op() cleanups (Chaitanya)
      
         - Series cleaning up the segment accounting, and request/bio mapping
           (Christoph)
      
         - Series cleaning up the page getting/putting for bios (Christoph)
      
         - block cgroup cleanups and moving it to where it is used (Christoph)
      
         - block cgroup fixes (Tejun)
      
         - Series of fixes and improvements to bcache, most notably a write
           deadlock fix (Coly)
      
         - blk-iolatency STS_AGAIN and accounting fixes (Dennis)
      
         - Series of improvements and fixes to BFQ (Douglas, Paolo)
      
         - debugfs_create() return value check removal for drbd (Greg)
      
         - Use struct_size(), where appropriate (Gustavo)
      
         - Two lighnvm fixes (Heiner, Geert)
      
         - MD fixes, including a read balance and corruption fix (Guoqing,
           Marcos, Xiao, Yufen)
      
         - block opal shadow mbr additions (Jonas, Revanth)
      
         - sbitmap compare-and-exhange improvemnts (Pavel)
      
         - Fix for potential bio->bi_size overflow (Ming)
      
         - NVMe pull requests:
             - improved PCIe suspent support (Keith Busch)
             - error injection support for the admin queue (Akinobu Mita)
             - Fibre Channel discovery improvements (James Smart)
             - tracing improvements including nvmetc tracing support (Minwoo Im)
             - misc fixes and cleanups (Anton Eidelman, Minwoo Im, Chaitanya
               Kulkarni)"
      
         - Various little fixes and improvements to drivers and core"
      
      * tag 'for-5.3/block-20190708' of git://git.kernel.dk/linux-block: (153 commits)
        blk-iolatency: fix STS_AGAIN handling
        block: nr_phys_segments needs to be zero for REQ_OP_WRITE_ZEROES
        blk-mq: simplify blk_mq_make_request()
        blk-mq: remove blk_mq_put_ctx()
        sbitmap: Replace cmpxchg with xchg
        block: fix .bi_size overflow
        block: sed-opal: check size of shadow mbr
        block: sed-opal: ioctl for writing to shadow mbr
        block: sed-opal: add ioctl for done-mark of shadow mbr
        block: never take page references for ITER_BVEC
        direct-io: use bio_release_pages in dio_bio_complete
        block_dev: use bio_release_pages in bio_unmap_user
        block_dev: use bio_release_pages in blkdev_bio_end_io
        iomap: use bio_release_pages in iomap_dio_bio_end_io
        block: use bio_release_pages in bio_map_user_iov
        block: use bio_release_pages in bio_unmap_user
        block: optionally mark pages dirty in bio_release_pages
        block: move the BIO_NO_PAGE_REF check into bio_release_pages
        block: skd_main.c: Remove call to memset after dma_alloc_coherent
        block: mtip32xx: Remove call to memset after dma_alloc_coherent
        ...
      3b99107f
    • Linus Torvalds's avatar
      Merge tag 'devprop-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 0415052d
      Linus Torvalds authored
      Pull device properties framework updates from Rafael Wysocki:
       "These add helpers for counting items in a property array and extend
        the "software nodes" support to be more convenient for representing
        device properties supplied by drivers and make the intel_cht_int33fe
        driver use that.
      
        Specifics:
      
         - Add helpers to count items in a property array (Andy Shevchenko).
      
         - Extend "software nodes" support to be more convenient for
           representing device properties supplied by drivers (Heikki
           Krogerus).
      
         - Add device_find_child_by_name() helper to the driver core (Heikki
           Krogerus).
      
         - Extend device connection code to also look for references provided
           via fwnode pointers (Heikki Krogerus).
      
         - Start to register proper struct device objects for USB Type-C muxes
           and orientation switches (Heikki Krogerus).
      
         - Update the intel_cht_int33fe driver to describe devices in a more
           general way with the help of "software nodes" (Heikki Krogerus)"
      
      * tag 'devprop-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        device property: Add helpers to count items in an array
        platform/x86: intel_cht_int33fe: Replacing the old connections with references
        platform/x86: intel_cht_int33fe: Supply fwnodes for the external dependencies
        platform/x86: intel_cht_int33fe: Provide fwnode for the USB connector
        platform/x86: intel_cht_int33fe: Provide software nodes for the devices
        platform/x86: intel_cht_int33fe: Remove unused fusb302 device property
        platform/x86: intel_cht_int33fe: Register max17047 in its own function
        usb: typec: Registering real device entries for the muxes
        device connection: Find connections also by checking the references
        device property: Introduce fwnode_find_reference()
        ACPI / property: Don't limit named child node matching to data nodes
        driver core: Add helper device_find_child_by_name()
        software node: Add software_node_get_reference_args()
        software node: Use kobject name when finding child nodes by name
        software node: Add support for static node descriptors
        software node: Simplify software_node_release() function
        software node: Allow node creation without properties
      0415052d
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 4b470452
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These update the ACPICA code in the kernel to upstream revision
        20190703, fix up the handling of GPEs in ACPICA, allow some more ACPI
        code to be built on ARM64 platforms, allow BGRT to be overridden, fix
        minor issues and clean up assorted pieces of ACPI code.
      
        Specifics:
      
         - Update the ACPICA code in the kernel to upstream revision 20190703
           including:
             - Initial/default namespace creation simplification (Bob Moore).
             - Object initialization sequence update (Bob Moore).
             - Removal of legacy module-level (dead) code (Erik Schmauss).
             - Table load object initialization update (Erik Schmauss,
               Nikolaus Voss).
      
         - Fix GPE enabling issue in ACPICA causing premature wakeups from
           suspend-to-idle to occur (Rafael Wysocki).
      
         - Allow ACPI AC and battery drivers to be built on non-X86 (Ard
           Biesheuvel).
      
         - Fix address space handler removal in the ACPI PMIC driver for Intel
           platforms (Andy Shevchenko).
      
         - Allow BGRT to be overridden via initrd or configfs (Andrea
           Oliveri).
      
         - Fix object resolution on table loads via configfs (Nikolaus Voss).
      
         - Clean up assorted pieces of ACPI code and tools (Colin Ian King,
           Liguang Zhang, Masahiro Yamada).
      
         - Fix documentation build warning, convert the extcon document to
           ReST and add it to the ACPI documentation (Mauro Carvalho Chehab,
           Qian Cai)"
      
      * tag 'acpi-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / APEI: Remove needless __ghes_check_estatus() calls
        ACPICA: Update version to 20190703
        ACPICA: Update table load object initialization
        ACPICA: Update for object initialization sequence
        ACPICA: remove legacy module-level code due to deprecation
        ACPICA: Namespace: simplify creation of the initial/default namespace
        ACPI / PMIC: intel: Drop double removal of address space handler
        ACPI: APD: remove redundant assignment to pointer clk
        docs: extcon: convert it to ReST and move to ACPI dir
        ACPI: Make AC and battery drivers available on !X86
        ACPICA: Clear status of GPEs on first direct enable
        ACPI: configfs: Resolve objects on host-directed table loads
        ACPI: tables: Allow BGRT to be overridden
        ACPI: OSL: Make a W=1 kernel-doc warning go away
        ACPI: tools: Exclude tools/* from .gitignore patterns
      4b470452