Re: [PATCH] selinux: remove avc_disable() as it is no longer used

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, May 6, 2023 at 12:51 AM Paul Moore <paul@xxxxxxxxxxxxxx> wrote:
>
> With the removal of the runtime disable functionality we no longer
> have any callers of the avc_disable() function, remove it.
>
> Signed-off-by: Paul Moore <paul@xxxxxxxxxxxxxx>
> ---
>  security/selinux/avc.c         | 19 -------------------
>  security/selinux/include/avc.h |  3 ---
>  2 files changed, 22 deletions(-)
>
> diff --git a/security/selinux/avc.c b/security/selinux/avc.c
> index eaed5c2da02b..6bc65830e1a9 100644
> --- a/security/selinux/avc.c
> +++ b/security/selinux/avc.c
> @@ -1203,22 +1203,3 @@ u32 avc_policy_seqno(void)
>  {
>         return selinux_avc.avc_cache.latest_notif;
>  }
> -
> -void avc_disable(void)
> -{
> -       /*
> -        * If you are looking at this because you have realized that we are
> -        * not destroying the avc_node_cachep it might be easy to fix, but
> -        * I don't know the memory barrier semantics well enough to know.  It's
> -        * possible that some other task dereferenced security_ops when
> -        * it still pointed to selinux operations.  If that is the case it's
> -        * possible that it is about to use the avc and is about to need the
> -        * avc_node_cachep.  I know I could wrap the security.c security_ops call
> -        * in an rcu_lock, but seriously, it's not worth it.  Instead I just flush
> -        * the cache and get that memory back.
> -        */
> -       if (avc_node_cachep) {
> -               avc_flush();
> -               /* kmem_cache_destroy(avc_node_cachep); */
> -       }
> -}
> diff --git a/security/selinux/include/avc.h b/security/selinux/include/avc.h
> index 9301222c8e55..9e055f74daf6 100644
> --- a/security/selinux/include/avc.h
> +++ b/security/selinux/include/avc.h
> @@ -168,9 +168,6 @@ int avc_get_hash_stats(char *page);
>  unsigned int avc_get_cache_threshold(void);
>  void avc_set_cache_threshold(unsigned int cache_threshold);
>
> -/* Attempt to free avc node cache */
> -void avc_disable(void);
> -
>  #ifdef CONFIG_SECURITY_SELINUX_AVC_STATS
>  DECLARE_PER_CPU(struct avc_cache_stats, avc_cache_stats);
>  #endif
> --
> 2.40.1
>

The same patch (modulo subject & description) has already been posted
by Christian:
https://lore.kernel.org/selinux/20230420150503.22227-3-cgzones@xxxxxxxxxxxxxx/

-- 
Ondrej Mosnacek
Senior Software Engineer, Linux Security - SELinux kernel
Red Hat, Inc.





[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux