diff options
author | Sridhar Samudrala <sri@us.ibm.com> | 2006-08-22 14:50:39 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-08-22 15:52:23 -0400 |
commit | c164a9ba0a8870c5c9d353f63085319931d69f23 (patch) | |
tree | 7e315a50008d0310dd5572a62baef34ddba89988 /include/net/sctp/sm.h | |
parent | ac185bdc02c216040f3b83f654d864bd8a29cedc (diff) |
Fix sctp privilege elevation (CVE-2006-3745)
sctp_make_abort_user() now takes the msg_len along with the msg
so that we don't have to recalculate the bytes in iovec.
It also uses memcpy_fromiovec() so that we don't go beyond the
length allocated.
It is good to have this fix even if verify_iovec() is fixed to
return error on overflow.
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/net/sctp/sm.h')
-rw-r--r-- | include/net/sctp/sm.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h index 1eac3d0eb7a9..de313de4fefe 100644 --- a/include/net/sctp/sm.h +++ b/include/net/sctp/sm.h | |||
@@ -221,8 +221,7 @@ struct sctp_chunk *sctp_make_abort_no_data(const struct sctp_association *, | |||
221 | const struct sctp_chunk *, | 221 | const struct sctp_chunk *, |
222 | __u32 tsn); | 222 | __u32 tsn); |
223 | struct sctp_chunk *sctp_make_abort_user(const struct sctp_association *, | 223 | struct sctp_chunk *sctp_make_abort_user(const struct sctp_association *, |
224 | const struct sctp_chunk *, | 224 | const struct msghdr *, size_t msg_len); |
225 | const struct msghdr *); | ||
226 | struct sctp_chunk *sctp_make_abort_violation(const struct sctp_association *, | 225 | struct sctp_chunk *sctp_make_abort_violation(const struct sctp_association *, |
227 | const struct sctp_chunk *, | 226 | const struct sctp_chunk *, |
228 | const __u8 *, | 227 | const __u8 *, |