linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Dmitry Vyukov <dvyukov@google.com>
Cc: syzbot <syzbot+0b06ef9b44d00d600183@syzkaller.appspotmail.com>,
	 Russell King - ARM Linux <linux@armlinux.org.uk>,
	Linus Walleij <linus.walleij@linaro.org>,
	 Linux ARM <linux-arm-kernel@lists.infradead.org>,
	 Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	 Linux-MM <linux-mm@kvack.org>,
	syzkaller-bugs <syzkaller-bugs@googlegroups.com>
Subject: Re: [syzbot] kernel panic: corrupted stack end in openat
Date: Tue, 16 Mar 2021 16:44:45 +0100	[thread overview]
Message-ID: <CAK8P3a0zA9pv005d_P_e64j4EwXDh75yC6gNGRVdyy-VzO+7Fw@mail.gmail.com> (raw)
In-Reply-To: <CACT4Y+aC0YWU6gM32S3NoT+-wR7B1-_rhPyh4w542h21UCRRGw@mail.gmail.com>

On Tue, Mar 16, 2021 at 11:17 AM Dmitry Vyukov <dvyukov@google.com> wrote:
> On Tue, Mar 16, 2021 at 11:02 AM Arnd Bergmann <arnd@arndb.de> wrote:
> > > On Tue, Mar 16, 2021 at 8:18 AM syzbot
>
> > > > [<8073772c>] (integrity_kernel_read) from [<8073a904>] (ima_calc_file_hash_tfm+0x178/0x228 security/integrity/ima/ima_crypto.c:484)
> > > > [<8073a78c>] (ima_calc_file_hash_tfm) from [<8073ae2c>] (ima_calc_file_shash security/integrity/ima/ima_crypto.c:515 [inline])
> > > > [<8073a78c>] (ima_calc_file_hash_tfm) from [<8073ae2c>] (ima_calc_file_hash+0x124/0x8b8 security/integrity/ima/ima_crypto.c:572)
> >
> > ima_calc_file_hash_tfm() has a SHASH_DESC_ON_STACK(), which by itself can
> > use up 512 bytes, but KASAN sometimes triples this number. However, I see
> > you do not actually have KASAN enabled, so there is probably more to it.
>
> The compiler is gcc version 10.2.1 20210110 (Debian 10.2.1-6)

Ok, building with Ubuntu 10.2.1-1ubuntu1 20201207 locally, that's
the closest I have installed, and I think the Debian and Ubuntu versions
are generally quite close in case of gcc since they are maintained by
the same packagers.

I see ima_calc_field_array_hash_tfm() shows up as one of the larger
stack users, but not alarmingly high:
../security/integrity/ima/ima_crypto.c: In function
‘ima_calc_field_array_hash_tfm’:
../security/integrity/ima/ima_crypto.c:624:1: warning: the frame size
of 664 bytes is larger than 600 bytes [-Wframe-larger-than=]
none of the other functions from the call chain have more than 600 bytes
in this combination of config/compiler/sourcetree.

In combination, I don't get to more than ~2300 bytes:

    [<818033d8>] (panic)
 52 [<8181f5b8>] (__schedule)
  0 [<81820430>] (preempt_schedule_common)
  0 [<818204dc>] (preempt_schedule)
  0 [<8048c7c0>] (kernel_init_free_pages)
148 [<804916ac>] (get_page_from_freelist
212 [<80493264>] (__alloc_pages_nodemask)
 44 [<8042f034>] (page_cache_ra_unbounded)
 36 [<8042f2c8>] (do_page_cache_ra)
 28 [<8042f418>] (ondemand_readahead)
  0 [<8042f894>] (page_cache_async_ra)
 68 [<80420ac8>] (filemap_get_pages)
120 [<80421110>] (filemap_read)
 36 [<804215f0>] (generic_file_read_iter)
  8 [<805ff430>] (ext4_file_read_iter)
 96 [<804da3cc>] (__kernel_read)
  8 [<8073772c>] (integrity_kernel_read)
412 [<8073a78c>] (ima_calc_file_hash_tfm)
164 [<8073ad08>] (ima_calc_file_hash)
106 [<8073bf84>] (ima_collect_measurement)
332 [<80738fec>] (process_measurement)
 24 [<8073979c>] (ima_file_check)
172 [<804ec66c>] (path_openat)
152 [<804ef670>] (do_filp_open)
 40 [<804d79c4>] (do_sys_openat2)

> Re printing FP, syzbot does not use custom patches:
> http://bit.do/syzbot#no-custom-patches
> But this does not seem to be syzbot-specific. It seems that any arm32
> stack overflow report will be unactionable, so I think it would be
> useful to include this into the mainline kernel to make overflow
> reports useful for everybody (and for syzbot as a side effect).

ok.

       Arnd


  reply	other threads:[~2021-03-16 15:45 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-16  7:18 [syzbot] kernel panic: corrupted stack end in openat syzbot
2021-03-16  7:59 ` Dmitry Vyukov
2021-03-16  9:24   ` Russell King - ARM Linux admin
2021-03-16  9:51     ` Dmitry Vyukov
2021-03-16 10:02   ` Arnd Bergmann
2021-03-16 10:17     ` Dmitry Vyukov
2021-03-16 15:44       ` Arnd Bergmann [this message]
2021-03-16 15:51         ` Russell King - ARM Linux admin
2021-03-16 16:03           ` Dmitry Vyukov
2021-03-16 16:03           ` Arnd Bergmann
2021-03-16 16:13             ` Dmitry Vyukov
2021-03-16 16:28               ` Arnd Bergmann
2021-03-17  7:47                 ` Dmitry Vyukov
2021-03-17  8:31                   ` Arnd Bergmann
2021-03-17  8:50                     ` Dmitry Vyukov
2021-03-16 10:37     ` Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAK8P3a0zA9pv005d_P_e64j4EwXDh75yC6gNGRVdyy-VzO+7Fw@mail.gmail.com \
    --to=arnd@arndb.de \
    --cc=akpm@linux-foundation.org \
    --cc=dvyukov@google.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux@armlinux.org.uk \
    --cc=syzbot+0b06ef9b44d00d600183@syzkaller.appspotmail.com \
    --cc=syzkaller-bugs@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).