On Fri, 30 Aug 2019 12:18:07 +0530 Sachin Sant wrote:
> 
> [ 8074.351033] BUG: Kernel NULL pointer dereference at 0x00000038
> [ 8074.351046] Faulting instruction address: 0xc0000000004ddf30
> [ 8074.351052] Oops: Kernel access of bad area, sig: 11 [#1]
> [ 8074.351056] LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries

Add rcu gp.

--- a/security/keys/request_key_auth.c
+++ b/security/keys/request_key_auth.c
@@ -64,12 +64,19 @@ static int request_key_auth_instantiate(
 static void request_key_auth_describe(const struct key *key,
                                      struct seq_file *m)
 {
-       struct request_key_auth *rka = dereference_key_rcu(key);
+       struct request_key_auth *rka;
+
+       rcu_read_lock();
+       rka = dereference_key_rcu(key);
+       if (!rka)
+               goto out;
 
        seq_puts(m, "key:");
        seq_puts(m, key->description);
        if (key_is_positive(key))
                seq_printf(m, " pid:%d ci:%zu", rka->pid, rka->callout_len);
+out:
+       rcu_read_unlock();
 }
 
 /*

Reply via email to