Oops (request_key_auth_describe) while running cve-2016-7042 from LTP

Hillf Danton hdanton at sina.com
Fri Aug 30 18:56:46 AEST 2019


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();
 }
 
 /*



More information about the Linuxppc-dev mailing list