From mboxrd@z Thu Jan 1 00:00:00 1970 From: will.deacon@arm.com (Will Deacon) Date: Tue, 9 Feb 2016 17:23:11 +0000 Subject: [PATCH v2] arm64: disable kasan when accessing frame->fp in unwind_frame In-Reply-To: <56BA1F18.2020103@linaro.org> References: <1454951589-18238-1-git-send-email-yang.shi@linaro.org> <20160209165414.GT22874@arm.com> <56BA1F18.2020103@linaro.org> Message-ID: <20160209172310.GV22874@arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, Feb 09, 2016 at 09:17:12AM -0800, Shi, Yang wrote: > On 2/9/2016 8:54 AM, Will Deacon wrote: > >On Mon, Feb 08, 2016 at 09:13:09AM -0800, Yang Shi wrote: > >>When boot arm64 kernel with KASAN enabled, the below error is reported by > >>kasan: > >> > >>BUG: KASAN: out-of-bounds in unwind_frame+0xec/0x260 at addr ffffffc064d57ba0 > >>Read of size 8 by task pidof/499 > >>page:ffffffbdc39355c0 count:0 mapcount:0 mapping: (null) index:0x0 > >>flags: 0x0() > >>page dumped because: kasan: bad access detected > >>CPU: 2 PID: 499 Comm: pidof Not tainted 4.5.0-rc1 #119 > >>Hardware name: Freescale Layerscape 2085a RDB Board (DT) > >>Call trace: > >>[] dump_backtrace+0x0/0x290 > >>[] show_stack+0x24/0x30 > >>[] dump_stack+0x8c/0xd8 > >>[] kasan_report_error+0x558/0x588 > >>[] kasan_report+0x60/0x70 > >>[] __asan_load8+0x60/0x78 > >>[] unwind_frame+0xec/0x260 > >>[] get_wchan+0x110/0x160 > >>[] do_task_stat+0xb44/0xb68 > >>[] proc_tgid_stat+0x40/0x50 > >>[] proc_single_show+0x88/0xd8 > >>[] seq_read+0x370/0x770 > >>[] __vfs_read+0xc8/0x1d8 > >>[] vfs_read+0x94/0x168 > >>[] SyS_read+0xb8/0x128 > >>[] el0_svc_naked+0x24/0x28 > >>Memory state around the buggy address: > >> ffffffc064d57a80: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 00 f4 f4 > >> ffffffc064d57b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > >>>ffffffc064d57b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > >> ^ > >> ffffffc064d57c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > >> ffffffc064d57c80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > >> > >>Since the shadow byte pointed by the report is 0, so it may mean it is just hit > >>oob in non-current task. So, disable the instrumentation to silence these > >>warnings. > > > >Curious, but how did you trigger this? I'm just trying to confirm that > >mainline is affected, but my machine boots happily with KASAN and STACKTRACE > >selected and I can cat /proc/self/{stack,stat} quite happily. > > > >What am I missing? > > I'm using mainline 4.5-rc1 kernel with gcc 5.2. And, my rootfs is NFS > mounted. > > Not sure if other kernel configs, i.e tracing stuff will have impact on the > trigger since I'm not using the defconfig. If you could put your .config somewhere, that would be helpful, please. Will