Re: How is Code in do_sys_settimeofday() safe in case of SMP and Nest Kernel Path?

Nick Piggin
2006-09-30T14:37:52Z

Dong Feng wrote:
> 2006/9/30, Christoph Lameter <clameter@sgi.com>:
>
>> On Fri, 29 Sep 2006, Dong Feng wrote:
>>

>> > If the comments mean the subsequent code is SMP-safe and can prevent
>> > nest-kernel-path, how does it achieves that?
>>
>> It relies on locking outside of do_sys_settimeofday(). Seems that this
>> indicates locking is to be performed by the arch before calling
>> do_sys_settimeofday. Looks suspicious to me. Check that this function is
>> always called with the same lock.
>>
>
> Yes, that is the question. The whole invocation path is
> sys_settimeofday() -> do_sys_settimeofday()
>
> I do not find a lock embracing do_sys_settimeofday().
>
> Moreover, seems neither write operations nor read operations on sys_tz
> is protected by any locks, in sys_gettimeofday() and
> sys_settimeofday() respectively.

Did you get to the bottom of this yet? It looks like you're right,
and I suggest a seqlock might be a good option.

You should write a patch and send it to Mister Morton.

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com