Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1465173

Re: [PATCH][RFC v4] timekeeping: ignore the bogus sleep time if pm_trace is enabled

From Xunlei Pang <xpang@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH][RFC v4] timekeeping: ignore the bogus sleep time if pm_trace is enabled
Date 2016-08-18 13:10 +0200
Message-ID <s7tmW-7oo-41@gated-at.bofh.it> (permalink)
References <s7sTT-6Vc-13@gated-at.bofh.it> <s7t3z-6Zk-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 2016/08/18 at 18:36, Oliver Neukum wrote:
> On Thu, 2016-08-18 at 18:43 +0800, Chen Yu wrote:
>> Previously we encountered some memory overflow issues due to
>> the bogus sleep time brought by inconsistent rtc, which is
>> triggered when pm_trace is enabled, please refer to:
>> https://patchwork.kernel.org/patch/9286365/
>> It's improper in the first place to call __timekeeping_inject_sleeptime()
>> in case that pm_trace is enabled simply because that "hash" time value
>> will wreckage the timekeeping subsystem.
> Hi,
>
> do you know since when this bug exists?

Hi Oliver,

I think it should be since __timekeeping_inject_sleeptime() was updated to use @delta
of timespec64 type, which lets it survive the former timespec_valid_strict() check and
then results in an index larger than 31 into sleep_time_bin[] in subsequent call.

Regards,
Xunlei

>
>>  /**
>> @@ -1662,6 +1668,12 @@ void timekeeping_resume(void)
>>  	} else if (timespec64_compare(&ts_new, &timekeeping_suspend_time) > 0) {
>>  		ts_delta = timespec64_sub(ts_new, timekeeping_suspend_time);
>>  		sleeptime_injected = true;
>> +		/*
>> +		 * If rtc is used as persist clock thus it
>> +		 * would be bogus when pm_trace is enabled.
>> +		 */
>> +		if (!persistent_clock_is_usable())
>> +			sleeptime_injected = false;
>>  	}
>>  
>>  	if (sleeptime_injected)
> How about
>
> sleeptime_injected = persistent_clock_is_usable();
>
> 	Regards
> 		Oliver
>
>

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH][RFC v4] timekeeping: ignore the bogus sleep time if pm_trace is enabled Chen Yu <yu.c.chen@intel.com> - 2016-08-18 12:40 +0200
  Re: [PATCH][RFC v4] timekeeping: ignore the bogus sleep time if  pm_trace is enabled Oliver Neukum <oneukum@suse.com> - 2016-08-18 12:50 +0200
    Re: [PATCH][RFC v4] timekeeping: ignore the bogus sleep time if  pm_trace is enabled Xunlei Pang <xpang@redhat.com> - 2016-08-18 13:10 +0200
    Re: [PATCH][RFC v4] timekeeping: ignore the bogus sleep time if  pm_trace is enabled Chen Yu <yu.c.chen@intel.com> - 2016-08-18 13:20 +0200

csiph-web