sharkcz / rpms / kernel

Forked from rpms/kernel 6 years ago
Clone
Chuck Ebbert 2c4c81a
2.6.35.11 added two patches:
Chuck Ebbert 2c4c81a
  af_netlink-add-needed-scm_destroy-after-scm_send
Chuck Ebbert 2c4c81a
  fix-cred-leak-in-af_netlink
Chuck Ebbert 2c4c81a
Chuck Ebbert 2c4c81a
The first one was supposedly a backport of upstream commit
Chuck Ebbert 2c4c81a
b47030c71dfd6c8cd5cb6e551b6f7f7cfc96f6a6, but it was incomplete and the
Chuck Ebbert 2c4c81a
rest of that commit was in the second patch. I asked for the second
Chuck Ebbert 2c4c81a
patch to be reverted in 2.6.35.12, thinking it was a duplicate fix for
Chuck Ebbert 2c4c81a
the credentials leakage, and that caused the leak to return. This patch
Chuck Ebbert 2c4c81a
reverts the first of those two patches so we can apply the complete
Chuck Ebbert 2c4c81a
upstream patch.
Chuck Ebbert 2c4c81a
Chuck Ebbert 2c4c81a
Signed-off-by: Chuck Ebbert <cebbert@redhat.com>
Chuck Ebbert 2c4c81a
Chuck Ebbert 2c4c81a
--- a/net/netlink/af_netlink.c
Chuck Ebbert 2c4c81a
+++ b/net/netlink/af_netlink.c
Chuck Ebbert 2c4c81a
@@ -1323,11 +1323,8 @@
Chuck Ebbert 2c4c81a
 	if (msg->msg_flags&MSG_OOB)
Chuck Ebbert 2c4c81a
 		return -EOPNOTSUPP;
Chuck Ebbert 2c4c81a
 
Chuck Ebbert 2c4c81a
+	if (NULL == siocb->scm)
Chuck Ebbert 2c4c81a
-	if (NULL == siocb->scm) {
Chuck Ebbert 2c4c81a
 		siocb->scm = &scm;
Chuck Ebbert 2c4c81a
-		memset(&scm, 0, sizeof(scm));
Chuck Ebbert 2c4c81a
-	}
Chuck Ebbert 2c4c81a
-
Chuck Ebbert 2c4c81a
 	err = scm_send(sock, msg, siocb->scm);
Chuck Ebbert 2c4c81a
 	if (err < 0)
Chuck Ebbert 2c4c81a
 		return err;