linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Moore <paul@paul-moore.com>
To: penguin-kernel@i-love.sakura.ne.jp
Cc: selinux@tycho.nsa.gov,
	syzbot+ac488b9811036cea7ea0@syzkaller.appspotmail.com,
	Eric Paris <eparis@parisplace.org>,
	linux-kernel@vger.kernel.org, peter.enderborg@sony.com,
	Stephen Smalley <sds@tycho.nsa.gov>,
	syzkaller-bugs@googlegroups.com
Subject: Re: [PATCH] selinux: Add __GFP_NOWARN to allocation at str_read()
Date: Wed, 12 Sep 2018 23:02:02 -0400	[thread overview]
Message-ID: <CAHC9VhT-Thu6KppC-MWzqkB7R1CaQA9DWXOQnG0b2uS9+rvzoA@mail.gmail.com> (raw)
In-Reply-To: <f3bcebc6-47a7-518e-70f7-c7e167621841@I-love.SAKURA.ne.jp>

On Fri, Sep 7, 2018 at 12:43 PM Tetsuo Handa
<penguin-kernel@i-love.sakura.ne.jp> wrote:
> syzbot is hitting warning at str_read() [1] because len parameter can
> become larger than KMALLOC_MAX_SIZE. We don't need to emit warning for
> this case.
>
> [1] https://syzkaller.appspot.com/bug?id=7f2f5aad79ea8663c296a2eedb81978401a908f0
>
> Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> Reported-by: syzbot <syzbot+ac488b9811036cea7ea0@syzkaller.appspotmail.com>
> ---
>  security/selinux/ss/policydb.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c
> index e9394e7..f4eadd3 100644
> --- a/security/selinux/ss/policydb.c
> +++ b/security/selinux/ss/policydb.c
> @@ -1101,7 +1101,7 @@ static int str_read(char **strp, gfp_t flags, void *fp, u32 len)
>         if ((len == 0) || (len == (u32)-1))
>                 return -EINVAL;
>
> -       str = kmalloc(len + 1, flags);
> +       str = kmalloc(len + 1, flags | __GFP_NOWARN);
>         if (!str)
>                 return -ENOMEM;

Thanks for the patch.

My eyes are starting to glaze over a bit chasing down all of the
different kmalloc() code paths trying to ensure that this always does
the right thing based on size of the allocation and the different slab
allocators ... are we sure that this will always return NULL when (len
+ 1) is greater than KMALLOC_MAX_SIZE for the different slab allocator
configurations?

-- 
paul moore
www.paul-moore.com

  reply	other threads:[~2018-09-13  3:02 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-07 12:48 WARNING: kmalloc bug in str_read syzbot
2018-09-07 16:42 ` [PATCH] selinux: Add __GFP_NOWARN to allocation at str_read() Tetsuo Handa
2018-09-13  3:02   ` Paul Moore [this message]
2018-09-13  6:26     ` Tetsuo Handa
2018-09-13  7:12       ` peter enderborg
2018-09-13 11:11         ` Michal Hocko
2018-09-13 12:55           ` peter enderborg
2018-09-13 13:03             ` Dmitry Vyukov
2018-09-13 19:35             ` Paul Moore
2018-09-13 19:28         ` Paul Moore
2018-09-13 19:23       ` Paul Moore
2018-09-13  8:01     ` Dmitry Vyukov
2018-09-07 21:24 ` WARNING: kmalloc bug in str_read syzbot

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=CAHC9VhT-Thu6KppC-MWzqkB7R1CaQA9DWXOQnG0b2uS9+rvzoA@mail.gmail.com \
    --to=paul@paul-moore.com \
    --cc=eparis@parisplace.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=penguin-kernel@i-love.sakura.ne.jp \
    --cc=peter.enderborg@sony.com \
    --cc=sds@tycho.nsa.gov \
    --cc=selinux@tycho.nsa.gov \
    --cc=syzbot+ac488b9811036cea7ea0@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).