upgrade to fedora-2.6.12-1.1398.FC4 + vserver 2.0.rc7
[linux-2.6.git] / net / ipv6 / netfilter / ip6t_LOG.c
index 9f5cfdb..bfc3d01 100644 (file)
@@ -41,7 +41,7 @@ struct in_device;
 #endif
 
 /* Use lock to serialize, so printks don't overlap */
-static spinlock_t log_lock = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(log_lock);
 
 /* One level of recursion won't kill us */
 static void dump_packet(const struct ip6t_log_info *info,
@@ -347,6 +347,14 @@ static void dump_packet(const struct ip6t_log_info *info,
        default:
                printk("PROTO=%u ", currenthdr);
        }
+
+       /* Max length: 15 "UID=4294967295 " */
+       if ((info->logflags & IP6T_LOG_UID) && recurse && skb->sk) {
+               read_lock_bh(&skb->sk->sk_callback_lock);
+               if (skb->sk->sk_socket && skb->sk->sk_socket->file)
+                       printk("UID=%u ", skb->sk->sk_socket->file->f_uid);
+               read_unlock_bh(&skb->sk->sk_callback_lock);
+       }
 }
 
 static void