On Fri, 2020-07-10 at 14:11 +0200, Andrey Konovalov wrote:
On Fri, Jul 10, 2020 at 3:54 AM Walter Wu
<walter-zh.wu(a)mediatek.com> wrote:
>
> On Thu, 2020-07-09 at 23:34 +0800, kernel test robot wrote:
> > tree:
https://urldefense.com/v3/__https://github.com/hnaz/linux-mm__;!!CTRNKA9w...
master
> > head: 12c0de83d877ea6b9078782f10f7a4a196aa16b1
> > commit: 16d798d57643c9b50fe8922c8324081f3c5bec78 [145/290] rcu: kasan: record
and print call_rcu() call stack
> > config: s390-allyesconfig (attached as .config)
> > compiler: s390-linux-gcc (GCC) 9.3.0
> > reproduce (this is a W=1 build):
> > wget
https://urldefense.com/v3/__https://raw.githubusercontent.com/intel/lkp-t...
-O ~/bin/make.cross
> > chmod +x ~/bin/make.cross
> > git checkout 16d798d57643c9b50fe8922c8324081f3c5bec78
> > # save the attached .config to linux build tree
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross
ARCH=s390
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp(a)intel.com>
> >
> > Note: the hnaz-linux-mm/master HEAD 12c0de83d877ea6b9078782f10f7a4a196aa16b1
builds fine.
> > It only hurts bisectibility.
> >
> > All error/warnings (new ones prefixed by >>):
> >
> > mm/kasan/report.c: In function 'kasan_addr_to_page':
> > mm/kasan/report.c:130:12: warning: ordered comparison of pointer with null
pointer [-Wextra]
> > 130 | if ((addr >= (void *)PAGE_OFFSET) &&
> > | ^~
> > mm/kasan/report.c: In function 'kasan_get_free_track':
> > >> mm/kasan/report.c:185:20: error: 'struct kasan_alloc_meta' has
no member named 'free_track'
> > 185 | return &alloc_meta->free_track[i];
> > | ^~
> > >> mm/kasan/report.c:172:6: warning: variable 'i' set but not
used [-Wunused-but-set-variable]
> > 172 | int i = 0;
> > | ^
> > >> mm/kasan/report.c:186:1: warning: control reaches end of non-void
function [-Wreturn-type]
> > 186 | }
> > | ^
> > --
> > mm/kasan/common.c: In function 'kasan_set_free_info':
> > >> mm/kasan/common.c:316:23: error: 'struct kasan_alloc_meta' has
no member named 'free_track'
> > 316 | set_track(&alloc_meta->free_track[idx], GFP_NOWAIT);
> > | ^~
>
> Hi,
>
> It should not be a problem, this commit("rcu: kasan: record and print
> call_rcu() call stack") need to depend my another commit ("kasan: record
> and print the free track"). They is the same series, please see below
> information. Thanks.
Hi Walter,
If one commit depends on another, then that one commit should go
before that other one in the series. In other words, all commits from
a series should be applicable one by one and the kernel should remain
in a working state.
Thanks!
Hi Andrey,
Thanks for your reminder, I will send next patch to fix it. Thanks.
>
> The series (4):
> rcu: kasan: record and print call_rcu() call stack
> kasan: record and print the free track
> kasan: add tests for call_rcu stack recording
> kasan: update documentation for generic kasan
>
>
>
> > >> mm/kasan/common.c:306:5: warning: variable 'idx' set but not
used [-Wunused-but-set-variable]
> > 306 | u8 idx = 0;
> > | ^~~
> >
> > vim +185 mm/kasan/report.c
> >
> > 0c06f1f86c87b1 Andrey Konovalov 2017-05-03 167
> > ae8f06b31a83e5 Walter Wu 2019-09-23 168 static struct kasan_track
*kasan_get_free_track(struct kmem_cache *cache,
> > ae8f06b31a83e5 Walter Wu 2019-09-23 169 void *object, u8
tag)
> > ae8f06b31a83e5 Walter Wu 2019-09-23 170 {
> > ae8f06b31a83e5 Walter Wu 2019-09-23 171 struct kasan_alloc_meta
*alloc_meta;
> > ae8f06b31a83e5 Walter Wu 2019-09-23 @172 int i = 0;
> > ae8f06b31a83e5 Walter Wu 2019-09-23 173
> > ae8f06b31a83e5 Walter Wu 2019-09-23 174 alloc_meta =
get_alloc_info(cache, object);
> > ae8f06b31a83e5 Walter Wu 2019-09-23 175
> > ae8f06b31a83e5 Walter Wu 2019-09-23 176 #ifdef
CONFIG_KASAN_SW_TAGS_IDENTIFY
> > ae8f06b31a83e5 Walter Wu 2019-09-23 177 for (i = 0; i <
KASAN_NR_FREE_STACKS; i++) {
> > ae8f06b31a83e5 Walter Wu 2019-09-23 178 if
(alloc_meta->free_pointer_tag[i] == tag)
> > ae8f06b31a83e5 Walter Wu 2019-09-23 179 break;
> > ae8f06b31a83e5 Walter Wu 2019-09-23 180 }
> > ae8f06b31a83e5 Walter Wu 2019-09-23 181 if (i ==
KASAN_NR_FREE_STACKS)
> > ae8f06b31a83e5 Walter Wu 2019-09-23 182 i =
alloc_meta->free_track_idx;
> > ae8f06b31a83e5 Walter Wu 2019-09-23 183 #endif
> > ae8f06b31a83e5 Walter Wu 2019-09-23 184
> > ae8f06b31a83e5 Walter Wu 2019-09-23 @185 return
&alloc_meta->free_track[i];
> > ae8f06b31a83e5 Walter Wu 2019-09-23 @186 }
> > ae8f06b31a83e5 Walter Wu 2019-09-23 187
> >
> > :::::: The code at line 185 was first introduced by commit
> > :::::: ae8f06b31a83e54777514308a63f669a1fed519e kasan: add memory corruption
identification for software tag-based mode
> >
> > :::::: TO: Walter Wu <walter-zh.wu(a)mediatek.com>
> > :::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
> >
> > ---
> > 0-DAY CI Kernel Test Service, Intel Corporation
> >
https://urldefense.com/v3/__https://lists.01.org/hyperkitty/list/kbuild-a...
>