nf: IDLETIMER: Fix broken uid field in the msg
authorAmit Pundir <amit.pundir@linaro.org>
Mon, 11 May 2015 09:09:59 +0000 (14:39 +0530)
committerJohn Stultz <john.stultz@linaro.org>
Tue, 16 Feb 2016 21:51:35 +0000 (13:51 -0800)
Create uid from kuid to fix the broken uid field
in the message notifications introduced in
Change-Id: I18fc73eada512e370d7ab24fc9f890845037b729,
Otherwise we run into following build error:
---------------
  CC      net/netfilter/xt_IDLETIMER.o
net/netfilter/xt_IDLETIMER.c: In function ‘reset_timer’:
net/netfilter/xt_IDLETIMER.c:360:16: error: incompatible types when assigning to type ‘uid_t’ from type ‘kuid_t’
make[2]: *** [net/netfilter/xt_IDLETIMER.o] Error 1
---------------

Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
(cherry picked from commit 706060ba3e1dee9ec3c4a4a1480d663b6cd71cad)

Change-Id: Ifd66df45a58d1a5a60c3816c373ee3008292eee8

net/netfilter/xt_IDLETIMER.c

index a618b89f0c2b3799241cfcefb0d8b715ef2d5ebc..0975c993a94e598078647e607a4f477c8306b85c 100644 (file)
@@ -354,12 +354,8 @@ static void reset_timer(const struct idletimer_tg_info *info,
 
                /* Stores the uid resposible for waking up the radio */
                if (skb && (skb->sk)) {
-                       struct sock *sk = skb->sk;
-                       read_lock_bh(&sk->sk_callback_lock);
-                       if ((sk->sk_socket) && (sk->sk_socket->file) &&
-                   (sk->sk_socket->file->f_cred))
-                               timer->uid = sk->sk_socket->file->f_cred->uid;
-                       read_unlock_bh(&sk->sk_callback_lock);
+                       timer->uid = from_kuid_munged(current_user_ns(),
+                                               sock_i_uid(skb->sk));
                }
 
                /* checks if there is a pending inactive notification*/