net/tls: handle MSG_EOR for tls_sw TX flow
tls_sw_sendmsg() already handles MSG_MORE, but bails out on MSG_EOR. Seeing that MSG_EOR is basically the opposite of MSG_MORE this patch adds handling MSG_EOR by treating it as the negation of MSG_MORE. And erroring out if MSG_EOR is specified with MSG_MORE. Signed-off-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Jakub Kicinski <kuba@kernel.org> Link: https://lore.kernel.org/r/20230726191556.41714-2-hare@suse.de Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
6eaae19807
commit
e22e358bbe
|
@ -984,6 +984,9 @@ static int tls_sw_sendmsg_locked(struct sock *sk, struct msghdr *msg,
|
|||
int ret = 0;
|
||||
int pending;
|
||||
|
||||
if (!eor && (msg->msg_flags & MSG_EOR))
|
||||
return -EINVAL;
|
||||
|
||||
if (unlikely(msg->msg_controllen)) {
|
||||
ret = tls_process_cmsg(sk, msg, &record_type);
|
||||
if (ret) {
|
||||
|
@ -1193,7 +1196,7 @@ int tls_sw_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
|
|||
int ret;
|
||||
|
||||
if (msg->msg_flags & ~(MSG_MORE | MSG_DONTWAIT | MSG_NOSIGNAL |
|
||||
MSG_CMSG_COMPAT | MSG_SPLICE_PAGES |
|
||||
MSG_CMSG_COMPAT | MSG_SPLICE_PAGES | MSG_EOR |
|
||||
MSG_SENDPAGE_NOPOLICY))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
|
|
Loading…
Reference in New Issue