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

Attempts to set date with 'date -s' hang the machine



Hi,

It has been recently reported on debian-sparc mailing list [0] that attempting to set date using 'date -s' results in a hang. I was able to reproduce it with 2.6.15.1 (on Ultra60, original report was for Ultra5) and did some preliminary debugging. It appears that the hang happens in get_compat_timespec(), called from compat_sys_clock_settime() in kernel/compat.c. I have printed the values of pointers passed to get_compat_timespec(), for the call which hangs the box they looked like this:

get_compat_timespec: ts=fffff800bf7a7e80
get_compat_timespec: ts->tv_sec=fffff800bf7a7e80
get_compat_timespec: ts->tv_nsec=fffff800bf7a7e88
get_compat_timespec: cts=ffffffffef8d7cd8
get_compat_timespec: cts->tv_sec=ffffffffef8d7cd8
get_compat_timespec: cts->tv_nsec=ffffffffef8d7cdc

I've also got the debugging output from a few other (successful)
calls to get_compat_timespec(), the output then typically looks like that:

get_compat_timespec: ts=fffff800bfbc7e80
get_compat_timespec: ts->tv_sec=fffff800bfbc7e80
get_compat_timespec: ts->tv_nsec=fffff800bfbc7e88
get_compat_timespec: cts=00000000efa23c88
get_compat_timespec: cts->tv_sec=00000000efa23c88
get_compat_timespec: cts->tv_nsec=00000000efa23c8c

Here the higher byte of the cts is set to zero, as I believe it should be for a userspace address. In the failing case the upper byte is set to ffffffff, which probably causes the problem. I'd appreciate any ideas on how to resolve this issue.

[0] http://lists.debian.org/debian-sparc/2006/01/msg00129.html

Best regards,

Jurij Smakov                                        jurij@wooyd.org
Key: http://www.wooyd.org/pgpkey/                   KeyID: C99E03CC



Reply to: