On 4/9/24 14:15, Edward Adam Davis wrote:
The optlen value passed by syzbot to _sys_setsockopt() is 2, which results in only 2 bytes being allocated when allocating memory to kernel_optval, and the optval size passed when calling the function copy_from_sockptr() is 4 bytes. Here, optlen is determined uniformly in the entry function __sys_setsockopt(). If its value is less than 4, the parameter is considered invalid. Reported-by: syzbot+837ba09d9db969068367@xxxxxxxxxxxxxxxxxxxxxxxxx Reported-by: syzbot+b71011ec0a23f4d15625@xxxxxxxxxxxxxxxxxxxxxxxxx Reported-by: syzbot+d4ecae01a53fd9b42e7d@xxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Edward Adam Davis <eadavis@xxxxxx>
I think I gave my feedback already. Please do not ignore maintainers feedback. This patch is absolutely wrong. Some setsockopt() deal with optlen == 1 just fine, thank you very much.