[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YMmTGD6hAKbpGWMp@kroah.com>
Date: Wed, 16 Jun 2021 07:58:48 +0200
From: Greg KH <gregkh@...uxfoundation.org>
To: Siddharth Gupta <sidgup@...eaurora.org>
Cc: bjorn.andersson@...aro.org, ohad@...ery.com,
linux-remoteproc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-msm@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, psodagud@...eaurora.org,
stable@...r.kernel.org
Subject: Re: [PATCH v3 1/4] remoteproc: core: Move cdev add before device add
On Tue, Jun 15, 2021 at 12:03:26PM -0700, Siddharth Gupta wrote:
>
> On 6/14/2021 9:56 PM, Greg KH wrote:
> > On Mon, Jun 14, 2021 at 07:21:08PM -0700, Siddharth Gupta wrote:
> > > When cdev_add is called after device_add has been called there is no
> > > way for the userspace to know about the addition of a cdev as cdev_add
> > > itself doesn't trigger a uevent notification, or for the kernel to
> > > know about the change to devt. This results in two problems:
> > > - mknod is never called for the cdev and hence no cdev appears on
> > > devtmpfs.
> > > - sysfs links to the new cdev are not established.
> > >
> > > The cdev needs to be added and devt assigned before device_add() is
> > > called in order for the relevant sysfs and devtmpfs entries to be
> > > created and the uevent to be properly populated.
> > So this means no one ever ran this code on a system that used devtmpfs?
> >
> > How was it ever tested?
> My testing was done with toybox + Android's ueventd ramdisk.
> As I mentioned in the discussion, the race became evident
> recently. I will make sure to test all such changes without
> systemd/ueventd in the future.
It isn't an issue of systemd/ueventd, those do not control /dev on a
normal system, that is what devtmpfs is for.
And devtmpfs nodes are only created if you create a struct device
somewhere with a proper major/minor, which you were not doing here, so
you must have had a static /dev on your test systems, right?
thanks,
greg k-h
Powered by blists - more mailing lists