apparmor: fix oops, validate buffer size in apparmor_setprocattr()
authorVegard Nossum <[email protected]>
Thu, 7 Jul 2016 20:41:11 +0000 (13:41 -0700)
committerJames Morris <[email protected]>
Fri, 8 Jul 2016 00:26:25 +0000 (10:26 +1000)
commit30a46a4647fd1df9cf52e43bf467f0d9265096ca
tree2cec69fc7fc82731f7a1845eba336aeb5d867cc8
parentac904ae6e6f0a56be7b9a1cf66fbd50dd025fb06
apparmor: fix oops, validate buffer size in apparmor_setprocattr()

When proc_pid_attr_write() was changed to use memdup_user apparmor's
(interface violating) assumption that the setprocattr buffer was always
a single page was violated.

The size test is not strictly speaking needed as proc_pid_attr_write()
will reject anything larger, but for the sake of robustness we can keep
it in.

SMACK and SELinux look safe to me, but somebody else should probably
have a look just in case.

Based on original patch from Vegard Nossum <[email protected]>
modified for the case that apparmor provides null termination.

Fixes: bb646cdb12e75d82258c2f2e7746d5952d3e321a
Reported-by: Vegard Nossum <[email protected]>
Cc: Al Viro <[email protected]>
Cc: John Johansen <[email protected]>
Cc: Paul Moore <[email protected]>
Cc: Stephen Smalley <[email protected]>
Cc: Eric Paris <[email protected]>
Cc: Casey Schaufler <[email protected]>
Cc: [email protected]
Signed-off-by: John Johansen <[email protected]>
Reviewed-by: Tyler Hicks <[email protected]>
Signed-off-by: James Morris <[email protected]>
security/apparmor/lsm.c