Oops in d_instantiate (fs/cache.c)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I've had 2 occasions where udev crashed during bootup.
The second time carried a kernel log where the following line
"BUG_ON(!list_empty(&entry->d_alias))"
in d_instantiate is triggered when udev is attempting to
create a symlink in /dev (which is tmpfs/shmem).

I've tried reproducing this by doing as udev does:
- create temporary symlink
- move temporary symlink into place
in a tight loop (multiple processes) while multiple
other processes were removing the symlink in a
tight loop.
A third script was flushing the dentry/inode cache
every so often using drop_caches.
All to no avail.

I've been digging around in the kernel sources,
but I'm not sure what the d_alias field means
and what the actual case is the BUG_ON is
meant to catch. I'd like to be able to find a way
to reproduce this, because so far it's happened only
twice in 2 weeks over multiple systems doing
many reboots in a testing setup.
Can someone explain this to me in short?

Thanks,
Stijn

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]