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