linux-samsung-r9q2/include
David Howells 4fe38acdac net: Block MSG_SENDPAGE_* from being passed to sendmsg() by userspace
It is necessary to allow MSG_SENDPAGE_* to be passed into ->sendmsg() to
allow sendmsg(MSG_SPLICE_PAGES) to replace ->sendpage().  Unblocking them
in the network protocol, however, allows these flags to be passed in by
userspace too[1].

Fix this by marking MSG_SENDPAGE_NOPOLICY, MSG_SENDPAGE_NOTLAST and
MSG_SENDPAGE_DECRYPTED as internal flags, which causes sendmsg() to object
if they are passed to sendmsg() by userspace.  Network protocol ->sendmsg()
implementations can then allow them through.

Note that it should be possible to remove MSG_SENDPAGE_NOTLAST once
sendpage is removed as a whole slew of pages will be passed in in one go by
splice through sendmsg, with MSG_MORE being set if it has more data waiting
in the pipe.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Chuck Lever <chuck.lever@oracle.com>
cc: Boris Pismenny <borisp@nvidia.com>
cc: John Fastabend <john.fastabend@gmail.com>
cc: Jens Axboe <axboe@kernel.dk>
cc: Matthew Wilcox <willy@infradead.org>
Link: https://lore.kernel.org/r/20230526181338.03a99016@kernel.org/ [1]
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-06-08 19:40:30 -07:00
..
acpi Power management updates for 6.4-rc1 2023-04-25 18:44:10 -07:00
asm-generic vmlinux.lds.h: Discard .note.gnu.property section 2023-05-16 06:30:50 -07:00
clocksource KVM: arm64: timers: Use CNTPOFF_EL2 to offset the physical timer 2023-03-30 19:01:09 +01:00
crypto crypto: af_alg: Use extract_iter_to_sg() to create scatterlists 2023-06-08 13:42:34 +02:00
drm drm: fix drmm_mutex_init() 2023-05-22 12:23:50 +02:00
dt-bindings - mailbox api: allow direct registration to a channel 2023-05-07 10:17:33 -07:00
keys
kunit kunit: increase KUNIT_LOG_SIZE to 2048 bytes 2023-03-29 18:55:41 -06:00
kvm s390: 2023-05-01 12:06:20 -07:00
linux net: Block MSG_SENDPAGE_* from being passed to sendmsg() by userspace 2023-06-08 19:40:30 -07:00
math-emu
media media: v4l2-subdev: Fix missing kerneldoc for client_caps 2023-06-02 18:46:09 +01:00
memory
misc
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-06-08 11:35:14 -07:00
pcmcia
ras
rdma RDMA: Add ib_virt_dma_to_page() 2023-04-16 11:08:07 +03:00
rv
scsi Driver core changes for 6.4-rc1 2023-04-27 11:53:57 -07:00
soc Nothing looks out of the ordinary in this batch of clk driver updates. There 2023-04-29 17:29:39 -07:00
sound ASoC: Intel: avs: Account for UID of ACPI device 2023-05-22 11:18:24 +01:00
target scsi: target: iscsi: Remove unused transport_timer 2023-05-22 16:29:39 -04:00
trace NFSD 6.4 Release Notes 2023-04-29 11:04:14 -07:00
uapi Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-06-08 11:35:14 -07:00
ufs scsi: ufs: core: Rename symbol sizeof_utp_transfer_cmd_desc() 2023-05-16 21:07:26 -04:00
vdso
video Merge tag 'drm-misc-next-2023-03-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-03-14 12:18:54 +10:00
xen ACPI: processor: Fix evaluating _PDC method when running as Xen dom0 2023-03-22 19:36:31 +01:00