]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/net/af_unix.h
Pull vector-domain into release branch
[linux-2.6-omap-h63xx.git] / include / net / af_unix.h
index 795f81f9ec7ff9c4e064e085d6c491d351a39f19..6de1e9e35c73e6dfe97cb44538878bf639d8e4f7 100644 (file)
@@ -53,15 +53,20 @@ struct unix_address {
 struct unix_skb_parms {
        struct ucred            creds;          /* Skb credentials      */
        struct scm_fp_list      *fp;            /* Passed files         */
+#ifdef CONFIG_SECURITY_NETWORK
+       u32                     secid;          /* Security ID          */
+#endif
 };
 
 #define UNIXCB(skb)    (*(struct unix_skb_parms*)&((skb)->cb))
 #define UNIXCREDS(skb) (&UNIXCB((skb)).creds)
+#define UNIXSID(skb)   (&UNIXCB((skb)).secid)
 
-#define unix_state_rlock(s)    spin_lock(&unix_sk(s)->lock)
-#define unix_state_runlock(s)  spin_unlock(&unix_sk(s)->lock)
-#define unix_state_wlock(s)    spin_lock(&unix_sk(s)->lock)
-#define unix_state_wunlock(s)  spin_unlock(&unix_sk(s)->lock)
+#define unix_state_lock(s)     spin_lock(&unix_sk(s)->lock)
+#define unix_state_unlock(s)   spin_unlock(&unix_sk(s)->lock)
+#define unix_state_lock_nested(s) \
+                               spin_lock_nested(&unix_sk(s)->lock, \
+                               SINGLE_DEPTH_NESTING)
 
 #ifdef __KERNEL__
 /* The AF_UNIX socket */
@@ -74,9 +79,10 @@ struct unix_sock {
        struct mutex            readlock;
         struct sock            *peer;
         struct sock            *other;
-        struct sock            *gc_tree;
+       struct list_head        link;
         atomic_t                inflight;
         spinlock_t             lock;
+       unsigned int            gc_candidate : 1;
         wait_queue_head_t       peer_wait;
 };
 #define unix_sk(__sk) ((struct unix_sock *)__sk)