On Wed, Nov 22, 2017 at 01:06:42PM -0800, Matthew Wilcox wrote:
> From: Matthew Wilcox <mawil...@microsoft.com>
> 
> sparse complains about an invalid type assignment.
> 
> Signed-off-by: Matthew Wilcox <mawil...@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

Reply via email to