Skip to content
Permalink
Dmitry-Osipenk…
Switch branches/tags

Commits on Aug 17, 2021

  1. partitions/efi: Support NVIDIA Tegra devices

    NVIDIA Tegra consumer devices have EMMC storage that has GPT entry at a
    non-standard location. Support looking up GPT entry at a special sector
    to enable such devices.
    
    Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
    digetx authored and intel-lab-lkp committed Aug 17, 2021
  2. mmc: block: Add mmc_bdev_to_card() helper

    Add mmc_bdev_to_card() helper which is needed for checking EMMC
    parameters by partition table parser in order to find EFI entry
    on NVIDIA Tegra devices.
    
    Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
    digetx authored and intel-lab-lkp committed Aug 17, 2021
  3. mmc: core: Add raw_boot_mult field to mmc_ext_csd

    Bootloader of NVIDIA Tegra devices linearizes the boot0/boot1/main
    partitions into a single virtual space, and thus, all partition addresses
    are shifted by the size of boot0 + boot1 partitions.  The offset needs to
    be known in order to find the EFI entry on EMMC storage of Tegra devices.
    
    Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
    digetx authored and intel-lab-lkp committed Aug 17, 2021

Commits on Aug 16, 2021

  1. Merge branch 'for-5.15/io_uring' into for-next

    * for-5.15/io_uring:
      io_uring: optimise io_prep_linked_timeout()
      io_uring: cancel not-armed linked touts separately
      io_uring: simplify io_prep_linked_timeout
      io_uring: kill REQ_F_LTIMEOUT_ACTIVE
      io_uring: deduplicate cancellation code
      io_uring: kill not necessary resubmit switch
      io_uring: optimise initial ltimeout refcounting
      io_uring: don't inflight-track linked timeouts
      io_uring: optimise iowq refcounting
    axboe committed Aug 16, 2021
  2. Merge branch 'for-5.15/block' into for-next

    * for-5.15/block:
      block: unexport blk_register_queue
      blk-cgroup: stop using seq_get_buf
      blk-cgroup: refactor blkcg_print_stat
      nvme: use bvec_virt
      dcssblk: use bvec_virt
      dasd: use bvec_virt
      ps3vram: use bvec_virt
      ubd: use bvec_virt
      sd: use bvec_virt
      bcache: use bvec_virt
      virtio_blk: use bvec_virt
      rbd: use bvec_virt
      squashfs: use bvec_virt
      dm-integrity: use bvec_virt
      dm-ebs: use bvec_virt
      dm: make EBS depend on !HIGHMEM
      block: use bvec_virt in bio_integrity_{process,free}
      bvec: add a bvec_virt helper
      block: ensure the bdi is freed after inode_detach_wb
      block: free the extended dev_t minor later
    axboe committed Aug 16, 2021
  3. Merge branch 'for-5.15/libata' into for-next

    * for-5.15/libata:
      ata: sata_dwc_460ex: No need to call phy_exit() befre phy_init()
    axboe committed Aug 16, 2021
  4. io_uring: optimise io_prep_linked_timeout()

    Linked timeout handling during issuing is heavy, it adds extra
    instructions and forces to save the next linked timeout before
    io_issue_sqe().
    
    Follwing the same reasoning as in refcounting patches, a request can't
    be freed by the time it returns from io_issue_sqe(), so now we don't
    need to do io_prep_linked_timeout() in advance, and it can be delayed to
    colder paths optimising the generic path.
    
    Also, it should also save quite a lot for requests with linked timeouts
    and completed inline on timeout spinlocking + hrtimer_start() +
    hrtimer_try_to_cancel() and so on.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/19bfc9a0d26c5c5f1e359f7650afe807ca8ef879.1628981736.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    isilence authored and axboe committed Aug 16, 2021
  5. block: unexport blk_register_queue

    Not actually used in any modular code.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210816123649.601591-1-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  6. blk-cgroup: stop using seq_get_buf

    seq_get_buf is a crutch that undoes all the memory safety of the
    seq_file interface.  Use the normal seq_printf interfaces instead.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Tejun Heo <tj@kernel.org>
    Link: https://lore.kernel.org/r/20210810152623.1796144-2-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  7. blk-cgroup: refactor blkcg_print_stat

    Factor out a helper to deal with a single blkcg_gq to make the code a
    little bit easier to follow.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Tejun Heo <tj@kernel.org>
    Link: https://lore.kernel.org/r/20210810152623.1796144-1-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  8. nvme: use bvec_virt

    Use bvec_virt instead of open coding it.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Keith Busch <kbusch@kernel.org>
    Link: https://lore.kernel.org/r/20210804095634.460779-16-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  9. dcssblk: use bvec_virt

    Use bvec_virt instead of open coding it.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210804095634.460779-15-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  10. dasd: use bvec_virt

    Use bvec_virt instead of open coding it.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Stefan Haberland <sth@linux.ibm.com>
    Link: https://lore.kernel.org/r/20210804095634.460779-14-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  11. ps3vram: use bvec_virt

    Use bvec_virt instead of open coding it.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210804095634.460779-13-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  12. ubd: use bvec_virt

    Use bvec_virt instead of open coding it.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-By: Anton Ivanov <anton.ivanov@cambridgegreys.com>
    Link: https://lore.kernel.org/r/20210804095634.460779-12-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  13. sd: use bvec_virt

    Use bvec_virt instead of open coding it.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
    Link: https://lore.kernel.org/r/20210804095634.460779-11-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  14. bcache: use bvec_virt

    Use bvec_virt instead of open coding it.  Note that the existing code is
    fine despite ignoring bv_offset as the bio is known to contain exactly
    one page from the page allocator per bio_vec.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Coly Li <colyli@suse.de>
    Link: https://lore.kernel.org/r/20210804095634.460779-10-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  15. virtio_blk: use bvec_virt

    Use bvec_virt instead of open coding it.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
    Link: https://lore.kernel.org/r/20210804095634.460779-9-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  16. rbd: use bvec_virt

    Use bvec_virt instead of open coding it.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Jeff Layton <jlayton@kernel.org>
    Link: https://lore.kernel.org/r/20210804095634.460779-8-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  17. squashfs: use bvec_virt

    Use bvec_virt instead of open coding it.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210804095634.460779-7-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  18. dm-integrity: use bvec_virt

    Use bvec_virt instead of open coding it.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210804095634.460779-6-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  19. dm-ebs: use bvec_virt

    Use bvec_virt instead of open coding it.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210804095634.460779-5-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  20. dm: make EBS depend on !HIGHMEM

    __ebs_rw_bvec use page_address on the submitted bios data, and thus
    can't deal with highmem.  Disable the target on highmem configs.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210804095634.460779-4-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  21. block: use bvec_virt in bio_integrity_{process,free}

    Use the bvec_virt helper to clean up the bio integrity processing a
    little bit.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Chaitanya Kulkarni <kch@kernel.org>
    Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
    Link: https://lore.kernel.org/r/20210804095634.460779-3-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  22. bvec: add a bvec_virt helper

    Add a helper to get the virtual address for a bvec.  This avoids that
    all callers need to know about the page + offset representation.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Chaitanya Kulkarni <kch@kernel.org>
    Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
    Link: https://lore.kernel.org/r/20210804095634.460779-2-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  23. block: ensure the bdi is freed after inode_detach_wb

    inode_detach_wb references the "main" bdi of the inode.  With the
    recent change to move the bdi from the request_queue to the gendisk
    this causes a guaranteed use after free when using certain cgroup
    configurations.  The big itself is older through as any non-default
    inode reference (e.g. an open file descriptor) could have injected
    this use after free even before that.
    
    Fixes: 52ebea7 ("writeback: make backing_dev_info host cgroup-specific bdi_writebacks")
    Reported-by: Qian Cai <quic_qiancai@quicinc.com>
    Reported-by: syzbot <syzbot+1fb38bb7d3ce0fa3e1c4@syzkaller.appspotmail.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210816122614.601358-3-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021
  24. block: free the extended dev_t minor later

    The dev_t is used as the inode hash, so we should only released it
    once then block device inode is gone from the inode cache.  Move it
    to bdev_free_inode to ensure that.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210816122614.601358-2-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Aug 16, 2021

Commits on Aug 15, 2021

  1. io_uring: cancel not-armed linked touts separately

    Adjust io_disarm_next(), so it can detect if there is a linked but
    not-yet-armed timeout and complete/cancel it separately. Will be used in
    the following patch.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/ae228cde2c0df3d92d29d5e4852ed9fa8a2a97db.1628981736.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    isilence authored and axboe committed Aug 15, 2021
  2. io_uring: simplify io_prep_linked_timeout

    The link test in io_prep_linked_timeout() is pretty bulky, replace it
    with a flag. It's better for normal path and linked requests, and also
    will be used further for request failing.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/3703770bfae8bc1ff370e43ef5767940202cab42.1628981736.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    isilence authored and axboe committed Aug 15, 2021
  3. io_uring: kill REQ_F_LTIMEOUT_ACTIVE

    Instead of handling double consecutive linked timeouts through tricky
    flag combinations, just check the submit_state.link during timeout_prep
    and fail that case in advance.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/04150760b0dc739522264b8abd309409f7421a06.1628981736.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    isilence authored and axboe committed Aug 15, 2021
  4. io_uring: deduplicate cancellation code

    IORING_OP_ASYNC_CANCEL and IORING_OP_LINK_TIMEOUT have enough of
    overlap, so extract a helper for request cancellation and use in both.
    Also, removes some amount of ugliness because of success_ret.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/900122b588e65b637e71bfec80a260726c6a54d6.1628981736.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    isilence authored and axboe committed Aug 15, 2021
  5. io_uring: kill not necessary resubmit switch

    773af69 ("io_uring: always reissue from task_work context") makes
    all resubmission to be made from task_work, so we don't need that hack
    with resubmit/not-resubmit switch anymore.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/47fa177cca04e5ffd308a35227966c8e15d8525b.1628981736.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    isilence authored and axboe committed Aug 15, 2021
  6. io_uring: optimise initial ltimeout refcounting

    Linked timeouts are never refcounted when it comes to the first call to
    __io_prep_linked_timeout(), so save an io_ref_get() and set the desired
    value directly.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/177b24cc62ffbb42d915d6eb9e8876266e4c0d5a.1628981736.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    isilence authored and axboe committed Aug 15, 2021
  7. io_uring: don't inflight-track linked timeouts

    Tracking linked timeouts as infligh was needed to make sure that io-wq
    is not destroyed by io_uring_cancel_generic() racing with
    io_async_cancel_one() accessing it. Now, cancellations issued by linked
    timeouts are done in the task context, so it's already synchronised.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/e1b05cf47cb69df2305efdbee8cf7ba36f46c1a3.1628981736.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    isilence authored and axboe committed Aug 15, 2021
  8. io_uring: optimise iowq refcounting

    If a requests is forwarded into io-wq, there is a good chance it hasn't
    been refcounted yet and we can save one req_ref_get() by setting the
    refcount number to the right value directly.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/2d53f4449faaf73b4a4c5de667fc3c176d974860.1628981736.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    isilence authored and axboe committed Aug 15, 2021
Older