Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

security/apparmor/apparmorfs.c __aafs_profile_mkdir() -> aa_deref_parent()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
DATA_SOURCE 0 p $0
USER_DATA 0 *p->rawdata->data 0-255
USER_PTR 0 p->rawdata->data
HALF_LOCKED2 &ns->lock

security/apparmor/policy.c __remove_profile() -> aa_deref_parent()

Type Parameter Key Value
PARAM_VALUE 0 p->base.profiles.next 4096-ptr_max
CAPPED_DATA 0 &p->base.profiles 1
PARAM_COMPARE 0 &p->base.profiles == $0->base.profiles.next
LOCK2 &ns->lock
TYPE_LOCK (struct aa_ns)->lock

security/apparmor/policy.c __remove_profile() -> aa_deref_parent()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->base.list.next 4096-ptr_max
PARAM_VALUE 0 p->base.profiles.next 4096-ptr_max
CAPPED_DATA 0 p->parent 1
CAPPED_DATA 0 &p->base.profiles 1
PARAM_COMPARE 0 &p->base.profiles == $0->base.profiles.next
LOCK2 &ns->lock
TYPE_LOCK (struct aa_ns)->lock

security/apparmor/policy.c __replace_profile() -> aa_deref_parent()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->base.name 4096-ptr_max
HALF_LOCKED2 &ns->lock

security/apparmor/policy.c __replace_profile() -> aa_deref_parent()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->base.profiles.next 4096-ptr_max
CAPPED_DATA 0 &p->base.profiles 1
DATA_SOURCE 0 p $0
HALF_LOCKED2 &ns->lock

security/apparmor/policy.c aa_replace_profiles() -> aa_deref_parent()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->parent 1-u64max
USER_DATA 0 p->rawdata->size 0-1000000000[c]
LOCK2 &ns->lock
TYPE_LOCK (struct aa_ns)->lock