Patch "powerpc/rtas: Validate rtas.entry before calling enter_rtas()" has been added to the 3.10-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
powerpc/rtas: Validate rtas.entry before calling enter_rtas()
to the 3.10-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
powerpc-rtas-validate-rtas.entry-before-calling-enter_rtas.patch
and it can be found in the queue-3.10 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
8832317f662c06f5c06e638f57bfe89a71c9b266Mon Sep 17 00:00:00 2001
From: Vasant Hegde <[email protected]>
Date: Fri, 16 Oct 2015 15:53:29 +0530
Subject: powerpc/rtas: Validate rtas.entry before calling enter_rtas()
From: Vasant Hegde <[email protected]>
commit 8832317f662c06f5c06e638f57bfe89a71c9b266 upstream.
Currently we do not validate rtas.entry before calling enter_rtas(). This leads to a kernel oops when user space calls rtas system call on a powernv platform (see below). This patch adds code to validate rtas.entry before making enter_rtas() call.
Oops: Exception in kernel mode, sig: 4 [#1] SMP NR_CPUS=1024 NUMA PowerNV task: c000000004294b80 ti: c0000007e1a78000 task.ti: c0000007e1a78000 NIP: 0000000000000000 LR: 0000000000009c14 CTR: c000000000423140 REGS: c0000007e1a7b920 TRAP: 0e40 Not tainted (3.18.17-340.el7_1.pkvm3_1_0.2400.1.ppc64le) MSR: 1000000000081000 <HV,ME> CR: 00000000 XER: 00000000 CFAR: c000000000009c0c SOFTE: 0 NIP [0000000000000000] (null) LR [0000000000009c14] 0x9c14 Call Trace: [c0000007e1a7bba0] [c00000000041a7f4] avc_has_perm_noaudit+0x54/0x110 (unreliable) [c0000007e1a7bd80] [c00000000002ddc0] ppc_rtas+0x150/0x2d0 [c0000007e1a7be30] [c000000000009358] syscall_exit+0x0/0x98
--- arch/powerpc/kernel/rtas.c | 3 +++ 1 file changed, 3 insertions(+)
arch/powerpc/kernel/rtas.c +3 -0
@@ -1041,6 +1041,9 @@ asmlinkage int ppc_rtas(struct rtas_argsif (!capable (CAP_SYS_ADMIN ))return -EPERM ; +if (!rtas.entry) +return -EINVAL ; +if (copy_from_user (&args, uargs,3 *sizeof (u32)) !=0 )return -EFAULT ;
Patches currently in stable-queue which might be from [email protected] are
queue-3.10/powerpc-rtas-validate-rtas.entry-before-calling-enter_rtas.patch