summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2006-10-10 22:47:57 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-10 15:37:23 -0700
commit20241ad409fbc42d9e7f92f5fdb4783b7f1b36eb (patch)
tree2f6a12f447a259ba820ab055926bfb22400cb67b /lib
parentfa1f5ea860af34d74c1475eddde3364e71fac15d (diff)
downloadlinux-3.10-20241ad409fbc42d9e7f92f5fdb4783b7f1b36eb.tar.gz
linux-3.10-20241ad409fbc42d9e7f92f5fdb4783b7f1b36eb.tar.bz2
linux-3.10-20241ad409fbc42d9e7f92f5fdb4783b7f1b36eb.zip
[PATCH] gfp annotations: radix_tree_root
struct radix_tree_root has unused upper bits of ->gfp_mask reused for tags bitmap. Annotated. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/radix-tree.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/radix-tree.c b/lib/radix-tree.c
index 637d55608de..aa9bfd0bdbd 100644
--- a/lib/radix-tree.c
+++ b/lib/radix-tree.c
@@ -160,13 +160,13 @@ static inline int tag_get(struct radix_tree_node *node, unsigned int tag,
static inline void root_tag_set(struct radix_tree_root *root, unsigned int tag)
{
- root->gfp_mask |= (1 << (tag + __GFP_BITS_SHIFT));
+ root->gfp_mask |= (__force gfp_t)(1 << (tag + __GFP_BITS_SHIFT));
}
static inline void root_tag_clear(struct radix_tree_root *root, unsigned int tag)
{
- root->gfp_mask &= ~(1 << (tag + __GFP_BITS_SHIFT));
+ root->gfp_mask &= (__force gfp_t)~(1 << (tag + __GFP_BITS_SHIFT));
}
static inline void root_tag_clear_all(struct radix_tree_root *root)
@@ -176,7 +176,7 @@ static inline void root_tag_clear_all(struct radix_tree_root *root)
static inline int root_tag_get(struct radix_tree_root *root, unsigned int tag)
{
- return root->gfp_mask & (1 << (tag + __GFP_BITS_SHIFT));
+ return (__force unsigned)root->gfp_mask & (1 << (tag + __GFP_BITS_SHIFT));
}
/*