As explained in splice.2, SPLICE_F_MOVE became a no-op, and since it is needed to use page gifting, it made SPLICE_F_GIFT a no-op too. I took a look in current code, and found no use of this flag: When enabled, it sets PIPE_BUF_FLAG_GIFT,which is only checked in user_page_pipe_buf_steal, which is only used on user_page_pipe_buf_ops, as a .steal component. But, in the whole kernel code, there is no calling of a steal() function, making me believe this flag is not used anymore. Signed-off-by: Leonardo Bras <leonardo@xxxxxxxxxxxxx> --- man2/vmsplice.2 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/man2/vmsplice.2 b/man2/vmsplice.2 index 17834607b..94fb86142 100644 --- a/man2/vmsplice.2 +++ b/man2/vmsplice.2 @@ -123,6 +123,11 @@ if this flag is not specified, then a subsequent .B SPLICE_F_MOVE must copy the pages. Data must also be properly page aligned, both in memory and length. +Starting in Linux 2.6.21, it is a no-op, because the +.B SPLICE_F_MOVE +also became a no-op on +.BR splice (2) +. .\" FIXME .\" It looks like the page-alignment requirement went away with .\" commit bd1a68b59c8e3bce45fb76632c64e1e063c3962d -- 2.20.1