netfilter: fix build failure with CONNTRACK=y NAT=n
[safe/jmp/linux-2.6] / include / net / scm.h
index 423cb1d..8360e47 100644 (file)
@@ -4,26 +4,26 @@
 #include <linux/limits.h>
 #include <linux/net.h>
 #include <linux/security.h>
+#include <linux/pid.h>
+#include <linux/nsproxy.h>
 
 /* Well, we should have at least one descriptor open
  * to accept passed FDs 8)
  */
 #define SCM_MAX_FD     255
 
-struct scm_fp_list
-{
-       int             count;
-       struct file     *fp[SCM_MAX_FD];
+struct scm_fp_list {
+       struct list_head        list;
+       int                     count;
+       struct file             *fp[SCM_MAX_FD];
 };
 
-struct scm_cookie
-{
+struct scm_cookie {
        struct ucred            creds;          /* Skb credentials      */
        struct scm_fp_list      *fp;            /* Passed files         */
 #ifdef CONFIG_SECURITY_NETWORK
        u32                     secid;          /* Passed security ID   */
 #endif
-       unsigned long           seq;            /* Connection seqno     */
 };
 
 extern void scm_detach_fds(struct msghdr *msg, struct scm_cookie *scm);
@@ -52,11 +52,10 @@ static __inline__ int scm_send(struct socket *sock, struct msghdr *msg,
                               struct scm_cookie *scm)
 {
        struct task_struct *p = current;
-       scm->creds.uid = p->uid;
-       scm->creds.gid = p->gid;
-       scm->creds.pid = p->tgid;
+       scm->creds.uid = current_uid();
+       scm->creds.gid = current_gid();
+       scm->creds.pid = task_tgid_vnr(p);
        scm->fp = NULL;
-       scm->seq = 0;
        unix_get_peersec_dgram(sock, scm);
        if (msg->msg_controllen <= 0)
                return 0;
@@ -87,8 +86,7 @@ static inline void scm_passec(struct socket *sock, struct msghdr *msg, struct sc
 static __inline__ void scm_recv(struct socket *sock, struct msghdr *msg,
                                struct scm_cookie *scm, int flags)
 {
-       if (!msg->msg_control)
-       {
+       if (!msg->msg_control) {
                if (test_bit(SOCK_PASSCRED, &sock->flags) || scm->fp)
                        msg->msg_flags |= MSG_CTRUNC;
                scm_destroy(scm);