From: Andrey Borzenkov <arvidjaar@mail.ru>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, Pavel Roskin <proski@gnu.org>,
kpfleming@cox.net
Subject: [PATCH]: Fw: [Bugme-new] [Bug 1242] New: devfs oops with SMP kernel (not in UP mode)
Date: Sun, 4 Jan 2004 19:32:40 +0300 [thread overview]
Message-ID: <200401041932.40960.arvidjaar@mail.ru> (raw)
In-Reply-To: <20030915212755.5017acc7.akpm@osdl.org>
On Tuesday 16 September 2003 08:27, Andrew Morton wrote:
> Andrey,
>
> didn't we fix this?
>
>
Sorry for delay. Oops is due to concurrent d_instantiate on the same dentry;
the bug was unfortunately quite ugly to fix inside devfs itself.
The attached patch makes sure d_revalidate is always called under parent i_sem
allowing it to drop and reacquire semaphore before going to wait. It provides
both mutual exclusion with devfs_lookup and between d_revalidate, fixing
- this bug; unfortunately I do not know how to reproduce it on purpose. It
apparently needs at least true SMP that I do not have. We need two
d_revalidate's against the same dentry running concurrently
- old devfs_lookup/d_revalidate deadlock (which has been fixed a bit
differently before). This I can test using old tests.
- theoretically possible problem when dentry->d_op is changed after
d_op->d_revalidate has been tested resulting in NULL pointer dereferencing
(if (dentry->d_op->d_revalidate) dentry->d_op->d_revalidate). I am not even
sure if it is really possible.
Pavel, you have been lucky in cathing devfs bugs, could you please test this
if it works for you?
I appreciate comments about fs/namei.c changes. I tried to make them as
non-intrusive as possible. Believe me - it is the most simple way to close
devfs races.
with this resolved we can start cleaning devfs; my final goal is to autoremove
unneeded path components and get rid of devfs_name alltogether. Now when
every driver has kernel name it is enough to register using this one letting
devfsd to do the rest.
regards
-andrey
> Begin forwarded message:
>
> Date: Mon, 15 Sep 2003 21:03:04 -0700
> From: bugme-daemon@osdl.org
> To: bugme-new@lists.osdl.org
> Subject: [Bugme-new] [Bug 1242] New: devfs oops with SMP kernel (not in UP
> mode)
>
>
> http://bugme.osdl.org/show_bug.cgi?id=1242
>
> Summary: devfs oops with SMP kernel (not in UP mode)
> Kernel Version: 2.6.0-test5
> Status: NEW
> Severity: normal
> Owner: bugme-janitors@lists.osdl.org
> Submitter: kpfleming@cox.net
>
>
> Distribution: homegrown
> Hardware Environment: Intel L440GX+ with 2 Pentium III 750 CPUs, 512MB RAM
> Software Environment: kernel and LFS-built system
> Problem Description: During system startup, rapid activity (filesystem
> mounting and other) causes this oops. It can appear in various processes,
> but the call trace is always as attached. In this case, the process that
> got oops'ed was a simple bash script to mount the sysfs filesystem on /sys
> (the oops occurred during the mount operation itself as best I can tell).
> The oops does not occur on the same system with kernel recompiled with SMP
> turned off.
>
> Steps to reproduce: Boot my system with an SMP kernel :-)
>
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.
next parent reply other threads:[~2004-01-04 16:37 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20030915212755.5017acc7.akpm@osdl.org>
2004-01-04 16:32 ` Andrey Borzenkov [this message]
2004-01-04 16:49 ` [PATCH]: Fw: [Bugme-new] [Bug 1242] New: devfs oops with SMP kernel (not in UP mode) Andrey Borzenkov
2004-01-04 21:48 ` Andrew Morton
2004-01-13 8:33 ` Pavel Roskin
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=200401041932.40960.arvidjaar@mail.ru \
--to=arvidjaar@mail.ru \
--cc=akpm@osdl.org \
--cc=kpfleming@cox.net \
--cc=linux-kernel@vger.kernel.org \
--cc=proski@gnu.org \
/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.