1. 30 7月, 2018 1 次提交
  2. 23 7月, 2018 2 次提交
  3. 22 6月, 2018 1 次提交
    • J
      nvme-pci: limit max IO size and segments to avoid high order allocations · 943e942e
      Jens Axboe 提交于
      nvme requires an sg table allocation for each request. If the request
      is large, then the allocation can become quite large. For instance,
      with our default software settings of 1280KB IO size, we'll need
      10248 bytes of sg table. That turns into a 2nd order allocation,
      which we can't always guarantee. If we fail the allocation, blk-mq
      will retry it later. But there's no guarantee that we'll EVER be
      able to allocate that much contigious memory.
      
      Limit the IO size such that we never need more than a single page
      of memory. That's a lot faster and more reliable. Then back that
      allocation with a mempool, so that we know we'll always be able
      to succeed the allocation at some point.
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      Acked-by: NKeith Busch <keith.busch@intel.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      943e942e
  4. 14 6月, 2018 1 次提交
  5. 13 6月, 2018 1 次提交
  6. 11 6月, 2018 1 次提交
  7. 09 6月, 2018 1 次提交
  8. 01 6月, 2018 4 次提交
  9. 31 5月, 2018 1 次提交
  10. 30 5月, 2018 1 次提交
  11. 25 5月, 2018 2 次提交
  12. 23 5月, 2018 1 次提交
  13. 19 5月, 2018 1 次提交
  14. 16 5月, 2018 1 次提交
  15. 12 5月, 2018 1 次提交
  16. 07 5月, 2018 1 次提交
    • J
      nvme: fix use-after-free in nvme_free_ns_head · 12d9f070
      Jianchao Wang 提交于
      Currently only nvme_ctrl will take a reference counter of
      nvme_subsystem, nvme_ns_head also needs it. Otherwise
      nvme_free_ns_head will access the nvme_subsystem.ns_ida
      which has been freed by __nvme_release_subsystem after all the
      reference of nvme_subsystem have been released by nvme_free_ctrl.
      This could cause memory corruption.
      
       BUG: KASAN: use-after-free in radix_tree_next_chunk+0x9f/0x4b0
       Read of size 8 at addr ffff88036494d2e8 by task fio/1815
      
       CPU: 1 PID: 1815 Comm: fio Kdump: loaded Tainted: G        W         4.17.0-rc1+ #18
       Hardware name: LENOVO 10MLS0E339/3106, BIOS M1AKT22A 06/27/2017
       Call Trace:
        dump_stack+0x91/0xeb
        print_address_description+0x6b/0x290
        kasan_report+0x261/0x360
        radix_tree_next_chunk+0x9f/0x4b0
        ida_remove+0x8b/0x180
        ida_simple_remove+0x26/0x40
        nvme_free_ns_head+0x58/0xc0
        __blkdev_put+0x30a/0x3a0
        blkdev_close+0x44/0x50
        __fput+0x184/0x380
        task_work_run+0xaf/0xe0
        do_exit+0x501/0x1440
        do_group_exit+0x89/0x140
        __x64_sys_exit_group+0x28/0x30
        do_syscall_64+0x72/0x230
      Signed-off-by: NJianchao Wang <jianchao.w.wang@oracle.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NKeith Busch <keith.busch@intel.com>
      12d9f070
  17. 03 5月, 2018 3 次提交
  18. 12 4月, 2018 5 次提交
  19. 30 3月, 2018 2 次提交
  20. 26 3月, 2018 9 次提交