lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f9b2b03b-24b9-49be-825f-7eb1aea59bee@lucifer.local>
Date: Sat, 7 Sep 2024 19:31:14 +0100
From: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>
To: "Liam R. Howlett" <Liam.Howlett@...cle.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>, maple-tree@...ts.infradead.org,
        linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] maple_tree: Mark three functions as __maybe_unused

On Fri, Sep 06, 2024 at 10:15:06PM GMT, Liam R. Howlett wrote:
> People keep trying to remove three functions that are going to be used
> in a feature that is being developed.  Dropping the functions entirely
> may end up with people trying to use the bit for other uses, as people
> have tried in the past.
>
> Adding __maybe_unused stops compilers complaining about the unused
> functions so they can be silently optimised out of the compiled code and
> people won't try to claim the bit for another use.
>
> Link: https://lore.kernel.org/all/20230726080916.17454-2-zhangpeng.00@bytedance.com/
> Link: https://lore.kernel.org/all/202408310728.S7EE59BN-lkp@intel.com/
> Signed-off-by: Liam R. Howlett <Liam.Howlett@...cle.com>

Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>

> ---
>  lib/maple_tree.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index 4f34e50c92b5..20990ecba2dd 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -348,17 +348,17 @@ static inline void *mte_safe_root(const struct maple_enode *node)
>  	return (void *)((unsigned long)node & ~MAPLE_ROOT_NODE);
>  }
>
> -static inline void *mte_set_full(const struct maple_enode *node)
> +static inline void __maybe_unused *mte_set_full(const struct maple_enode *node)
>  {
>  	return (void *)((unsigned long)node & ~MAPLE_ENODE_NULL);
>  }
>
> -static inline void *mte_clear_full(const struct maple_enode *node)
> +static inline void __maybe_unused *mte_clear_full(const struct maple_enode *node)
>  {
>  	return (void *)((unsigned long)node | MAPLE_ENODE_NULL);
>  }
>
> -static inline bool mte_has_null(const struct maple_enode *node)
> +static inline bool __maybe_unused mte_has_null(const struct maple_enode *node)
>  {
>  	return (unsigned long)node & MAPLE_ENODE_NULL;
>  }
> --
> 2.43.0
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ