Я смотрю на некоторый старый код сокета ядра, который всегда корректирует ограничение адреса ядра перед вызовом sock_sendmsg()
, как показано ниже.
old_fs = get_fs();
set_fs(KERNEL_DS);
sock_sendmsg(sock, &msg);
set_fs(old_fs); `
Однако из недавнего ядра source , sock_sendmsg()
явно не ограничивает ни один из своих параметров с помощью __user
.Я предполагаю, что в этом случае адрес параметров по умолчанию взят из ядра, следовательно, перед вызовом sock_sendmsg()
вообще не нужно настраивать ограничение адреса ядра, поскольку не будет вызываться access_ok()
.
Я пропалчто-то здесь?