]> git.baikalelectronics.ru Git - kernel.git/commit
[AF_UNIX]: Kernel memory leak fix for af_unix datagram getpeersec patch
authorCatherine Zhang <cxzhang@watson.ibm.com>
Wed, 2 Aug 2006 21:12:06 +0000 (14:12 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Aug 2006 21:12:06 +0000 (14:12 -0700)
commit411ed731096760f4cb50078677e7cf02ded93f62
treee47b1974c262a03dbabf0a148325d9089817e78e
parenta40ef924c0287b099ad4dbfeeb8b800806b804dc
[AF_UNIX]: Kernel memory leak fix for af_unix datagram getpeersec patch

From: Catherine Zhang <cxzhang@watson.ibm.com>

This patch implements a cleaner fix for the memory leak problem of the
original unix datagram getpeersec patch.  Instead of creating a
security context each time a unix datagram is sent, we only create the
security context when the receiver requests it.

This new design requires modification of the current
unix_getsecpeer_dgram LSM hook and addition of two new hooks, namely,
secid_to_secctx and release_secctx.  The former retrieves the security
context and the latter releases it.  A hook is required for releasing
the security context because it is up to the security module to decide
how that's done.  In the case of Selinux, it's a simple kfree
operation.

Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/security.h
include/net/af_unix.h
include/net/scm.h
net/ipv4/ip_sockglue.c
net/unix/af_unix.c
security/dummy.c
security/selinux/hooks.c