All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: Dongliang Mu <mudongliangabcd@gmail.com>
Cc: Hillf Danton <hdanton@sina.com>,
	syzbot <syzbot+005037419ebdf14e1d87@syzkaller.appspotmail.com>,
	Igor Matheus Andrade Torrente <igormtorrente@gmail.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	linux-media@vger.kernel.org,
	syzkaller-bugs <syzkaller-bugs@googlegroups.com>
Subject: Re: [syzbot] KASAN: use-after-free Read in em28xx_close_extension
Date: Tue, 27 Jul 2021 18:33:23 +0300	[thread overview]
Message-ID: <20210727153323.GO1931@kadam> (raw)
In-Reply-To: <CAD-N9QUz_7pxAFda9QYjhJf6tGLYvHr7hF_qZ3DmtP=J_yqWAg@mail.gmail.com>

On Tue, Jul 27, 2021 at 11:13:13PM +0800, Dongliang Mu wrote:
> On Tue, Jul 27, 2021 at 10:15 PM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> >
> > On Tue, Jul 27, 2021 at 06:01:51PM +0800, Hillf Danton wrote:
> > > Along the probe path,
> > >
> > > em28xx_usb_probe
> > >   dev = kzalloc(sizeof(*dev), GFP_KERNEL);
> > >   retval = em28xx_init_dev(dev, udev, intf, nr);
> > >     em28xx_init_extension(dev);
> > >       em28xx_ir_init(struct em28xx *dev)
> > >         kref_get(&dev->ref);
> > >
> > >   kref_init(&dev->ref);
> >
> 
> Hi Dan,
> 
> I have developed a patch [1] to fix this crash. Would you like to help
> me double-check if it correctly fixes the underlying bug?
> 
> [1] [PATCH v2] [media] em28xx-input: fix refcount bug in
> em28xx_usb_disconnect  https://lkml.org/lkml/2021/7/19/263

No one likes to review patches which aren't sent over email...  :/
LKML.org doesn't give the message-id so I can't use b4 to download the
email.

That patch doesn't make any sense.  We call kref_get() at the start of
the function so we need to call kref_put() at the end.  The fact that
em28xx_ir_fini() calls kref_put() doesn't matter.  We will only call
fini if the init() succeeds (hopefully).  The em28xx_ir_init() error
handling is Ad Hoc Style but I don't see anything outright buggy.

I think Hillf's approach is correct.

regards,
dan carpenter


  reply	other threads:[~2021-07-27 15:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-14 14:27 [syzbot] KASAN: use-after-free Read in em28xx_close_extension syzbot
     [not found] ` <20210727100151.2051-1-hdanton@sina.com>
2021-07-27 14:14   ` Dan Carpenter
2021-07-27 15:13     ` Dongliang Mu
2021-07-27 15:33       ` Dan Carpenter [this message]
2021-07-28 13:39     ` Dan Carpenter
2021-10-01  8:55 ` 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=20210727153323.GO1931@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=hdanton@sina.com \
    --cc=igormtorrente@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mudongliangabcd@gmail.com \
    --cc=syzbot+005037419ebdf14e1d87@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.