mirror of https://github.com/torvalds/linux.git
lsm: use unrcu_pointer() for current->cred in security_init()
We need to directly allocate the cred's LSM state for the initial task when we initialize the LSM framework. Unfortunately, this results in a RCU related type mismatch, use the unrcu_pointer() macro to handle this a bit more elegantly. The explicit type casting still remains as we need to work around the constification of current->cred in this particular case. Reviewed-by: Xiu Jianfeng <xiujianfeng@huawei.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
This commit is contained in:
parent
0e6ebf8778
commit
9a948eefad
|
|
@ -467,7 +467,8 @@ int __init security_init(void)
|
|||
blob_sizes.lbs_inode, 0,
|
||||
SLAB_PANIC, NULL);
|
||||
|
||||
if (lsm_cred_alloc((struct cred __rcu *)current->cred, GFP_KERNEL))
|
||||
if (lsm_cred_alloc((struct cred *)unrcu_pointer(current->cred),
|
||||
GFP_KERNEL))
|
||||
panic("early LSM cred alloc failed\n");
|
||||
if (lsm_task_alloc(current))
|
||||
panic("early LSM task alloc failed\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue