[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Z30EQ2BabFjYOj81@gofer.mess.org>
Date: Tue, 7 Jan 2025 10:38:59 +0000
From: Sean Young <sean@...s.org>
To: Ma Ke <make24@...as.ac.cn>
Cc: linux-kernel@...r.kernel.org, linux-media@...r.kernel.org,
mchehab@...nel.org, stable@...r.kernel.org
Subject: Re: [PATCH] media: lirc: Fix error handling in lirc_register()
On Tue, Jan 07, 2025 at 09:51:43AM +0800, Ma Ke wrote:
> Sean Young<sean@...s.org> wrote:
> > Hi,
> >
> > On Sun, Jan 05, 2025 at 06:01:01PM +0800, Ma Ke wrote:
> > > When cdev_device_add() failed, calling put_device() to explicitly
> > > release dev->lirc_dev. Otherwise, it could cause the fault of the
> > > reference count.
> > >
> > > Found by code review.
> >
> > Interesting find, thanks for finding and reporting.
> >
> > So I think the idea is right, but there is a problem. lirc_release_device()
> > will do a put_device() on the rcdev, but no corresponding get_device() is
> > done in this code path.
> >
> >
> > Sean
> Thank you for your reply and suggestions. Following your instructions,
> I took a close look at the code. Perhaps you meant to suggest removing
> the put_device() call from lirc_release_device(), effectively making
> lirc_release_device() an empty function?
That would introduce a memory leak and presumably the rc device would never
be cleaned up, so no I don't think that would work.
I'm not sure what the right solution is yet.
Sean
Powered by blists - more mailing lists