]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/socket.c
[IPV4]: Snmpv2 Mib IP counter ipInAddrErrors support
[linux-2.6-omap-h63xx.git] / net / socket.c
index cec0cb38b9ce2454abf80b73b003b9ad7227415c..6f2a178819726b7b878aa22a6d79954b61c1e239 100644 (file)
@@ -81,6 +81,7 @@
 #include <linux/syscalls.h>
 #include <linux/compat.h>
 #include <linux/kmod.h>
+#include <linux/audit.h>
 
 #ifdef CONFIG_NET_RADIO
 #include <linux/wireless.h>            /* Note : will define WIRELESS_EXT */
@@ -226,7 +227,7 @@ int move_addr_to_kernel(void __user *uaddr, int ulen, void *kaddr)
                return 0;
        if(copy_from_user(kaddr,uaddr,ulen))
                return -EFAULT;
-       return 0;
+       return audit_sockaddr(ulen, kaddr);
 }
 
 /**
@@ -382,9 +383,8 @@ int sock_map_fd(struct socket *sock)
                        goto out;
                }
 
-               sprintf(name, "[%lu]", SOCK_INODE(sock)->i_ino);
+               this.len = sprintf(name, "[%lu]", SOCK_INODE(sock)->i_ino);
                this.name = name;
-               this.len = strlen(name);
                this.hash = SOCK_INODE(sock)->i_ino;
 
                file->f_dentry = d_alloc(sock_mnt->mnt_sb->s_root, &this);
@@ -1906,7 +1906,11 @@ asmlinkage long sys_socketcall(int call, unsigned long __user *args)
        /* copy_from_user should be SMP safe. */
        if (copy_from_user(a, args, nargs[call]))
                return -EFAULT;
-               
+
+       err = audit_socketcall(nargs[call]/sizeof(unsigned long), a);
+       if (err)
+               return err;
+
        a0=a[0];
        a1=a[1];