Re: [PATCH 05/62] radix tree: Add a missing cast to gfp_t

Luc Van Oostenryck
2017-11-22T21:29:31Z

On Wed, Nov 22, 2017 at 01:06:42PM -0800, Matthew Wilcox wrote:
> From: Matthew Wilcox <mawilcox@microsoft.com>
>
> sparse complains about an invalid type assignment.
>
> Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
> ---
> lib/radix-tree.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/radix-tree.c b/lib/radix-tree.c
> index c8d55565fafa..f00303e0b216 100644
> --- a/lib/radix-tree.c
> +++ b/lib/radix-tree.c
> @@ -178,7 +178,7 @@ static inline void root_tag_clear(struct radix_tree_root *root, unsigned tag)
>
> static inline void root_tag_clear_all(struct radix_tree_root *root)
> {
> - root->gfp_mask &= (1 << ROOT_TAG_SHIFT) - 1;
> + root->gfp_mask &= (__force gfp_t)((1 << ROOT_TAG_SHIFT) - 1);
> }
>
> static inline int root_tag_get(const struct radix_tree_root *root, unsigned tag)
> --

IMO, it would be better to define something for that in radix-tree.h,
like it has been done for ROOT_IS_IDR.

Regards,
-- Luc