[PATCH net-next v2 0/2] splice, net: Handle MSG_SPLICE_PAGES in AF_KCM

From: David Howells
Date: Wed May 31 2023 - 07:06:11 EST


Here are patches to make AF_KCM handle the MSG_SPLICE_PAGES internal
sendmsg flag. MSG_SPLICE_PAGES is an internal hint that tells the protocol
that it should splice the pages supplied if it can. Its sendpage
implementation is then turned into a wrapper around that.

Does anyone actually use AF_KCM? Upstream it has some issues. It doesn't
seem able to handle a "message" longer than 113920 bytes without jamming
and doesn't handle the client termination once it is jammed.

I've pushed the patches here also:

https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=sendpage-2-kcm

David

ver #2)
- In kcm_sendpage(), only account the amount actually copied.
- Wrap at 80 chars.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=51c78a4d532efe9543a4df019ff405f05c6157f6 # part 1
Link: https://lore.kernel.org/r/20230524144923.3623536-1-dhowells@xxxxxxxxxx/ # v1

David Howells (2):
kcm: Support MSG_SPLICE_PAGES
kcm: Convert kcm_sendpage() to use MSG_SPLICE_PAGES

net/kcm/kcmsock.c | 218 ++++++++++++----------------------------------
1 file changed, 58 insertions(+), 160 deletions(-)