[PATCH] nss: Remove effectively unused struct nss_database_default_cache

Collin Funk collin.funk1@gmail.com
Tue Nov 18 06:46:32 GMT 2025


Florian Weimer <fweimer@redhat.com> writes:

> We always start with a zero-initialized cache, so this is completely
> ineffective.
>
> ---
>  nss/nss_database.c | 16 ++--------------
>  1 file changed, 2 insertions(+), 14 deletions(-)
>
> diff --git a/nss/nss_database.c b/nss/nss_database.c
> index a7ac32beb9..bed353c59b 100644
> --- a/nss/nss_database.c
> +++ b/nss/nss_database.c
> @@ -105,19 +105,10 @@ static const char per_database_defaults[NSS_DATABASE_COUNT] =
>     [nss_database_shadow_compat] = nss_database_default_nis,
>    };
>  
> -struct nss_database_default_cache
> -{
> -  nss_action_list caches[NSS_DATABASE_DEFAULT_COUNT];
> -};
> -
>  static bool
> -nss_database_select_default (struct nss_database_default_cache *cache,
> -                             enum nss_database db, nss_action_list *result)
> +nss_database_select_default (enum nss_database db, nss_action_list *result)
>  {
>    enum nss_database_default def = per_database_defaults[db];
> -  *result = cache->caches[def];
> -  if (*result != NULL)
> -    return true;
>  
>    /* Determine the default line string.  */
>    const char *line;
> @@ -337,8 +328,6 @@ nss_database_reload (struct nss_database_data *staging,
>    /* Apply defaults.  */
>    if (ok)
>      {
> -      struct nss_database_default_cache cache = { };
> -
>        /* These three default to other services if the user listed the
>  	 other service.  */
>  
> @@ -365,8 +354,7 @@ nss_database_reload (struct nss_database_data *staging,
>        for (int i = 0; i < NSS_DATABASE_COUNT; ++i)
>          if (staging->services[i] == NULL)
>            {
> -            ok = nss_database_select_default (&cache, i,
> -                                              &staging->services[i]);
> +            ok = nss_database_select_default (i, &staging->services[i]);
>              if (!ok)
>                break;
>            }

Looks like it was never used? At least in the commit it was introduced:

    $ git diff fa78feca47fdc226b46e7f6fea4c08c10fccd182^ \
        fa78feca47fdc226b46e7f6fea4c08c10fccd182

Reviewed-by: Collin Funk <collin.funk1@gmail.com>

Collin


More information about the Libc-alpha mailing list