diff options
author | Tetsuo Handa <[email protected]> | 2014-07-22 21:20:01 +0900 |
---|---|---|
committer | James Morris <[email protected]> | 2014-07-24 21:12:30 +1000 |
commit | 6d6f3328422a3bc56b0d8dd026a5de845d2abfa7 (patch) | |
tree | 51c24037355a91d098568a88f7dd9715dee8008c /drivers/scsi/mpt2sas/mpi/mpi2_init.h | |
parent | fd33c43677a7965624b46352a686a7c1e72ae4aa (diff) |
commoncap: don't alloc the credential unless needed in cap_task_prctl
In function cap_task_prctl(), we would allocate a credential
unconditionally and then check if we support the requested function.
If not we would release this credential with abort_creds() by using
RCU method. But on some archs such as powerpc, the sys_prctl is heavily
used to get/set the floating point exception mode. So the unnecessary
allocating/releasing of credential not only introduce runtime overhead
but also do cause OOM due to the RCU implementation.
This patch removes abort_creds() from cap_task_prctl() by calling
prepare_creds() only when we need to modify it.
Reported-by: Kevin Hao <[email protected]>
Signed-off-by: Tetsuo Handa <[email protected]>
Reviewed-by: Paul Moore <[email protected]>
Acked-by: Serge E. Hallyn <[email protected]>
Reviewed-by: Kees Cook <[email protected]>
Signed-off-by: James Morris <[email protected]>
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_init.h')
0 files changed, 0 insertions, 0 deletions