lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 18 Apr 2018 16:05:59 +0300
From:   Kirill Tkhai <ktkhai@...tuozzo.com>
To:     kbuild test robot <lkp@...el.com>
Cc:     kbuild-all@...org, akpm@...ux-foundation.org,
        vdavydov.dev@...il.com, shakeelb@...gle.com,
        viro@...iv.linux.org.uk, hannes@...xchg.org, mhocko@...nel.org,
        tglx@...utronix.de, pombredanne@...b.com, stummala@...eaurora.org,
        gregkh@...uxfoundation.org, sfr@...b.auug.org.au, guro@...com,
        mka@...omium.org, penguin-kernel@...ove.SAKURA.ne.jp,
        chris@...is-wilson.co.uk, longman@...hat.com, minchan@...nel.org,
        hillf.zj@...baba-inc.com, ying.huang@...el.com,
        mgorman@...hsingularity.net, jbacik@...com, linux@...ck-us.net,
        linux-kernel@...r.kernel.org, linux-mm@...ck.org,
        willy@...radead.org, lirongqing@...du.com, aryabinin@...tuozzo.com
Subject: Re: [PATCH v2 04/12] mm: Assign memcg-aware shrinkers bitmap to memcg

Hi,

On 18.04.2018 15:55, kbuild test robot wrote:
> Hi Kirill,
> 
> Thank you for the patch! Perhaps something to improve:
> 
> [auto build test WARNING on mmotm/master]
> [also build test WARNING on next-20180418]
> [cannot apply to v4.17-rc1]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
> 
> url:    https://github.com/0day-ci/linux/commits/Kirill-Tkhai/Improve-shrink_slab-scalability-old-complexity-was-O-n-2-new-is-O-n/20180418-184501
> base:   git://git.cmpxchg.org/linux-mmotm.git master
> config: x86_64-randconfig-x011-201815 (attached as .config)
> compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
> reproduce:
>         # save the attached .config to linux build tree
>         make ARCH=x86_64 
> 
> Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
> http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings
> 
> All warnings (new ones prefixed by >>):
> 
>    mm/memcontrol.c: In function 'expand_shrinker_maps':
>>> mm/memcontrol.c:402:9: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
>      return ret;>             ^~~

thanks for reporting this. Actually in terms of kernel it's a false positive
(since this function is called at time, when for_each_node() iterates not empty
list), but of course, I'll add ret initialization to silence the compiler.

This should not prevent the review of the patchset, so I'm waiting for people's
comments about it before resending v3.

> 
> vim +/ret +402 mm/memcontrol.c
> 
>    377	
>    378	int expand_shrinker_maps(int old_nr, int nr)
>    379	{
>    380		int id, size, old_size, node, ret;
>    381		struct mem_cgroup *memcg;
>    382	
>    383		old_size = old_nr / BITS_PER_BYTE;
>    384		size = nr / BITS_PER_BYTE;
>    385	
>    386		down_write(&shrinkers_max_nr_rwsem);
>    387		for_each_node(node) {
>    388			idr_for_each_entry(&mem_cgroup_idr, memcg, id) {
>    389				if (id == 1)
>    390					memcg = NULL;
>    391				ret = memcg_expand_maps(memcg, node, size, old_size);
>    392				if (ret)
>    393					goto unlock;
>    394			}
>    395	
>    396			/* root_mem_cgroup is not initialized yet */
>    397			if (id == 0)
>    398				ret = memcg_expand_maps(NULL, node, size, old_size);
>    399		}
>    400	unlock:
>    401		up_write(&shrinkers_max_nr_rwsem);
>  > 402		return ret;
>    403	}
>    404	#else /* CONFIG_SLOB */
>    405	static void get_shrinkers_max_nr(void) { }
>    406	static void put_shrinkers_max_nr(void) { }
>    407	
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Kirill

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ