aboutsummaryrefslogtreecommitdiffstats
path: root/lib/iov_iter.c
AgeCommit message (Expand)AuthorFilesLines
2024-03-11Merge tag 'vfs-6.9.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs...Linus Torvalds1-29/+31
2024-03-06iov_iter: get rid of 'copy_mc' flagLinus Torvalds1-23/+0
2024-02-02iov_iter: Avoid wrap-around instrumentation in copy_compat_iovec_from_user()Kees Cook1-2/+3
2024-01-25iov_iter: streamline iovec/bvec alignment iterationJens Axboe1-27/+28
2024-01-08Merge tag 'vfs-6.8.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-13/+0
2023-12-05iov_iter: replace import_single_range() with import_ubuf()Jens Axboe1-13/+0
2023-12-05iov_iter: remove unused 'iov' argument from import_single_range()Jens Axboe1-1/+1
2023-11-18iov_iter: fix copy_page_to_iter_nofault()Omar Sandoval1-1/+1
2023-10-09iov_iter, net: Move hash_and_copy_to_iter() to net/David Howells1-20/+0
2023-10-09iov_iter, net: Move csum_and_copy_to/from_iter() to net/David Howells1-89/+0
2023-10-09iov_iter: Don't deal with iter->copy_mc in memcpy_from_iter_mc()David Howells1-12/+23
2023-09-25iov_iter: Convert iterate*() to inline funcsDavid Howells1-241/+175
2023-09-25iov_iter: Derive user-backedness from the iterator typeDavid Howells1-1/+0
2023-09-09iov_iter: Fix iov_iter_extract_pages() with zero-sized entriesDavid Howells1-15/+15
2023-08-30Merge tag 'sound-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ti...Linus Torvalds1-0/+1
2023-08-18iov_iter: Export import_ubuf()Takashi Iwai1-0/+1
2023-07-24iov_iter: Add copy_folio_from_iter_atomic()Matthew Wilcox (Oracle)1-1/+1
2023-07-24iov_iter: Handle compound highmem pages in copy_page_from_iter_atomic()Matthew Wilcox (Oracle)1-10/+23
2023-07-24iov_iter: Map the page later in copy_page_from_iter_atomic()Matthew Wilcox (Oracle)1-8/+8
2023-07-10iov_iter: Mark copy_iovec_from_user() noclonePeter Zijlstra1-1/+1
2023-06-16iov_iter: remove iov_iter_get_pages and iov_iter_get_pages_allocChristoph Hellwig1-28/+7
2023-05-24iov_iter: Kill ITER_PIPEDavid Howells1-428/+3
2023-05-02mm: hwpoison: coredump: support recovery from dump_user_range()Kefeng Wang1-2/+15
2023-04-27Merge tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-0/+48
2023-04-24iov: improve copy_iovec_from_user() code generationLinus Torvalds1-9/+26
2023-04-12iov_iter: Mark copy_compat_iovec_from_user() noinlineJosh Poimboeuf1-1/+1
2023-04-05iov_iter: add copy_page_to_iter_nofault()Lorenzo Stoakes1-0/+48
2023-03-30iov_iter: import single vector iovecs as ITER_UBUFJens Axboe1-0/+27
2023-03-30iov_iter: convert import_single_range() to ITER_UBUFJens Axboe1-3/+1
2023-03-30iov_iter: add iter_iovec() helperJens Axboe1-26/+30
2023-02-22Merge tag '6.3-rc-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6Linus Torvalds1-12/+272
2023-02-20iov_iter: Add a function to extract a page list from an iteratorDavid Howells1-0/+264
2023-02-20iov_iter: Define flags to qualify page extraction.David Howells1-6/+8
2023-02-20splice: Add a func to do a splice from a buffered file without ITER_PIPEDavid Howells1-6/+0
2023-01-08iov_iter: move iter_ubuf check inside restore WARNKeith Busch1-2/+2
2023-01-08iov: add import_ubuf()Jens Axboe1-0/+11
2022-12-13Merge tag 'for-6.2/block-2022-12-08' of git://git.kernel.dk/linuxLinus Torvalds1-8/+24
2022-11-25iov_iter: saner checks for attempt to copy to/from iteratorAl Viro1-14/+17
2022-11-25csum_and_copy_to_iter(): handle ITER_DISCARDAl Viro1-2/+6
2022-11-25get rid of unlikely() on page_copy_sane() callsAl Viro1-6/+5
2022-11-09iov_iter: introduce iov_iter_get_pages_[alloc_]flags()Logan Gunthorpe1-8/+24
2022-10-03instrumented.h: allow instrumenting both sides of copy_from_user()Alexander Potapenko1-3/+6
2022-08-08fix copy_page_from_iter() for compound destinationsAl Viro1-4/+18
2022-08-08copy_page_to_iter(): don't split high-order page in case of ITER_PIPEAl Viro1-15/+6
2022-08-08expand those iov_iter_advance()...Al Viro1-2/+9
2022-08-08pipe_get_pages(): switch to append_pipe()Al Viro1-29/+6
2022-08-08get rid of non-advancing variantsAl Viro1-9/+18
2022-08-08iov_iter: saner helper for page array allocationAl Viro1-45/+32
2022-08-08fold __pipe_get_pages() into pipe_get_pages()Al Viro1-37/+38
2022-08-08ITER_XARRAY: don't open-code DIV_ROUND_UP()Al Viro1-9/+1
2022-08-08unify the rest of iov_iter_get_pages()/iov_iter_get_pages_alloc() gutsAl Viro1-59/+27
2022-08-08unify xarray_get_pages() and xarray_get_pages_alloc()Al Viro1-39/+10
2022-08-08unify pipe_get_pages() and pipe_get_pages_alloc()Al Viro1-32/+17
2022-08-08iov_iter_get_pages(): sanity-check argumentsAl Viro1-7/+2
2022-08-08iov_iter_get_pages_alloc(): lift freeing pages array on failure exits into wr...Al Viro1-16/+22
2022-08-08ITER_PIPE: fold data_start() and pipe_space_for_user() togetherAl Viro1-25/+19
2022-08-08ITER_PIPE: cache the type of last bufferAl Viro1-39/+38
2022-08-08ITER_PIPE: clean iov_iter_revert()Al Viro1-46/+14
2022-08-08ITER_PIPE: clean pipe_advance() upAl Viro1-17/+17
2022-08-08ITER_PIPE: lose iter_head argument of __pipe_get_pages()Al Viro1-4/+3
2022-08-08ITER_PIPE: fold push_pipe() into __pipe_get_pages()Al Viro1-55/+25
2022-08-08ITER_PIPE: allocate buffers as we go in copy-to-pipe primitivesAl Viro1-73/+98
2022-08-08ITER_PIPE: helpers for adding pipe buffersAl Viro1-42/+46
2022-08-08ITER_PIPE: helper for getting pipe buffer by indexAl Viro1-6/+9
2022-08-08new iov_iter flavour - ITER_UBUFAl Viro1-18/+69
2022-08-03Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfsLinus Torvalds1-4/+11
2022-08-03Merge tag 'pull-work.iov_iter-base' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-231/+52
2022-07-06first_iovec_segment(): just return addressAl Viro1-7/+8
2022-07-06iov_iter: massage calling conventions for first_{iovec,bvec}_segment()Al Viro1-24/+18
2022-07-06iov_iter: first_{iovec,bvec}_segment() - simplify a bitAl Viro1-16/+16
2022-07-06iov_iter: lift dealing with maxpages out of first_{iovec,bvec}_segment()Al Viro1-10/+10
2022-07-06iov_iter_get_pages{,_alloc}(): cap the maxsize with MAX_RW_COUNTAl Viro1-0/+4
2022-07-06iov_iter_bvec_advance(): don't bother with bvec_iterAl Viro1-9/+14
2022-06-28fix short copy handling in copy_mc_pipe_to_iter()Al Viro1-4/+11
2022-06-28copy_page_{to,from}_iter(): switch iovec variants to genericAl Viro1-187/+4
2022-06-27iov: introduce iov_iter_alignedKeith Busch1-0/+92
2022-06-11iov_iter: fix build issue due to possible type mis-matchLinus Torvalds1-2/+2
2022-06-10iov_iter: Fix iter_xarray_get_pages{,_alloc}()David Howells1-16/+4
2022-02-21lib/iov_iter: initialize "flags" in new pipe_bufferMax Kellermann1-0/+2
2022-01-04iov_iter: Convert iter_xarray to use foliosMatthew Wilcox (Oracle)1-16/+14
2021-10-24iov_iter: Introduce nofault flag to disable page faultsAndreas Gruenbacher1-5/+15
2021-10-20iov_iter: Introduce fault_in_iov_iter_writeableAndreas Gruenbacher1-0/+39
2021-10-18iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readableAndreas Gruenbacher1-12/+21
2021-10-18gup: Turn fault_in_pages_{readable,writeable} into fault_in_{readable,writeable}Andreas Gruenbacher1-6/+4
2021-10-12iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return valueAndreas Gruenbacher1-2/+3
2021-09-14iov_iter: add helper to save iov_iter stateJens Axboe1-0/+36
2021-09-08lib/iov_iter.c: fix kernel-doc warningsRandy Dunlap1-2/+6
2021-07-04iov_iter: remove uaccess_kernel() warning from iov_iter_init()Linus Torvalds1-1/+0
2021-06-10csum_and_copy_to_pipe_iter(): leave handling of csum_state to callerAl Viro1-23/+18
2021-06-10clean up copy_mc_pipe_to_iter()Al Viro1-24/+9
2021-06-10pipe_zero(): we don't need no stinkin' kmap_atomic()...Al Viro1-1/+3
2021-06-10iov_iter: clean csum_and_copy_...() primitives up a bitAl Viro1-6/+4
2021-06-10copy_page_from_iter(): don't need kmap_atomic() for kvec/bvec casesAl Viro1-2/+2
2021-06-10copy_page_to_iter(): don't bother with kmap_atomic() for bvec/kvec casesAl Viro1-3/+3
2021-06-10iterate_xarray(): only of the first iteration we might get offset != 0Al Viro1-3/+3
2021-06-10pull handling of ->iov_offset into iterate_{iovec,bvec,xarray}Al Viro1-12/+14
2021-06-10iov_iter: make iterator callbacks use base and len instead of iovecAl Viro1-91/+91
2021-06-10iov_iter: make the amount already copied available to iterator callbacksAl Viro1-70/+50
2021-06-10iov_iter: get rid of separate bvec and xarray callbacksAl Viro1-82/+30
2021-06-10iov_iter: teach iterate_{bvec,xarray}() about possible short copiesAl Viro1-41/+24
2021-06-10iterate_bvec(): expand bvec.h macro forest, massage a bitAl Viro1-13/+20
2021-06-10iov_iter: unify iterate_iovec and iterate_kvecAl Viro1-23/+5
2021-06-10iov_iter: massage iterate_iovec and iterate_kvec to logics similar to iterate...Al Viro1-55/+36
2021-06-10iterate_and_advance(): get rid of magic in case when n is 0Al Viro1-1/+1
2021-06-10csum_and_copy_to_iter(): massage into form closer to csum_and_copy_from_iter()Al Viro1-4/+4
2021-06-10iov_iter: replace iov_iter_copy_from_user_atomic() with iterator-advancing va...Al Viro1-26/+4
2021-06-10[xarray] iov_iter_npages(): just use DIV_ROUND_UP()Al Viro1-14/+2
2021-06-10iov_iter_npages(): don't bother with iterate_all_kinds()Al Viro1-34/+54
2021-06-10get rid of iterate_all_kinds() in iov_iter_get_pages()/iov_iter_get_pages_all...Al Viro1-56/+91
2021-06-10iov_iter_gap_alignment(): get rid of iterate_all_kinds()Al Viro1-13/+14
2021-06-10iov_iter_alignment(): don't bother with iterate_all_kinds()Al Viro1-10/+53
2021-06-10sanitize iov_iter_fault_in_readable()Al Viro1-10/+16
2021-06-10iov_iter: optimize iov_iter_advance() for iovec and kvecAl Viro1-14/+28
2021-06-10iov_iter: separate direction from flavourAl Viro1-37/+48
2021-06-10iov_iter_advance(): don't modify ->iov_offset for ITER_DISCARDAl Viro1-2/+0
2021-06-10iov_iter: reorder handling of flavours in primitivesAl Viro1-46/+45
2021-06-10iov_iter: switch ..._full() variants of primitives to use of iov_iter_revert()Al Viro1-104/+0
2021-06-03iov_iter_advance(): use consistent semantics for move past the endAl Viro1-3/+2
2021-06-03[xarray] iov_iter_fault_in_readable() should do nothing in xarray caseAl Viro1-1/+1
2021-06-03copy_page_to_iter(): fix ITER_DISCARD caseAl Viro1-2/+5
2021-06-03teach copy_page_to_iter() to handle compound pagesAl Viro1-3/+25
2021-06-03iov_iter: Remove iov_iter_for_each_range()David Howells1-27/+0
2021-05-05iov_iter: lift memzero_page() to highmem.hIra Weiny1-7/+1
2021-04-26iov_iter: Four fixes for ITER_XARRAYDavid Howells1-0/+5
2021-04-23iov_iter: Add ITER_XARRAYDavid Howells1-23/+290
2021-03-01Merge branch 'kmap-conversion-for-5.12' of git://git.kernel.org/pub/scm/linux...Linus Torvalds1-14/+0
2021-02-21Merge tag 'for-5.12/block-2021-02-17' of git://git.kernel.dk/linux-blockLinus Torvalds1-2/+19
2021-02-11mm/highmem: Lift memcpy_[to|from]_page to coreIra Weiny1-14/+0
2021-02-04udp: fix skb_copy_and_csum_datagram with odd segment sizesWillem de Bruijn1-10/+14
2021-01-25iov_iter: optimise bvec iov_iter_advance()Pavel Begunkov1-0/+19
2021-01-25bvec/iter: disallow zero-length segment bvecsPavel Begunkov1-2/+0
2021-01-15iov_iter: fix the uaccess area in copy_compat_iovec_from_userChristoph Hellwig1-1/+1
2020-10-16lib, uaccess: add failure injection to usercopy functionsAlbert van der Linde1-0/+5
2020-10-12Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-42/+136
2020-10-12Merge branch 'work.csum_and_copy' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-12/+9
2020-10-06x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}()Dan Williams1-25/+23
2020-10-03iov_iter: transparently handle compat iovecs in import_iovecChristoph Hellwig1-12/+2
2020-10-03iov_iter: refactor rw_copy_check_uvector and import_iovecChristoph Hellwig1-186/+114
2020-09-25iov_iter: move rw_copy_check_uvector() into lib/iov_iter.cDavid Laight1-0/+176
2020-08-20saner calling conventions for csum_and_copy_..._user()Al Viro1-11/+8
2020-08-20csum_and_copy_..._user(): pass 0xffffffff instead of 0 as initial sumAl Viro1-3/+3
2020-08-20csum_partial_copy_nocheck(): drop the last argumentAl Viro1-1/+1
2020-06-30iov_iter: Move unnecessary inclusion of crypto/hash.hHerbert Xu1-1/+2
2020-03-21iov_iter: Use generic instrumented.hMarco Elver1-3/+4
2019-12-16pipe: Fix bogus dereference in iov_iter_alignment()Jan Kara1-1/+2
2019-12-01Merge tag 'compat-ioctl-5.5' of git://git.kernel.org:/pub/scm/linux/kernel/gi...Linus Torvalds1-0/+1
2019-11-15pipe: Allow pipes to have kernel-reserved slotsDavid Howells1-2/+2
2019-10-31pipe: Use head and tail pointers for the ring, not cursor and lengthDavid Howells1-118/+151
2019-10-23compat_ioctl: reimplement SG_IO handlingArnd Bergmann1-0/+1
2019-09-24mm: introduce page_size()Matthew Wilcox (Oracle)1-1/+1
2019-05-31uio: make import_iovec()/compat_import_iovec() return bytes on successJens Axboe1-7/+8
2019-05-21treewide: Add SPDX license identifier for missed filesThomas Gleixner1-0/+1
2019-05-14mm/gup: change GUP fast to use flags rather than a write 'bool'Ira Weiny1-2/+5
2019-04-03iov_iter: Fix build error without CONFIG_CRYPTOYueHaibing1-0/+4
2019-02-26iov_iter: optimize page_copy_sane()Eric Dumazet1-2/+15
2019-01-05Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-27/+27
2019-01-03Remove 'type' argument from access_ok() functionLinus Torvalds1-4/+4
2018-12-13iov_iter: introduce hash_and_copy_to_iter helperSagi Grimberg1-0/+16
2018-12-13iov_iter: pass void csum pointer to csum_and_copy_to_iterSagi Grimberg1-1/+2
2018-11-27iov_iter: reduce code duplicationAl Viro1-27/+27
2018-11-25iov_iter: teach csum_and_copy_to_iter() to handle pipe-backed onesAl Viro1-1/+37
2018-10-24iov_iter: Add I/O discard iteratorDavid Howells1-7/+48
2018-10-24iov_iter: Separate type from direction and use accessor functionsDavid Howells1-13/+15
2018-10-24iov_iter: Use accessor functionDavid Howells1-28/+28
2018-07-16lib/iov_iter: Fix pipe handling in _copy_to_iter_mcsafe()Dan Williams1-4/+33
2018-07-16lib/iov_iter: Document _copy_to_iter_flushcache()Dan Williams1-0/+14
2018-07-16lib/iov_iter: Document _copy_to_iter_mcsafe()Dan Williams1-0/+26
2018-06-04Merge branch 'x86-dax-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-0/+61
2018-05-15x86/asm/memcpy_mcsafe: Define copy_to_iter_mcsafe()Dan Williams1-0/+61
2018-05-02iov_iter: fix memory leak in pipe_get_pages_alloc()Ilya Dryomov1-1/+1
2018-05-02iov_iter: fix return type of __pipe_get_pages()Ilya Dryomov1-1/+1
2017-10-11new primitive: iov_iter_for_each_range()Al Viro1-0/+22
2017-09-20iov_iter: fix page_copy_sane for compound pagesPetar Penkov1-2/+4
2017-07-07Merge branch 'uaccess-work.iov_iter' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-29/+69
2017-07-07iov_iter: saner checks on copyin/copyoutAl Viro1-16/+39
2017-06-29iov_iter: sanity checks for copy to/from page primitivesAl Viro1-0/+17
2017-06-29iov_iter/hardening: move object size checks to inlined partAl Viro1-11/+11
2017-06-09x86, uaccess: introduce copy_from_iter_flushcache for pmem / cache-bypass ope...Dan Williams1-0/+22
2017-05-09Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-0/+2
2017-05-08treewide: use kv[mz]alloc* rather than opencoded variantsMichal Hocko1-4/+1
2017-05-08fix braino in generic_file_read_iter()Al Viro1-0/+2
2017-05-01Merge branch 'work.uaccess' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-3/+3
2017-04-29fix a braino in ITER_PIPE iov_iter_revert()Al Viro1-1/+1
2017-04-02[iov_iter] new privimitive: iov_iter_revert()Al Viro1-0/+63
2017-03-28kill __copy_from_user_nocache()Al Viro1-2/+2
2017-03-28new helper: uaccess_kernel()Al Viro1-1/+1
2017-01-14fix a fencepost error in pipe_advance()Al Viro1-23/+31
2016-12-22[iov_iter] fix iterate_all_kinds() on empty iteratorsAl Viro1-29/+26
2016-12-16Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-2/+96
2016-12-13Merge branch 'for-4.10/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-0/+1
2016-12-05[iov_iter] new primitives - copy_from_iter_full() and friendsAl Viro1-2/+96
2016-11-17fix iov_iter_advance() for ITER_PIPEAbhi Das1-1/+3
2016-11-01block,fs: untangle fs.h and blk_types.hChristoph Hellwig1-0/+1
2016-10-14iov_iter: kernel-doc import_iovec() and rw_copy_check_uvector()Vegard Nossum1-0/+22
2016-10-11Fix off-by-one in __pipe_get_pages()Al Viro1-2/+2
2016-10-10Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-2/+1
2016-10-05pipe: add pipe_buf_release() helperMiklos Szeredi1-3/+1
2016-10-05new iov_iter flavour: pipe-backedAl Viro1-2/+395
2016-09-27get rid of separate multipage fault-in primitivesAl Viro1-2/+1
2016-09-17fix iov_iter_fault_in_readable()Al Viro1-22/+2