[...]
> What happened in our specific case was that the last
> valid character in the 
> Rock Ridge file name was exactly the last byte in a
> physical page. As the 
> strncat() implementation in the Solaris kernel
> ignores POSIX rules and 
> overshoots by one with accessing the source memory,
> we ended up in kernel 
> panic from accessing a non-existent page.......
> fortunately we had a kernel 
> crash dump.
> 
> Such problems can only be detected and fixed
> correctly if the person who works 
> on the problem knows how to debug kernel crash dumps
> and at the same time 
> correctly understands the low level structures of the
> filesystem. These people 
> are rare and BTW: the initial analysis from the Sun
> people who first debugged 
> the crash dump was wrong as they missed the needed
> knowledge on the filesystem 
> structure.
> 
> As you see, it is unpredicatble what an incorrect
> implementation may finally 
> cause as result.
> 
> Jörg

Attached is the test program I used; if you can think of some way to detect
accesses of bytes beyond the permitted ones _within_ the last word, feel free
to change it.
-- 
This message posted from opensolaris.org

Attachment: test.c
Description: Binary data

_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to