From: Kay Sievers <kay.sievers@vrfy.org>
To: Maneesh Soni <maneesh@in.ibm.com>
Cc: Greg KH <greg@kroah.com>, linux-kernel@vger.kernel.org
Subject: Re: /sys/devices/system/timer registered twice
Date: Thu, 11 Nov 2004 01:12:12 +0100 [thread overview]
Message-ID: <20041111001212.GA2796@vrfy.org> (raw)
In-Reply-To: <20041110223629.GA5925@in.ibm.com>
On Wed, Nov 10, 2004 at 04:36:29PM -0600, Maneesh Soni wrote:
> On Wed, Nov 10, 2004 at 03:25:35AM +0100, Kay Sievers wrote:
> > On Tue, Nov 09, 2004 at 11:39:47AM -0800, Greg KH wrote:
> > > On Tue, Nov 09, 2004 at 08:30:43PM +0100, Kay Sievers wrote:
> > > > Hi,
> > > > I got this on a Centrino box with the latest bk:
> > > >
> > > > [kay@pim linux.kay]$ ls -l /sys/devices/system/
> > > > total 0
> > > > drwxr-xr-x 7 root root 0 Nov 8 15:12 .
> > > > drwxr-xr-x 5 root root 0 Nov 8 15:12 ..
> > > > drwxr-xr-x 3 root root 0 Nov 8 15:12 cpu
> > > > drwxr-xr-x 3 root root 0 Nov 8 15:12 i8259
> > > > drwxr-xr-x 2 root root 0 Nov 8 15:12 ioapic
> > > > drwxr-xr-x 3 root root 0 Nov 8 15:12 irqrouter
> > > > ?--------- ? ? ? ? ? timer
> > > >
> > > >
> > > > It is caused by registering two devices with the name "timer" from:
> > > >
> > > > arch/i386/kernel/time.c
> > > > arch/i386/kernel/timers/timer_pit.c
> > > >
> > > > If I change one of the names, I get two correct looking sysfs entries.
> > > >
> > > > Greg, shouldn't the driver core prevent the corruption of the first
> > > > device if another one tries to register with the same name?
> > >
> > > Yes, we should handle this. Can you try the patch below? I just sent
> > > it to Linus, as it fixes a bug that was recently introduced.
> > >
> > > The second registration should fail, and this patch will make it fail,
> > > and recover properly.
> >
> > Yes, the registration fails. But it seems that the second call to
> > create_dir(kobj) with a kobject with the same name and parent corrupts
> > the dentry from the first call.
> >
> > To test it, I just called create_dir(kobj) a second time for my video
> > driver and the sysfs entry of the successful registered kobject was
> > corrupted:
> >
> > [kay@pim ~]$ ls -la /sys/class/video4linux/
> > total 0
> > drwxr-xr-x 3 root root 0 Nov 10 02:53 .
> > drwxr-xr-x 18 root root 0 Nov 10 02:53 ..
> > ?--------- ? ? ? ? ? video0
> >
>
> Thanks for reporting this bug. I think the problem here is doing d_drop()
> for the existing directory dentry in create_dir() for error case. It should
> not be done for EEXIST. Could you please try the same test with the following
> patch applied.
My second create_dir(), also and the double "timer" registration do not corrupt
the sysfs directory from the first call anymore. Nice fix!
Thanks,
Kay
next prev parent reply other threads:[~2004-11-11 0:15 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-09 19:30 /sys/devices/system/timer registered twice Kay Sievers
2004-11-09 19:39 ` Greg KH
2004-11-10 2:25 ` Kay Sievers
2004-11-10 22:36 ` Maneesh Soni
2004-11-11 0:12 ` Kay Sievers [this message]
2004-11-12 20:50 ` Greg KH
2004-11-09 22:52 ` Greg KH
2004-11-09 23:19 ` Dmitry Torokhov
2004-11-09 23:30 ` [PATCH] timer: fix up problem where two sysdev_class devices had the same name Greg KH
-- strict thread matches above, loose matches on Subject: below --
2004-11-09 23:41 /sys/devices/system/timer registered twice Pallipadi, Venkatesh
2004-11-09 23:44 ` Greg KH
2004-11-09 23:48 Pallipadi, Venkatesh
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=20041111001212.GA2796@vrfy.org \
--to=kay.sievers@vrfy.org \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maneesh@in.ibm.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