On Fri, Jul 24, 2020 at 08:48:55AM +0200, Christoph Hellwig wrote:
> This sockopt accepts two kinds of parameters, using struct
> sctp_sack_info and struct sctp_assoc_value. The mentioned commit didn't
> notice an implicit cast from the smaller (latter) struct to the bigger
> one (former) when copying the data from the user space, which now leads
> to an attempt to write beyond the buffer (because it assumes the storing
> buffer is bigger than the parameter itself).
> 
> Fix it by allocating a sctp_sack_info on stack and filling it out based
> on the small struct for the compat case.
> 
> Changelog stole from an earlier patch from Marcelo Ricardo Leitner.
> 
> Fixes: ebb25defdc17 ("sctp: pass a kernel pointer to 
> sctp_setsockopt_delayed_ack")
> Reported-by: syzbot+0e4699d000d8b874d...@syzkaller.appspotmail.com
> Signed-off-by: Christoph Hellwig <h...@lst.de>

Acked-by: Marcelo Ricardo Leitner <marcelo.leit...@gmail.com>

Thanks Christoph.

Reply via email to