1. 15 Feb, 2021 2 commits
  2. 11 Feb, 2021 3 commits
    • Jens Axboe's avatar
      Merge tag 'nvme-5.12-2021-02-11' of git://git.infradead.org/nvme into for-5.12/drivers · 65fb1b0d
      Jens Axboe authored
      Pull NVMe updates from Christoph:
      
      "nvme updates for 5.12:
      
       - fix multipath handling of ->queue_rq errors (Chao Leng)
       - nvmet cleanups (Chaitanya Kulkarni)
       - add a quirk for buggy Amazon controller (Filippo Sironi)
       - avoid devm allocations in nvme-hwmon that don't interact well with
         fabrics (Hannes Reinecke)
       - sysfs cleanups (Jiapeng Chong)
       - fix nr_zones for multipath (Keith Busch)
       - nvme-tcp crash fix for no-data commands (Sagi Grimberg)
       - nvmet-tcp fixes (Sagi Grimberg)
       - add a missing __rcu annotation (me)"
      
      * tag 'nvme-5.12-2021-02-11' of git://git.infradead.org/nvme: (22 commits)
        nvme-tcp: fix crash triggered with a dataless request submission
        nvme: add 48-bit DMA address quirk for Amazon NVMe controllers
        nvme-hwmon: rework to avoid devm allocation
        nvmet: remove else at the end of the function
        nvmet: add nvmet_req_subsys() helper
        nvmet: use min of device_path and disk len
        nvmet: use invalid cmd opcode helper
        nvmet: use invalid cmd opcode helper
        nvmet: add helper to report invalid opcode
        nvmet: remove extra variable in id-ns handler
        nvmet: make nvmet_find_namespace() req based
        nvmet: return uniform error for invalid ns
        nvmet: set status to 0 in case for invalid nsid
        nvmet-fc: add a missing __rcu annotation to nvmet_fc_tgt_assoc.queues
        nvme-multipath: set nr_zones for zoned namespaces
        nvmet-tcp: fix potential race of tcp socket closing accept_work
        nvmet-tcp: fix receive data digest calculation for multiple h2cdata PDUs
        nvme-rdma: handle nvme_rdma_post_send failures better
        nvme-fabrics: avoid double completions in nvmf_fail_nonready_command
        nvme: introduce a nvme_host_path_error helper
        ...
      65fb1b0d
    • Sagi Grimberg's avatar
      nvme-tcp: fix crash triggered with a dataless request submission · e11e5116
      Sagi Grimberg authored
      write-zeros has a bio, but does not have any data buffers associated
      with it. Hence should not initialize the request iter for it (which
      attempts to reference the bi_io_vec (and crash).
      --
       run blktests nvme/012 at 2021-02-05 21:53:34
       BUG: kernel NULL pointer dereference, address: 0000000000000008
       #PF: supervisor read access in kernel mode
       #PF: error_code(0x0000) - not-present page
       PGD 0 P4D 0
       Oops: 0000 [#1] SMP NOPTI
       CPU: 15 PID: 12069 Comm: kworker/15:2H Tainted: G S        I       5.11.0-rc6+ #1
       Hardware name: Dell Inc. PowerEdge R640/06NR82, BIOS 2.10.0 11/12/2020
       Workqueue: kblockd blk_mq_run_work_fn
       RIP: 0010:nvme_tcp_init_iter+0x7d/0xd0 [nvme_tcp]
       RSP: 0018:ffffbd084447bd18 EFLAGS: 00010246
       RAX: 0000000000000000 RBX: ffffa0bba9f3ce80 RCX: 0000000000000000
       RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000002000000
       RBP: ffffa0ba8ac6fec0 R08: 0000000002000000 R09: 0000000000000000
       R10: 0000000002800809 R11: 0000000000000000 R12: 0000000000000000
       R13: ffffa0bba9f3cf90 R14: 0000000000000000 R15: 0000000000000000
       FS:  0000000000000000(0000) GS:ffffa0c9ff9c0000(0000) knlGS:0000000000000000
       CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
       CR2: 0000000000000008 CR3: 00000001c9c6c005 CR4: 00000000007706e0
       DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
       DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
       PKRU: 55555554
       Call Trace:
        nvme_tcp_queue_rq+0xef/0x330 [nvme_tcp]
        blk_mq_dispatch_rq_list+0x11c/0x7c0
        ? blk_mq_flush_busy_ctxs+0xf6/0x110
        __blk_mq_sched_dispatch_requests+0x12b/0x170
        blk_mq_sched_dispatch_requests+0x30/0x60
        __blk_mq_run_hw_queue+0x2b/0x60
        process_one_work+0x1cb/0x360
        ? process_one_work+0x360/0x360
        worker_thread+0x30/0x370
        ? process_one_work+0x360/0x360
        kthread+0x116/0x130
        ? kthread_park+0x80/0x80
        ret_from_fork+0x1f/0x30
      --
      
      Fixes: cb9b870f ("nvme-tcp: fix wrong setting of request iov_iter")
      Reported-by: default avatarYi Zhang <yi.zhang@redhat.com>
      Signed-off-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Reviewed-by: default avatarKeith Busch <kbusch@kernel.org>
      Reviewed-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
      Tested-by: default avatarYi Zhang <yi.zhang@redhat.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      e11e5116
    • Kees Cook's avatar
      block: Replace lkml.org links with lore · 59788683
      Kees Cook authored
      As started by commit 05a5f51c ("Documentation: Replace lkml.org
      links with lore"), replace lkml.org links with lore to better use a
      single source that's more likely to stay available long-term.
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      59788683
  3. 10 Feb, 2021 28 commits
  4. 04 Feb, 2021 5 commits
  5. 02 Feb, 2021 2 commits
    • Jens Axboe's avatar
      Merge tag 'nvme-5.21-2020-02-02' of git://git.infradead.org/nvme into for-5.12/drivers · 0d738971
      Jens Axboe authored
      Pull NVMe updates from Christoph:
      
      "nvme updates for 5.12:
      
       - failed reconnect fixes (Chao Leng)
       - various tracing improvements (Michal Krakowiak, Johannes Thumshirn)
       - switch the nvmet-fc assoc_list to use RCU protection (Leonid Ravich)
       - resync the status codes with the latest spec (Max Gurtovoy)
       - minor nvme-tcp improvements (Sagi Grimberg)
       - various cleanups (Rikard Falkeborn, Minwoo Im, Chaitanya Kulkarni,
         Israel Rukshin)"
      
      * tag 'nvme-5.21-2020-02-02' of git://git.infradead.org/nvme: (22 commits)
        nvme-tcp: use cancel tagset helper for tear down
        nvme-rdma: use cancel tagset helper for tear down
        nvme-tcp: add clean action for failed reconnection
        nvme-rdma: add clean action for failed reconnection
        nvme-core: add cancel tagset helpers
        nvme-core: get rid of the extra space
        nvme: add tracing of zns commands
        nvme: parse format nvm command details when tracing
        nvme: update enumerations for status codes
        nvmet: add lba to sect conversion helpers
        nvmet: remove extra variable in identify ns
        nvmet: remove extra variable in id-desclist
        nvmet: remove extra variable in smart log nsid
        nvme: refactor ns->ctrl by request
        nvme-tcp: pass multipage bvec to request iov_iter
        nvme-tcp: get rid of unused helper function
        nvme-tcp: fix wrong setting of request iov_iter
        nvme: support command retry delay for admin command
        nvme: constify static attribute_group structs
        nvmet-fc: use RCU proctection for assoc_list
        ...
      0d738971
    • Chao Leng's avatar
      nvme-tcp: use cancel tagset helper for tear down · 563c8158
      Chao Leng authored
      Use nvme_cancel_tagset and nvme_cancel_admin_tagset to clean code for
      tear down process.
      Signed-off-by: default avatarChao Leng <lengchao@huawei.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      563c8158