X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=net%2Fcompat.c;h=52d32f1bc7281c6da3276ae78a0cad1e63aa4426;hb=a5e7c7b447270d42c3eb4d2259f74019aca9d007;hp=8fd37cd7b501364800f6219034f9774b41b20bd5;hpb=2e6e33bab6e1996a5dec9108fb467b52b841e7a8;p=powerpc.git diff --git a/net/compat.c b/net/compat.c index 8fd37cd7b5..52d32f1bc7 100644 --- a/net/compat.c +++ b/net/compat.c @@ -285,8 +285,7 @@ void scm_detach_fds_compat(struct msghdr *kmsg, struct scm_cookie *scm) if (i > 0) { int cmlen = CMSG_COMPAT_LEN(i * sizeof(int)); - if (!err) - err = put_user(SOL_SOCKET, &cm->cmsg_level); + err = put_user(SOL_SOCKET, &cm->cmsg_level); if (!err) err = put_user(SCM_RIGHTS, &cm->cmsg_type); if (!err) @@ -476,8 +475,7 @@ asmlinkage long compat_sys_setsockopt(int fd, int level, int optname, int err; struct socket *sock; - /* SO_SET_REPLACE seems to be the same in all levels */ - if (optname == IPT_SO_SET_REPLACE) + if (level == SOL_IPV6 && optname == IPT_SO_SET_REPLACE) return do_netfilter_replace(fd, level, optname, optval, optlen);