"Switch !O_CREAT case to use of do_last()" causes segfault in glibc

From: walt
Date: Sat Mar 06 2010 - 12:49:39 EST

Hi Al,
commit 1f36f774b22a0ceb7dd33eca626746c81a97b6a5
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Dec 26 10:56:19 2009 -0500

Switch !O_CREAT case to use of do_last()

... and now we have all intents crap well localized

This commit is triggering a segfault when I try to open a spreadsheet in

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6d13129 in __readdir (dirp=0x0) at ../sysdeps/unix/readdir.c:45
45 ../sysdeps/unix/readdir.c: No such file or directory.
in ../sysdeps/unix/readdir.c
(gdb) bt
#0 0x00007ffff6d13129 in __readdir (dirp=0x0) at ../sysdeps/unix/readdir.c:45
#1 0x00007ffff1dc58b0 in ?? () from /usr/lib/libicuuc.so.42
#2 0x00007ffff1dc591d in ?? () from /usr/lib/libicuuc.so.42
#3 0x00007ffff1dc5d7e in uprv_tzname_4_2 () from /usr/lib/libicuuc.so.42
#4 0x00007fffd7f73601 in icu_4_2::TimeZone::initDefault() () from /usr/lib/libicui18n.so.42
#5 0x00007fffd7f738c5 in icu_4_2::TimeZone::createDefault() () from /usr/lib/libicui18n.so.42
#6 0x00007fffd7f6e5c9 in icu_4_2::Calendar::createInstance(icu_4_2::Locale const&, UErrorCode&) ()
from /usr/lib/libicui18n.so.42

Here is readdir.c:445 (from glibc-2.11):

#ifndef NOT_IN_libc
__libc_lock_lock (dirp->lock);

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/