aboutsummaryrefslogtreecommitdiffstats
path: root/fs/pipe.c
AgeCommit message (Expand)AuthorFilesLines
2024-02-02fs/pipe: Convert to lockdep_cmp_fnKent Overstreet1-45/+36
2024-01-10Merge tag 'sysctl-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/m...Linus Torvalds1-1/+0
2023-12-28fs: Remove the now superfluous sentinel elements from ctl_table arrayJoel Granados1-1/+0
2023-12-12pipe: wakeup wr_wait after setting max_usageLukas Schauer1-2/+5
2023-11-28fs/pipe: Fix lockdep false-positive in watchqueue pipe_write()Jann Horn1-5/+12
2023-11-02Merge tag 'mm-nonmm-stable-2023-11-02-14-08' of git://git.kernel.org/pub/scm/...Linus Torvalds1-1/+1
2023-10-30Merge tag 'vfs-6.7.ctime' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs...Linus Torvalds1-1/+1
2023-10-30Merge tag 'vfs-6.7.misc' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfsLinus Torvalds1-29/+35
2023-10-19fs/pipe: use spinlock in pipe_read() only if there is a watch_queueMax Kellermann1-11/+32
2023-10-19fs/pipe: remove unnecessary spinlock from pipe_write()Max Kellermann1-9/+0
2023-10-19fs/pipe: move check to pipe_has_watch_queue()Max Kellermann1-9/+3
2023-10-18treewide: mark stuff as __ro_after_initAlexey Dobriyan1-1/+1
2023-10-18fs: convert core infrastructure to new timestamp accessorsJeff Layton1-1/+1
2023-09-20fs/pipe: remove duplicate "offset" initializerMax Kellermann1-1/+0
2023-08-28Merge tag 'v6.6-vfs.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vf...Linus Torvalds1-4/+4
2023-08-19fs/pipe: remove redundant initialization of pointer bufColin Ian King1-1/+1
2023-07-13fs: convert to ctime accessor functionsJeff Layton1-1/+1
2023-07-10pipe: Pass argument of pipe_fcntl as intLuca Vizzarro1-3/+3
2023-05-12pipe: check for IOCB_NOWAIT alongside O_NONBLOCKJens Axboe1-2/+4
2023-04-25pipe: set FMODE_NOWAIT on pipesJens Axboe1-0/+3
2022-08-20dynamic_dname(): drop unused dentry argumentAl Viro1-1/+1
2022-05-27Merge tag 'mm-nonmm-stable-2022-05-26' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-1/+1
2022-05-27pipe: Fix missing lock in pipe_resize_ring()David Howells1-13/+18
2022-04-29pipe: make poll_usage boolean and annotate its accessKuniyuki Iwashima1-1/+1
2022-04-20Revert "fs/pipe: use kvcalloc to allocate a pipe_buffer array"Linus Torvalds1-4/+5
2022-03-23fs/pipe.c: local vars have to match types of proper pipe_inode_info fieldsAndrei Vagin1-2/+2
2022-03-23fs/pipe: use kvcalloc to allocate a pipe_buffer arrayAndrei Vagin1-5/+4
2022-03-11watch_queue: Fix lack of barrier/sync/lock between post and readDavid Howells1-1/+2
2022-03-11watch_queue, pipe: Free watchqueue state after clearing pipe ringDavid Howells1-3/+5
2022-01-22fs: move pipe sysctls to is own fileLuis Chamberlain1-3/+61
2021-09-07Revert "mm/gup: remove try_get_page(), call try_get_compound_head() directly"Linus Torvalds1-1/+1
2021-09-03mm/gup: remove try_get_page(), call try_get_compound_head() directlyJohn Hubbard1-1/+1
2021-08-25pipe: do FASYNC notifications for every pipe IO, not just state changesLinus Torvalds1-12/+8
2021-08-18pipe: avoid unnecessary EPOLLET wakeups under normal loadsLinus Torvalds1-6/+9
2021-08-05pipe: increase minimum default pipe size to 2 pagesAlex Xu (Hello71)1-2/+17
2021-07-30pipe: make pipe writes always wake up readersLinus Torvalds1-5/+5
2021-02-24fs: delete repeated words in commentsRandy Dunlap1-1/+1
2021-01-25fs/pipe: allow sendfile() to pipe againJohannes Berg1-0/+1
2020-12-01block: remove i_bdevChristoph Hellwig1-3/+2
2020-10-11Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfsLinus Torvalds1-6/+5
2020-10-01pipe: remove pipe_wait() and fix wakeup race with spliceLinus Torvalds1-21/+41
2020-10-01pipe: Fix memory leaks in create_pipe_files()Qian Cai1-6/+5
2020-06-13Merge tag 'notifications-20200601' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-70/+172
2020-05-20fs: rename pipe_buf ->steal to ->try_stealChristoph Hellwig1-18/+16
2020-05-20fs: make the pipe_buf_operations ->confirm operation optionalChristoph Hellwig1-17/+0
2020-05-20pipe: merge anon_pipe_buf*_opsChristoph Hellwig1-40/+5
2020-05-19pipe: Add notification lossage handlingDavid Howells1-0/+28
2020-05-19pipe: Allow buffers to be marked read-whole-or-error for notificationsDavid Howells1-1/+7
2020-05-19pipe: Add general notification queue supportDavid Howells1-69/+137
2020-04-02mm: kmem: rename memcg_kmem_(un)charge() into memcg_kmem_(un)charge_page()Roman Gushchin1-1/+1
2020-02-18pipe: make sure to wake up everybody when the last reader/writer closesLinus Torvalds1-8/+10
2020-02-08pipe: use exclusive waits when reading or writingLinus Torvalds1-23/+44
2019-12-22pipe: fix empty pipe check in pipe_write()Jan Stancek1-1/+1
2019-12-11pipe: simplify signal handling in pipe_read() and add commentsLinus Torvalds1-7/+29
2019-12-07pipe: don't use 'pipe_wait() for basic pipe IOLinus Torvalds1-3/+27
2019-12-07pipe: remove 'waiting_writers' merging logicLinus Torvalds1-14/+5
2019-12-07pipe: fix and clarify pipe read wakeup logicLinus Torvalds1-13/+18
2019-12-07pipe: fix and clarify pipe write wakeup logicLinus Torvalds1-18/+41
2019-12-07pipe: fix poll/select race introduced by the pipe reworkLinus Torvalds1-3/+15
2019-12-05Merge branch 'pipe-rework' (patches from David Howells)Linus Torvalds1-8/+7
2019-12-05pipe: Fix missing mask update after pipe_wait()David Howells1-6/+6
2019-12-05pipe: Remove assertion from pipe_poll()David Howells1-2/+1
2019-11-30Merge tag 'notifications-pipe-prep-20191115' of git://git.kernel.org/pub/scm/...Linus Torvalds1-93/+139
2019-11-25vfs: mark pipes and sockets as stream-like file descriptorsLinus Torvalds1-2/+4
2019-11-15pipe: Remove sync on wake_upsDavid Howells1-4/+4
2019-11-15pipe: Increase the writer-wakeup threshold to reduce context-switch countDavid Howells1-2/+4
2019-11-15pipe: Check for ring full inside of the spinlock in pipe_write()David Howells1-0/+5
2019-11-15pipe: Remove redundant wakeup from pipe_write()David Howells1-5/+0
2019-11-15pipe: Rearrange sequence in pipe_write() to preallocate slotDavid Howells1-18/+33
2019-11-15pipe: Conditionalise wakeup in pipe_read()David Howells1-9/+6
2019-11-15pipe: Advance tail pointer inside of wait spinlock in pipe_read()David Howells1-1/+7
2019-11-15pipe: Allow pipes to have kernel-reserved slotsDavid Howells1-4/+6
2019-10-31pipe: Use head and tail pointers for the ring, not cursor and lengthDavid Howells1-73/+97
2019-05-25vfs: Convert pipe to use the new mount APIDavid Howells1-5/+10
2019-05-25mount_pseudo(): drop 'name' argument, switch to d_make_root()Al Viro1-1/+1
2019-04-14Merge branch 'page-refs' (page ref overflow)Linus Torvalds1-2/+2
2019-04-14fs: prevent page refcount overflow in pipe_buf_getMatthew Wilcox1-2/+2
2019-03-12Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-3/+29
2019-03-05memcg: localize memcg_kmem_enabled() checkShakeel Butt1-2/+1
2019-02-01pipe: stop using ->can_mergeJann Horn1-4/+16
2019-02-01splice: don't merge into linked buffersJann Horn1-0/+14
2018-08-13Merge branch 'work.open3' of git://git.kernel.org/pub/scm/linux/kernel/git/vi...Linus Torvalds1-32/+11
2018-07-12new helper: alloc_file_clone()Al Viro1-4/+2
2018-07-12create_pipe_files(): switch the first allocation to alloc_file_pseudo()Al Viro1-26/+8
2018-07-12alloc_file(): switch to passing O_... flags instead of FMODE_... modeAl Viro1-4/+4
2018-07-10create_pipe_files(): use fput() if allocation of the second file failsAl Viro1-4/+3
2018-06-28Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLLLinus Torvalds1-13/+9
2018-05-26pipe: convert to ->poll_maskChristoph Hellwig1-9/+13
2018-04-02fs: add do_pipe2() helper; remove internal call to sys_pipe2()Dominik Brodowski1-2/+7
2018-02-11vfs: do bulk POLL* -> EPOLL* replacementLinus Torvalds1-11/+11
2018-02-06pipe: read buffer limits atomicallyEric Biggers1-4/+9
2018-02-06pipe: simplify round_pipe_size()Eric Biggers1-11/+3
2018-02-06pipe: reject F_SETPIPE_SZ with size over UINT_MAXEric Biggers1-1/+4
2018-02-06pipe: fix off-by-one error when checking buffer limitsEric Biggers1-2/+2
2018-02-06pipe: actually allow root to exceed the pipe buffer limitsEric Biggers1-3/+8
2018-02-06pipe, sysctl: remove pipe_proc_fn()Eric Biggers1-10/+0
2018-02-06pipe, sysctl: drop 'min' parameter from pipe-max-size converterEric Biggers1-7/+3
2017-11-27fs: annotate ->poll() instancesAl Viro1-2/+2
2017-11-17pipe: add proc_dopipe_max_size() to safely assign pipe_max_sizeJoe Lawrence1-15/+3
2017-11-17pipe: avoid round_pipe_size() nr_pages overflow on 32-bitJoe Lawrence1-2/+15
2017-11-17pipe: match pipe_max_size data type with procfsJoe Lawrence1-1/+1
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-07-06VFS: Provide empty name qstrDavid Howells1-2/+1
2016-12-24Replace <asm/uaccess.h> with <linux/uaccess.h> globallyLinus Torvalds1-1/+1
2016-10-11pipe: cap initial pipe capacity according to pipe-max-size limitMichael Kerrisk (man-pages)1-0/+3
2016-10-11pipe: make account_pipe_buffers() return a value, and use itMichael Kerrisk (man-pages)1-18/+18
2016-10-11pipe: fix limit checking in alloc_pipe_info()Michael Kerrisk (man-pages)1-7/+13
2016-10-11pipe: simplify logic in alloc_pipe_info()Michael Kerrisk (man-pages)1-22/+23
2016-10-11pipe: fix limit checking in pipe_set_size()Michael Kerrisk (man-pages)1-10/+31
2016-10-11pipe: refactor argument for account_pipe_buffers()Michael Kerrisk (man-pages)1-5/+5
2016-10-11pipe: move limit checking logic into pipe_set_size()Michael Kerrisk (man-pages)1-23/+18
2016-10-11pipe: relocate round_pipe_size() above pipe_set_size()Michael Kerrisk (man-pages)1-12/+12
2016-10-10Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-1/+1
2016-10-05pipe: add pipe_buf_confirm() helperMiklos Szeredi1-5/+3
2016-10-05pipe: add pipe_buf_release() helperMiklos Szeredi1-3/+2
2016-09-27fs: Replace CURRENT_TIME with current_time() for inode timestampsDeepa Dinamani1-1/+1
2016-08-09mm: memcontrol: only mark charged pages with PageKmemcgVladimir Davydov1-3/+1
2016-07-26pipe: account to kmemcgVladimir Davydov1-6/+26
2016-04-04mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macrosKirill A. Shutemov1-3/+3
2016-01-19pipe: limit the per-user amount of pages allocated in pipesWilly Tarreau1-2/+45
2015-11-11fs/pipe.c: return error code rather than 0 in pipe_write()Eric Biggers1-5/+4
2015-11-11fs/pipe.c: preserve alloc_file() error codeEric Biggers1-3/+6
2015-04-15VFS: assorted weird filesystems: d_inode() annotationsDavid Howells1-1/+1
2015-04-11make new_sync_{read,write}() staticAl Viro1-2/+0
2015-03-25fs: move struct kiocb to fs.hChristoph Hellwig1-1/+0
2014-05-06new helper: copy_page_from_iter()Al Viro1-110/+19
2014-05-06pipe: switch to ->read_iter()Al Viro1-11/+5
2014-05-06start adding the tag to iov_iterAl Viro1-1/+1
2014-04-01switch pipe_read() to copy_page_to_iter()Al Viro1-71/+8
2014-04-01pipe: kill ->map() and ->unmap()Al Viro1-54/+16
2014-01-23fs/pipe.c: skip file_update_time on frozen fsDmitry Monakhov1-1/+2
2013-12-02vfs: fix subtle use-after-free of pipe_inode_infoLinus Torvalds1-20/+19
2013-05-07aio: don't include aio.h in sched.hKent Overstreet1-0/+1
2013-04-09get rid of the last free_pipe_info() callersAl Viro1-12/+6
2013-04-09get rid of alloc_pipe_info() argumentAl Viro1-3/+3
2013-04-09get rid of pipe->inodeAl Viro1-3/+2
2013-04-09introduce variants of pipe_lock/pipe_unlock for real pipes/FIFOsAl Viro1-15/+25
2013-04-09pipe: set file->private_data to ->i_pipeAl Viro1-8/+9
2013-04-09pipe: don't use ->i_mutexAl Viro1-2/+3
2013-04-09pipe: take allocation and freeing of pipe_inode_info out of ->i_mutexAl Viro1-21/+51
2013-04-09pipe: preparation to new locking rulesAl Viro1-23/+15
2013-04-09pipe: switch wait_for_partner() and wake_up_partner() to pipe_inode_infoAl Viro1-9/+9
2013-04-09pipe: fold file_operations instances in oneAl Viro1-189/+32
2013-04-09fold fifo.c into pipe.cAl Viro1-0/+138
2013-03-12vfs: fix pipe counter breakageAl Viro1-0/+3
2013-02-22fs: Preserve error code in get_empty_filp(), part 2Anatol Pomozov1-2/+2
2013-02-22new helper: file_inode(file)Al Viro1-8/+8
2012-09-26pipe(2) - race-free error recoveryAl Viro1-9/+22
2012-08-01Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-49/+26
2012-07-29consolidate pipe file creationAl Viro1-49/+26
2012-07-24pipe: remove KM_USER0 from commentsCong Wang1-1/+1
2012-06-01fs: introduce inode operation ->update_timeJosef Bacik1-2/+5
2012-05-30pipe: return -ENOIOCTLCMD instead of -EINVAL on unknown ioctl commandWill Deacon1-1/+1
2012-04-29pipes: add a "packetized pipe" mode for writingLinus Torvalds1-2/+29
2012-03-23magic.h: move some FS magic numbers into magic.hMuthu Kumar1-0/+1
2012-03-20fs: remove the second argument of k[un]map_atomic()Cong Wang1-4/+4
2012-01-12pipe: fail cleanly when root tries F_SETPIPE_SZ with big sizeSasha Levin1-1/+1
2012-01-03vfs: pipe.c is really non-modularAl Viro1-7/+0
2011-10-31fs/pipe.c: add ->statfs callback for pipefsPavel Emelyanov1-0/+1
2011-07-26vfs: dont chain pipe/anon/socket on superblock s_inodes listEric Dumazet1-1/+1
2011-07-24VFS : mount lock scalability for internal mountsTim Chen1-1/+1
2011-01-20Fix broken "pipe: use event aware wakeups" optimizationLinus Torvalds1-5/+5
2011-01-16sanitize vfsmount refcounting changesAl Viro1-1/+1
2011-01-13Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-2/+2
2011-01-13pipe: use event aware wakeupsDavide Libenzi1-5/+5
2011-01-12pass default dentry_operations to mount_pseudo()Al Viro1-2/+2
2011-01-07fs: scale mntget/mntputNick Piggin1-1/+1
2011-01-07fs: improve scalability of pseudo filesystemsNick Piggin1-1/+1
2011-01-07fs: dcache reduce branches in lookup pathNick Piggin1-1/+1
2011-01-07fs: avoid inode RCU freeing for pseudo fsNick Piggin1-1/+5
2010-11-28Un-inline get_pipe_info() helper functionLinus Torvalds1-0/+12
2010-11-28Export 'get_pipe_info()' to other usersLinus Torvalds1-1/+1
2010-10-29convert get_sb_pseudo() usersAl Viro1-5/+4
2010-10-25fs: do not assign default i_ino in new_inodeChristoph Hellwig1-0/+2
2010-10-21pipe: fix failure to return error code on ->confirm()Nicolas Kaiser1-1/+1
2010-06-10pipe: fix check in "set size" fcntlMiklos Szeredi1-3/+4
2010-06-10pipe: fix pipe buffer resizingMiklos Szeredi1-3/+10
2010-06-03pipe: change /proc/sys/fs/pipe-max-pages to byte sized interfaceJens Axboe1-12/+42
2010-06-03pipe: change the privilege required for growing a pipe beyond system maxJens Axboe1-1/+1
2010-06-03pipe: adjust minimum pipe size to 1 pageJens Axboe1-7/+1
2010-06-01Merge branch 'master' into for-linusJens Axboe1-5/+16
2010-05-30Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/msz...Linus Torvalds1-0/+6
2010-05-27fs: Add missing mutex_unlockJulia Lawall1-4/+9
2010-05-26mm: export generic_pipe_buf_*() to modulesMiklos Szeredi1-0/+6
2010-05-24pipe: make F_{GET,SET}PIPE_SZ deal with byte sizesJens Axboe1-16/+21
2010-05-24pipe: F_SETPIPE_SZ should return -EPERM for non-rootJens Axboe1-1/+1
2010-05-21pipe: set lower and upper limit on max pages in the pipe page arrayJens Axboe1-0/+15
2010-05-21pipe: add support for shrinking and growing pipesJens Axboe1-12/+95
2009-12-17fs: no games with DCACHE_UNHASHEDNick Piggin1-18/+0
2009-12-16switch create_read_pipe() to alloc_file()Al Viro1-9/+3
2009-12-16switch alloc_file() to passing struct pathAl Viro1-8/+9
2009-10-22fs: pipe.c null pointer dereferenceEarl Chew1-11/+30
2009-07-22lockdep: Fix lockdep annotation for pipe_double_lock()Peter Zijlstra1-2/+2
2009-05-11splice: implement default splice_read methodMiklos Szeredi1-0/+14
2009-04-15splice: add helpers for locking pipe inodeMiklos Szeredi1-4/+38
2009-03-27Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-6/+1
2009-03-27constify dentry_operations: restAl Viro1-1/+1
2009-03-27do_pipe cleanup: drop its last user in arch/alpha/Cheng Renquan1-5/+0
2009-03-16Rationalize fasync return valuesJonathan Corbet1-13/+3
2009-03-12pipe_rdwr_fasync: fix the error handling to prevent the leak/crashOleg Nesterov1-4/+4