scm: Only support SCM_RIGHTS on unix domain sockets.
We use scm_send and scm_recv on both unix domain and netlink sockets, but only unix domain sockets support everything required for file descriptor passing, so error if someone attempts to pass file descriptors over netlink sockets. Cc: stable@kernel.org Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
39286fa41a
Коммит
76dadd76c2
|
@ -156,6 +156,8 @@ int __scm_send(struct socket *sock, struct msghdr *msg, struct scm_cookie *p)
|
|||
switch (cmsg->cmsg_type)
|
||||
{
|
||||
case SCM_RIGHTS:
|
||||
if (!sock->ops || sock->ops->family != PF_UNIX)
|
||||
goto error;
|
||||
err=scm_fp_copy(cmsg, &p->fp);
|
||||
if (err<0)
|
||||
goto error;
|
||||
|
|
Загрузка…
Ссылка в новой задаче