diff mbox series

selinux: drop unnecessary smp_load_acquire() call

Message ID 20200408090808.1219529-1-omosnace@redhat.com (mailing list archive)
State Accepted
Headers show
Series selinux: drop unnecessary smp_load_acquire() call | expand

Commit Message

Ondrej Mosnacek April 8, 2020, 9:08 a.m. UTC
In commit 66f8e2f03c02 ("selinux: sidtab reverse lookup hash table") the
corresponding load is moved under the spin lock, so there is no race
possible and we can read the count directly. The smp_store_release() is
still needed to avoid racing with the lock-free readers.

Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
---
 security/selinux/ss/sidtab.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Paul Moore April 15, 2020, 11 p.m. UTC | #1
On Wed, Apr 8, 2020 at 5:08 AM Ondrej Mosnacek <omosnace@redhat.com> wrote:
>
> In commit 66f8e2f03c02 ("selinux: sidtab reverse lookup hash table") the
> corresponding load is moved under the spin lock, so there is no race
> possible and we can read the count directly. The smp_store_release() is
> still needed to avoid racing with the lock-free readers.
>
> Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
> ---
>  security/selinux/ss/sidtab.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

Merged into selinux/next, thanks.
diff mbox series

Patch

diff --git a/security/selinux/ss/sidtab.c b/security/selinux/ss/sidtab.c
index a308ce1e6a13..f90397284a57 100644
--- a/security/selinux/ss/sidtab.c
+++ b/security/selinux/ss/sidtab.c
@@ -276,8 +276,7 @@  int sidtab_context_to_sid(struct sidtab *s, struct context *context,
 	if (*sid)
 		goto out_unlock;
 
-	/* read entries only after reading count */
-	count = smp_load_acquire(&s->count);
+	count = s->count;
 	convert = s->convert;
 
 	/* bail out if we already reached max entries */