Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / net / netlink / af_netlink.c
index 0a4db02..1201b6d 100644 (file)
@@ -1324,10 +1324,9 @@ static int netlink_sendmsg(struct kiocb *kiocb, struct socket *sock,
        if (msg->msg_flags&MSG_OOB)
                return -EOPNOTSUPP;
 
-       if (NULL == siocb->scm) {
+       if (NULL == siocb->scm)
                siocb->scm = &scm;
-               memset(&scm, 0, sizeof(scm));
-       }
+
        err = scm_send(sock, msg, siocb->scm);
        if (err < 0)
                return err;
@@ -1578,7 +1577,7 @@ int __netlink_change_ngroups(struct sock *sk, unsigned int groups)
                new = kzalloc(sizeof(*new) + NLGRPSZ(groups), GFP_ATOMIC);
                if (!new)
                        return -ENOMEM;
-               old = rcu_dereference_raw(tbl->listeners);
+               old = rcu_dereference_protected(tbl->listeners, 1);
                memcpy(new->masks, old->masks, NLGRPSZ(tbl->groups));
                rcu_assign_pointer(tbl->listeners, new);