On Monday, August 6, 2018 6:29 PM, Tetsuo Handa wrote: > On 2018/08/06 18:56, Wei Wang wrote: > > On 08/03/2018 08:11 PM, Tetsuo Handa wrote: > >> On 2018/08/03 17:32, Wei Wang wrote: > >>> +static int virtio_balloon_register_shrinker(struct virtio_balloon > >>> +*vb) { > >>> + vb->shrinker.scan_objects = virtio_balloon_shrinker_scan; > >>> + vb->shrinker.count_objects = virtio_balloon_shrinker_count; > >>> + vb->shrinker.batch = 0; > >>> + vb->shrinker.seeks = DEFAULT_SEEKS; > >> Why flags field is not set? If vb is allocated by kmalloc(GFP_KERNEL) > >> and is nowhere zero-cleared, KASAN would complain it. > > > > Could you point where in the code that would complain it? > > I only see two shrinker flags (NUMA_AWARE and MEMCG_AWARE), and > they seem not related to that. > > Where is vb->shrinker.flags initialized? Is that mandatory to be initialized? I find it's not initialized in most shrinkers (e.g. zs_register_shrinker, huge_zero_page_shrinker). Best, Wei