Xin Long
2342b8d95b
sctp: make sure stream nums can match optlen in sctp_setsockopt_reset_streams
...
Now in sctp_setsockopt_reset_streams, it only does the check
optlen < sizeof(*params) for optlen. But it's not enough, as
params->srs_number_streams should also match optlen.
If the streams in params->srs_stream_list are less than stream
nums in params->srs_number_streams, later when dereferencing
the stream list, it could cause a slab-out-of-bounds crash, as
reported by syzbot.
This patch is to fix it by also checking the stream numbers in
sctp_setsockopt_reset_streams to make sure at least it's not
greater than the streams in the list.
Fixes: 7f9d68ac94 ("sctp: implement sender-side procedures for SSN Reset Request Parameter")
Reported-by: Dmitry Vyukov <[email protected] >
Signed-off-by: Xin Long <[email protected] >
Acked-by: Marcelo Ricardo Leitner <[email protected] >
Acked-by: Neil Horman <[email protected] >
Signed-off-by: David S. Miller <[email protected] >
2017-12-11 14:08:21 -05:00
..
associola.c
net: sctp: Convert timers to use timer_setup()
2017-10-25 12:02:09 +09:00
auth.c
sctp: remove the typedef sctp_hmac_algo_param_t
2017-07-16 20:52:14 -07:00
bind_addr.c
sctp: remove the typedef sctp_scope_t
2017-08-06 21:33:41 -07:00
chunk.c
sctp: do not abandon the other frags in unsent outq if one msg has outstanding frags
2017-12-01 15:06:24 -05:00
debug.c
sctp: remove the typedef sctp_subtype_t
2017-08-06 21:33:42 -07:00
endpointola.c
sctp: remove the typedef sctp_subtype_t
2017-08-06 21:33:42 -07:00
input.c
sctp: fix some type cast warnings introduced by transport rhashtable
2017-10-29 18:03:24 +09:00
inqueue.c
sctp: remove the typedef sctp_chunkhdr_t
2017-07-01 09:08:41 -07:00
ipv6.c
net/sctp: Always set scope_id in sctp_inet6_skb_msgname
2017-11-16 23:00:30 +09:00
Kconfig
Makefile
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-11-04 09:26:51 +09:00
objcnt.c
sctp: remove the typedef sctp_dbg_objcnt_entry_t
2017-08-11 10:02:43 -07:00
offload.c
net: use skb->csum_not_inet to identify packets needing crc32c
2017-05-19 19:21:29 -04:00
output.c
sctp: remove the typedef sctp_xmit_t
2017-08-06 21:33:42 -07:00
outqueue.c
sctp: do not abandon the other frags in unsent outq if one msg has outstanding frags
2017-12-01 15:06:24 -05:00
primitive.c
sctp: remove the typedef sctp_subtype_t
2017-08-06 21:33:42 -07:00
probe.c
sctp: remove the typedef sctp_disposition_t
2017-08-11 10:02:44 -07:00
proc.c
net: convert sock.sk_wmem_alloc from atomic_t to refcount_t
2017-07-01 07:39:08 -07:00
protocol.c
sctp: remove extern from stream sched
2017-11-28 11:00:13 -05:00
sctp_diag.c
sctp: Fix a big endian bug in sctp_diag_dump()
2017-09-26 21:16:29 -07:00
sm_make_chunk.c
sctp: check stream reset info len before making reconf chunk
2017-11-16 10:49:00 +09:00
sm_sideeffect.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-10-30 21:09:24 +09:00
sm_statefuns.c
sctp: remove the typedef sctp_disposition_t
2017-08-11 10:02:44 -07:00
sm_statetable.c
sctp: remove the typedef sctp_sm_table_entry_t
2017-08-11 10:02:44 -07:00
socket.c
sctp: make sure stream nums can match optlen in sctp_setsockopt_reset_streams
2017-12-11 14:08:21 -05:00
stream.c
sctp: force SCTP_ERROR_INV_STRM with __u32 when calling sctp_chunk_fail
2017-11-28 11:00:13 -05:00
stream_sched.c
sctp: remove extern from stream sched
2017-11-28 11:00:13 -05:00
stream_sched_prio.c
sctp: remove extern from stream sched
2017-11-28 11:00:13 -05:00
stream_sched_rr.c
sctp: remove extern from stream sched
2017-11-28 11:00:13 -05:00
sysctl.c
sctp: remove the typedef sctp_scope_policy_t
2017-08-06 21:33:41 -07:00
transport.c
net: sctp: Convert timers to use timer_setup()
2017-10-25 12:02:09 +09:00
tsnmap.c
ulpevent.c
sctp: fix some type cast warnings introduced by stream reconf
2017-10-29 18:03:24 +09:00
ulpqueue.c
sctp: fix missing wake ups in some situations
2017-09-08 10:02:47 -07:00