summaryrefslogtreecommitdiffstats
path: root/net/socket.c
diff options
context:
space:
mode:
authorSteve Grubb <sgrubb@redhat.com>2006-03-30 19:20:22 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2006-05-01 12:06:10 +0200
commitd6fe3945b42d09a1eca7ad180a1646e585b8594f (patch)
treedac7b5df78bc1a47adb9f1ae392133e5a69c6b33 /net/socket.c
parent[PATCH] deal with deadlocks in audit_free() (diff)
downloadlinux-d6fe3945b42d09a1eca7ad180a1646e585b8594f.tar.xz
linux-d6fe3945b42d09a1eca7ad180a1646e585b8594f.zip
[PATCH] sockaddr patch
On Thursday 23 March 2006 09:08, John D. Ramsdell wrote: > I noticed that a socketcall(bind) and socketcall(connect) event contain a > record of type=SOCKADDR, but I cannot see one for a system call event > associated with socketcall(accept). Recording the sockaddr of an accepted > socket is important for cross platform information flow analys Thanks for pointing this out. The following patch should address this. Signed-off-by: Steve Grubb <sgrubb@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'net/socket.c')
-rw-r--r--net/socket.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/socket.c b/net/socket.c
index 0ce12dfc7a71..02948b622bd2 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -267,6 +267,8 @@ int move_addr_to_user(void *kaddr, int klen, void __user *uaddr, int __user *ule
return -EINVAL;
if(len)
{
+ if (audit_sockaddr(klen, kaddr))
+ return -ENOMEM;
if(copy_to_user(uaddr,kaddr,len))
return -EFAULT;
}