diff options
author | Michael Tuexen <tuexen@FreeBSD.org> | 2020-03-13 18:38:28 +0000 |
---|---|---|
committer | Michael Tuexen <tuexen@FreeBSD.org> | 2020-03-13 18:38:28 +0000 |
commit | db4493f7b64926d0c9b564bd15119382318a6584 (patch) | |
tree | 78b34bf1cdf0a61b1618e04bf65387d5c2fdac45 /sys/kern/kern_sendfile.c | |
parent | c0507192fa64d0112694a0e6245338a2d62ed565 (diff) |
sendfile() does currently not support SCTP sockets.
Therefore, fail the call.
Reviewed by: markj@
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D24059
Notes
Notes:
svn path=/head/; revision=358965
Diffstat (limited to 'sys/kern/kern_sendfile.c')
-rw-r--r-- | sys/kern/kern_sendfile.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/kern/kern_sendfile.c b/sys/kern/kern_sendfile.c index b161ae883294..ca42336f99f2 100644 --- a/sys/kern/kern_sendfile.c +++ b/sys/kern/kern_sendfile.c @@ -575,6 +575,12 @@ sendfile_getsock(struct thread *td, int s, struct file **sock_fp, *so = (*sock_fp)->f_data; if ((*so)->so_type != SOCK_STREAM) return (EINVAL); + /* + * SCTP one-to-one style sockets currently don't work with + * sendfile(). So indicate EINVAL for now. + */ + if ((*so)->so_proto->pr_protocol == IPPROTO_SCTP) + return (EINVAL); if (SOLISTENING(*so)) return (ENOTCONN); return (0); |