[mmotm:master 154/499] mm/memcontrol.c:2957:17: sparse: incorrect type in assignment (different address spaces)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   git://git.cmpxchg.org/linux-mmotm.git master
head:   bb46fa8ad844d29e9f74f6209777d955a42916f6
commit: 1112ca072bdf33b4e2affa3e4087048333343a08 [154/499] memcg: add pointer to owner cache to memcg_cache_params
reproduce: make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> mm/memcontrol.c:2957:17: sparse: incorrect type in assignment (different address spaces)
   mm/memcontrol.c:2957:17:    expected struct memcg_cache_params *volatile <noident>
   mm/memcontrol.c:2957:17:    got struct memcg_cache_params [noderef] <asn:4>*<noident>
   mm/slab.h:162:18: sparse: incompatible types in comparison expression (different address spaces)
   mm/slab.h:162:18: sparse: incompatible types in comparison expression (different address spaces)
   mm/slab.h:162:18: sparse: incompatible types in comparison expression (different address spaces)
   mm/slab.h:162:18: sparse: incompatible types in comparison expression (different address spaces)
   mm/memcontrol.c:4575:21: sparse: incompatible types in comparison expression (different address spaces)
   mm/memcontrol.c:4577:21: sparse: incompatible types in comparison expression (different address spaces)
   mm/memcontrol.c:6014:31: sparse: incompatible types in comparison expression (different address spaces)

vim +2957 mm/memcontrol.c

55007d84 Glauber Costa    2012-12-18  2941  		for (i = 0; i < memcg_limited_groups_array_size; i++) {
55007d84 Glauber Costa    2012-12-18  2942  			if (!cur_params->memcg_caches[i])
55007d84 Glauber Costa    2012-12-18  2943  				continue;
f8570263 Vladimir Davydov 2014-01-23  2944  			new_params->memcg_caches[i] =
55007d84 Glauber Costa    2012-12-18  2945  						cur_params->memcg_caches[i];
55007d84 Glauber Costa    2012-12-18  2946  		}
55007d84 Glauber Costa    2012-12-18  2947  
55007d84 Glauber Costa    2012-12-18  2948  		/*
55007d84 Glauber Costa    2012-12-18  2949  		 * Ideally, we would wait until all caches succeed, and only
55007d84 Glauber Costa    2012-12-18  2950  		 * then free the old one. But this is not worth the extra
55007d84 Glauber Costa    2012-12-18  2951  		 * pointer per-cache we'd have to have for this.
55007d84 Glauber Costa    2012-12-18  2952  		 *
55007d84 Glauber Costa    2012-12-18  2953  		 * It is not a big deal if some caches are left with a size
55007d84 Glauber Costa    2012-12-18  2954  		 * bigger than the others. And all updates will reset this
55007d84 Glauber Costa    2012-12-18  2955  		 * anyway.
55007d84 Glauber Costa    2012-12-18  2956  		 */
f8570263 Vladimir Davydov 2014-01-23 @2957  		rcu_assign_pointer(s->memcg_params, new_params);
f8570263 Vladimir Davydov 2014-01-23  2958  		if (cur_params)
f8570263 Vladimir Davydov 2014-01-23  2959  			kfree_rcu(cur_params, rcu_head);
55007d84 Glauber Costa    2012-12-18  2960  	}
55007d84 Glauber Costa    2012-12-18  2961  	return 0;
55007d84 Glauber Costa    2012-12-18  2962  }
55007d84 Glauber Costa    2012-12-18  2963  
363a044f Vladimir Davydov 2014-01-23  2964  int memcg_alloc_cache_params(struct mem_cgroup *memcg, struct kmem_cache *s,
363a044f Vladimir Davydov 2014-01-23  2965  			     struct kmem_cache *root_cache)

:::::: The code at line 2957 was first introduced by commit
:::::: f8570263ee16eb1d5038b8e20d7db3a68bbb2b49 memcg, slab: RCU protect memcg_params for root caches

:::::: TO: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

---
0-DAY kernel build testing backend              Open Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild                 Intel Corporation

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]