Message ID | 20220221140649.360897-1-omosnace@redhat.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Paul Moore |
Headers | show |
Series | selinux: fix misuse of mutex_is_locked() | expand |
On Mon, Feb 21, 2022 at 9:06 AM Ondrej Mosnacek <omosnace@redhat.com> wrote: > > mutex_is_locked() tests whether the mutex is locked *by any task*, while > here we want to test if it is held *by the current task*. To avoid > false/missed WARNINGs, use lockdep_assert_is_held() and > lockdep_assert_is_not_held() instead, which do the right thing (though > they are a no-op if CONFIG_LOCKDEP=n). > > Fixes: 2554a48f4437 ("selinux: measure state and policy capabilities") > Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com> > --- > security/selinux/ima.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Merged into selinux/stable-5.17, thanks. Assuming no surprises during testing I'll send this up to Linus tomorrow.
diff --git a/security/selinux/ima.c b/security/selinux/ima.c index 727c4e43219d..ff7aea6b3774 100644 --- a/security/selinux/ima.c +++ b/security/selinux/ima.c @@ -77,7 +77,7 @@ void selinux_ima_measure_state_locked(struct selinux_state *state) size_t policy_len; int rc = 0; - WARN_ON(!mutex_is_locked(&state->policy_mutex)); + lockdep_assert_held(&state->policy_mutex); state_str = selinux_ima_collect_state(state); if (!state_str) { @@ -117,7 +117,7 @@ void selinux_ima_measure_state_locked(struct selinux_state *state) */ void selinux_ima_measure_state(struct selinux_state *state) { - WARN_ON(mutex_is_locked(&state->policy_mutex)); + lockdep_assert_not_held(&state->policy_mutex); mutex_lock(&state->policy_mutex); selinux_ima_measure_state_locked(state);
mutex_is_locked() tests whether the mutex is locked *by any task*, while here we want to test if it is held *by the current task*. To avoid false/missed WARNINGs, use lockdep_assert_is_held() and lockdep_assert_is_not_held() instead, which do the right thing (though they are a no-op if CONFIG_LOCKDEP=n). Fixes: 2554a48f4437 ("selinux: measure state and policy capabilities") Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com> --- security/selinux/ima.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)