aboutsummaryrefslogtreecommitdiffstats
path: root/io_uring/rsrc.c
AgeCommit message (Expand)AuthorFilesLines
2025-11-13Merge branch 'io_uring-6.18' into for-6.19/io_uringJens Axboe1-9/+18
2025-11-12io_uring/rsrc: don't use blk_rq_nr_phys_segments() as number of bvecsCaleb Sander Mateos1-7/+9
2025-11-07io_uring: fix regbuf vector size truncationPavel Begunkov1-2/+9
2025-11-06io_uring/rsrc: refactor io_{un}account_mem() to take {user,mm}_struct paramDavid Wei1-12/+14
2025-11-03io_uring/rsrc: use get/put_user() for integer copyJens Axboe1-2/+2
2025-09-08io_uring/rsrc: respect submitter_task in io_register_clone_buffers()Caleb Sander Mateos1-0/+7
2025-09-08io_uring: don't include filetable.h in io_uring.hCaleb Sander Mateos1-0/+1
2025-07-16io_uring: export io_[un]account_memPavel Begunkov1-2/+2
2025-07-06Merge branch 'io_uring-6.16' into for-6.17/io_uringJens Axboe1-8/+22
2025-07-02io_uring/rsrc: skip atomic refcount for uncloned buffersCaleb Sander Mateos1-2/+4
2025-06-24io_uring: don't assume uaddr alignment in io_vec_fill_bvecPavel Begunkov1-3/+7
2025-06-24io_uring/rsrc: don't rely on user vaddr alignmentPavel Begunkov1-1/+6
2025-06-24io_uring/rsrc: fix folio unpinningPavel Begunkov1-4/+9
2025-06-18io_uring: fix potential page leak in io_sqe_buffer_register()Penglei Jiang1-3/+3
2025-06-15io_uring/rsrc: validate buffer count with offset for cloningJens Axboe1-0/+2
2025-05-21io_uring: finish IOU_OK -> IOU_COMPLETE transitionJens Axboe1-1/+1
2025-05-02io_uring/zcrx: improve area validationPavel Begunkov1-12/+15
2025-04-21io_uring/rsrc: remove null check on importPavel Begunkov1-2/+0
2025-04-21io_uring/rsrc: clean up io_coalesce_buffer()Pavel Begunkov1-25/+22
2025-04-21io_uring/rsrc: use unpin_user_folioPavel Begunkov1-3/+2
2025-04-21io_uring/rsrc: remove node assignment helpersJens Axboe1-3/+9
2025-04-17io_uring/rsrc: ensure segments counts are correct on kbuf buffersJens Axboe1-5/+22
2025-04-17io_uring/rsrc: send exact nr_segs for fixed bufferNitesh Shetty1-3/+4
2025-04-17io_uring/rsrc: refactor io_import_fixedPavel Begunkov1-17/+7
2025-04-17io_uring/rsrc: separate kbuf offset adjustmentsPavel Begunkov1-12/+7
2025-04-17io_uring/rsrc: don't skip offset calculationPavel Begunkov1-38/+37
2025-04-04io_uring: don't post tag CQEs on file/buffer registration failurePavel Begunkov1-1/+16
2025-04-02io_uring: support vectored kernel fixed bufferMing Lei1-3/+88
2025-04-02io_uring: add validate_fixed_range() for validate fixed bufferMing Lei1-11/+22
2025-03-31io_uring/rsrc: check size when importing reg bufferPavel Begunkov1-0/+2
2025-03-28Merge tag 'for-6.15/io_uring-reg-vec-20250327' of git://git.kernel.dk/linuxLinus Torvalds1-0/+163
2025-03-28Merge tag 'for-6.15/io_uring-rx-zc-20250325' of git://git.kernel.dk/linuxLinus Torvalds1-1/+1
2025-03-10Revert "io_uring/rsrc: simplify the bvec iter count calculation"Keith Busch1-1/+3
2025-03-10io_uring: rely on io_prep_reg_vec for iovec placementPavel Begunkov1-4/+4
2025-03-10io_uring: introduce io_prep_reg_iovec()Pavel Begunkov1-0/+26
2025-03-07io_uring: add infra for importing vectored reg buffersPavel Begunkov1-0/+128
2025-03-07io_uring: introduce struct iou_vecPavel Begunkov1-0/+9
2025-03-07Merge branch 'for-6.15/io_uring-rx-zc' into for-6.15/io_uring-reg-vecJens Axboe1-1/+1
2025-03-05io_uring: introduce io_cache_free() helperCaleb Sander Mateos1-10/+5
2025-03-04io_uring/rsrc: skip NULL file/buffer checks in io_free_rsrc_node()Caleb Sander Mateos1-4/+2
2025-03-04io_uring/rsrc: avoid NULL node check on io_sqe_buffer_register() failureCaleb Sander Mateos1-2/+1
2025-03-04io_uring/rsrc: call io_free_node() on io_sqe_buffer_register() failureCaleb Sander Mateos1-2/+1
2025-03-04io_uring/rsrc: free io_rsrc_node using kfree()Caleb Sander Mateos1-1/+1
2025-03-04io_uring/rsrc: split out io_free_node() helperCaleb Sander Mateos1-2/+7
2025-02-28io_uring/rsrc: declare io_find_buf_node() in header fileCaleb Sander Mateos1-2/+2
2025-02-28io_uring/ublk: report error when unregister operation failsCaleb Sander Mateos1-4/+14
2025-02-28io_uring/rsrc: use rq_data_dir() to compute bvec dirCaleb Sander Mateos1-5/+1
2025-02-28io_uring: cache nodes and mapped buffersKeith Busch1-14/+57
2025-02-28io_uring: add support for kernel registered bvecsKeith Busch1-7/+116
2025-02-27io_uring: combine buffer lookup and importPavel Begunkov1-1/+30
2025-02-27io_uring/rsrc: remove redundant check for valid imuKeith Busch1-11/+8
2025-02-17io_uring/zcrx: add io_zcrx_areaDavid Wei1-1/+1
2025-01-21io_uring/rsrc: Move lockdep assert from io_free_rsrc_node() to callerJann Horn1-2/+0
2025-01-21io_uring/rsrc: remove unused parameter ctx for io_rsrc_node_alloc()Sidong Yang1-5/+5
2025-01-21io_uring: clean up io_uring_register_get_file()Pavel Begunkov1-2/+1
2025-01-21io_uring/rsrc: Simplify buffer cloning by locking both ringsJann Horn1-33/+40
2025-01-20Merge tag 'for-6.14/io_uring-20250119' of git://git.kernel.dk/linuxLinus Torvalds1-18/+22
2025-01-14io_uring/rsrc: require cloned buffers to share accounting contextsJann Horn1-0/+7
2025-01-14io_uring/rsrc: fixup io_clone_buffers() error handlingJens Axboe1-9/+1
2025-01-03io_uring/rsrc: simplify the bvec iter count calculationBui Quang Minh1-3/+1
2024-12-23io_uring: don't vmap single page regionsPavel Begunkov1-8/+5
2024-12-23io_uring/rsrc: export io_check_coalesce_bufferPavel Begunkov1-10/+12
2024-12-12io_uring/rsrc: don't put/free empty buffersJens Axboe1-2/+4
2024-11-07io_uring/rsrc: remove '->ctx_ptr' of 'struct io_rsrc_node'Ming Lei1-2/+2
2024-11-07io_uring/rsrc: pass 'struct io_ring_ctx' reference to rsrc helpersMing Lei1-13/+11
2024-11-06io_uring/rsrc: encode node type and ctx togetherJens Axboe1-6/+5
2024-11-02io_uring/rsrc: allow cloning with node replacementsJens Axboe1-14/+52
2024-11-02io_uring/rsrc: allow cloning at an offsetJens Axboe1-6/+26
2024-11-02io_uring/rsrc: get rid of the empty node and dummy_ubufJens Axboe1-27/+21
2024-11-02io_uring/rsrc: add io_reset_rsrc_node() helperJens Axboe1-9/+3
2024-11-02io_uring/rsrc: add io_rsrc_node_lookup() helperJens Axboe1-5/+7
2024-11-02io_uring/rsrc: unify file and buffer resource tablesJens Axboe1-144/+65
2024-11-02io_uring/rsrc: add an empty io_rsrc_node for sparse buffer entriesJens Axboe1-21/+28
2024-11-02io_uring/rsrc: get rid of io_rsrc_node allocation cacheJens Axboe1-12/+6
2024-11-02io_uring/rsrc: get rid of per-ring io_rsrc_node listJens Axboe1-303/+178
2024-10-29io_uring/rsrc: don't assign bvec twice in io_import_fixed()Jens Axboe1-2/+1
2024-10-16io_uring/rsrc: ignore dummy_ubuf for buffer cloningJens Axboe1-1/+2
2024-09-24Merge tag 'for-6.12/io_uring-20240922' of git://git.kernel.dk/linuxLinus Torvalds1-13/+10
2024-09-16Merge tag 'for-6.12/io_uring-20240913' of git://git.kernel.dk/linuxLinus Torvalds1-42/+203
2024-09-15io_uring/rsrc: change ubuf->ubuf_end to length trackingJens Axboe1-3/+3
2024-09-15io_uring/rsrc: get rid of io_mapped_ubuf->folio_maskJens Axboe1-6/+3
2024-09-14io_uring: rename "copy buffers" to "clone buffers"Jens Axboe1-4/+4
2024-09-12io_uring: add IORING_REGISTER_COPY_BUFFERS methodJens Axboe1-0/+91
2024-09-11io_uring/rsrc: add reference count to struct io_mapped_ubufJens Axboe1-0/+3
2024-09-11io_uring/rsrc: clear 'slot' entry upfrontJens Axboe1-1/+1
2024-08-30io_uring/rsrc: ensure compat iovecs are copied correctlyJens Axboe1-4/+15
2024-08-25io_uring/rsrc: enable multi-hugepage buffer coalescingChenliang Li1-32/+102
2024-08-25io_uring/rsrc: store folio shift and mask into imuChenliang Li1-9/+6
2024-07-15Merge tag 'for-6.11/io_uring-20240714' of git://git.kernel.dk/linuxLinus Torvalds1-41/+22
2024-06-20io_uring/rsrc: fix incorrect assignment of iter->nr_segs in io_import_fixedChenliang Li1-1/+0
2024-06-16io_uring/rsrc: remove redundant __set_current_state() post schedule()Jens Axboe1-2/+1
2024-06-16io_uring/rsrc: Drop io_copy_iov in favor of iovec APIGabriel Krisman Bertazi1-39/+21
2024-06-12io_uring/rsrc: don't lock while !TASK_RUNNINGPavel Begunkov1-0/+1
2024-04-15io_uring: move mapping/allocation helpers to a separate fileJens Axboe1-0/+1
2024-04-15io_uring: unify io_pin_pages()Jens Axboe1-36/+0
2024-04-15io_uring/alloc_cache: switch to array based cachingJens Axboe1-6/+4
2023-12-19io_uring: drop any code related to SCM_RIGHTSJens Axboe1-165/+4
2023-11-20io_uring: fix off-by one bvec indexKeith Busch1-1/+1
2023-10-02io_uring/rsrc: cleanup io_pin_pages()Jens Axboe1-20/+17
2023-08-11io_uring/rsrc: keep one global dummy_ubufPavel Begunkov1-4/+10
2023-06-28Merge tag 'mm-stable-2023-06-24-19-15' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-28/+6
2023-06-20io_uring: add helpers to decode the fixed file file_ptrChristoph Hellwig1-4/+4
2023-06-09mm/gup: remove vmas parameter from pin_user_pages()Lorenzo Stoakes1-1/+1
2023-06-09io_uring: rsrc: delegate VMA file-backed check to GUPLorenzo Stoakes1-28/+6
2023-05-07Merge tag 'for-6.4/io_uring-2023-05-07' of git://git.kernel.dk/linuxLinus Torvalds1-1/+6
2023-05-03io_uring/rsrc: check for nonconsecutive pagesTobias Holl1-1/+6
2023-04-26Merge tag 'net-next-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/net...Linus Torvalds1-2/+1
2023-04-20Revert "io_uring/rsrc: disallow multi-source reg buffers"Jens Axboe1-8/+5
2023-04-18io_uring/rsrc: disassociate nodes and rsrc_dataPavel Begunkov1-11/+9
2023-04-18io_uring/rsrc: devirtualise rsrc put callbacksPavel Begunkov1-6/+19
2023-04-18io_uring/rsrc: pass node to io_rsrc_put_work()Pavel Begunkov1-6/+6
2023-04-18io_uring/rsrc: inline io_rsrc_put_work()Pavel Begunkov1-13/+6
2023-04-18io_uring/rsrc: add empty flag in rsrc_nodePavel Begunkov1-3/+3
2023-04-18io_uring/rsrc: merge nodes and io_rsrc_putPavel Begunkov1-68/+23
2023-04-18io_uring/rsrc: infer node from ctx on io_queue_rsrc_removalPavel Begunkov1-4/+5
2023-04-15io_uring/rsrc: refactor io_queue_rsrc_removalPavel Begunkov1-4/+1
2023-04-15io_uring/rsrc: clean up __io_sqe_buffers_update()Pavel Begunkov1-2/+1
2023-04-15io_uring/rsrc: inline switch_start fast pathPavel Begunkov1-7/+5
2023-04-15io_uring/rsrc: remove rsrc_data refsPavel Begunkov1-24/+8
2023-04-15io_uring/rsrc: fix DEFER_TASKRUN rsrc quiescePavel Begunkov1-0/+9
2023-04-15io_uring/rsrc: use wq for quiescingPavel Begunkov1-6/+12
2023-04-15io_uring/rsrc: refactor io_rsrc_ref_quiescePavel Begunkov1-13/+5
2023-04-15io_uring/rsrc: remove io_rsrc_node::donePavel Begunkov1-4/+1
2023-04-15io_uring/rsrc: use nospec'ed indexesPavel Begunkov1-1/+1
2023-04-12io_uring/rsrc: extract SCM file put helperPavel Begunkov1-9/+11
2023-04-12io_uring/rsrc: refactor io_rsrc_node_switchPavel Begunkov1-25/+11
2023-04-12io_uring/rsrc: zero node's rsrc data on allocPavel Begunkov1-0/+1
2023-04-12io_uring/rsrc: consolidate node cachingPavel Begunkov1-9/+11
2023-04-12io_uring/rsrc: add lockdep checksPavel Begunkov1-0/+2
2023-04-04io_uring/rsrc: optimise io_rsrc_data refcountingPavel Begunkov1-12/+18
2023-04-04io_uring/rsrc: add lockdep sanity checksPavel Begunkov1-1/+1
2023-04-04io_uring/rsrc: cache struct io_rsrc_nodePavel Begunkov1-8/+15
2023-04-04io_uring/rsrc: don't offload node freePavel Begunkov1-55/+4
2023-04-04io_uring/rsrc: optimise io_rsrc_put allocationPavel Begunkov1-17/+34
2023-04-04io_uring/rsrc: rename rsrc_listPavel Begunkov1-3/+3
2023-04-04io_uring/rsrc: kill rsrc_ref_lockPavel Begunkov1-5/+0
2023-04-04io_uring/rsrc: protect node refs with uring_lockPavel Begunkov1-26/+4
2023-04-04io_uring/rsrc: keep cached refs per nodePavel Begunkov1-6/+9
2023-04-04io_uring/rsrc: use non-pcpu refcounts for nodesPavel Begunkov1-10/+5
2023-03-30Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-0/+1
2023-03-22io_uring/rsrc: fix null-ptr-deref in io_file_bitmap_get()Savino Dicanosa1-0/+1
2023-03-17Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-2/+8
2023-03-16io_uring/rsrc: fix folio accountingPavel Begunkov1-1/+7
2023-03-15io_uring: rsrc: Optimize return value variable 'ret'Li zeming1-1/+1
2023-03-09Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-13/+45
2023-03-08net: reclaim skb->scm_io_uring bitEric Dumazet1-2/+1
2023-02-24io_uring/rsrc: always initialize 'folio' to NULLJens Axboe1-1/+1
2023-02-22io_uring/rsrc: optimise registered huge pagesPavel Begunkov1-6/+32
2023-02-22io_uring/rsrc: optimise single entry advancePavel Begunkov1-1/+4
2023-02-22io_uring/rsrc: disallow multi-source reg buffersPavel Begunkov1-5/+8
2023-02-22io_uring/rsrc: fix a comment in io_import_fixed()Pavel Begunkov1-1/+1
2023-02-03io_uring: use bvec_set_page to initialize a bvecChristoph Hellwig1-3/+1
2022-12-07io_uring: use tw for putting rsrcPavel Begunkov1-2/+17
2022-11-30io_uring: don't reinstall quiesce node for each twPavel Begunkov1-20/+18
2022-11-30io_uring: improve rsrc quiesce refs checksPavel Begunkov1-9/+6
2022-11-25io_uring: remove overflow param from io_post_aux_cqeDylan Yudaken1-2/+2
2022-11-21io_uring: do not always force run task_work in io_uring_registerDylan Yudaken1-1/+6
2022-10-16io_uring: remove FFS_SCMPavel Begunkov1-5/+2
2022-10-12io_uring/af_unix: defer registered files gc to io_uring releasePavel Begunkov1-0/+1
2022-09-21io_uring: add IORING_SETUP_DEFER_TASKRUNDylan Yudaken1-1/+1
2022-09-01Revert "io_uring: rename IORING_OP_FILES_UPDATE"Pavel Begunkov1-15/+2
2022-09-01Revert "io_uring: add zc notification flush requests"Pavel Begunkov1-38/+0
2022-08-12io_uring: make io_kiocb_to_cmd() typesafeStefan Metzmacher1-5/+5
2022-07-25io_uring/net: make page accounting more consistentPavel Begunkov1-8/+4
2022-07-24io_uring: add zc notification flush requestsPavel Begunkov1-0/+38
2022-07-24io_uring: rename IORING_OP_FILES_UPDATEPavel Begunkov1-2/+15
2022-07-24io_uring: Use atomic_long_try_cmpxchg in __io_account_memUros Bizjak1-4/+3
2022-07-24io_uring: add allow_overflow to io_post_aux_cqeDylan Yudaken1-2/+2
2022-07-24io_uring: let to set a range for file slot allocationPavel Begunkov1-0/+2
2022-07-24io_uring: split out fixed file installation and removalJens Axboe1-1/+1
2022-07-24io_uring: move io_import_fixed()Pavel Begunkov1-0/+60
2022-07-24io_uring: kill extra io_uring_types.h includesPavel Begunkov1-1/+0
2022-07-24io_uring: don't expose io_fill_cqe_aux()Pavel Begunkov1-9/+5
2022-07-24io_uring: make reg buf init consistentPavel Begunkov1-6/+3
2022-07-24io_uring: move rsrc related data, core, and commandsJens Axboe1-0/+1320