lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4EC59BCE.6050902@atlas.cz>
Date:	Fri, 18 Nov 2011 00:42:06 +0100
From:	Jiri Polach <clarinet@...as.cz>
To:	John Stultz <john.stultz@...aro.org>
CC:	Clarinet <clarinet@...as.cz>, 647095@...s.debian.org,
	Jonathan Nieder <jrnieder@...il.com>,
	Ben Hutchings <ben@...adent.org.uk>,
	LKML <linux-kernel@...r.kernel.org>, x86@...nel.org
Subject: Re: CPU hyperthreading turned on after soft power-cycle

On 11/17/2011 9:32 PM, John Stultz wrote:
> On Wed, 2011-11-16 at 23:49 +0100, Clarinet wrote:
>> Hi all,
>>
>>>> Result of bisecting: v2.6.38-rc1 exhibits the problem. v2.6.37 and
>>>> many of the topic branches merged in the 2.6.38 merge window work ok.
>>>> Some other topic branches do not boot at all.
>>>>
>>>> Jiri: if you have gitk installed, then "git bisect visualize" can help
>>>> get a sense of what's in the middle of the regression range.
>>>> "gitk --bisect --first-parent v2.6.37..v2.6.38-rc1" might be a good way
>>>> to find mainline commits to test before finding a topic branch to delve
>>>> into.
>>>
>>> I have been able to narrow the interval manually a little bit from the
>>> "top" (the bad side) and I will go on from the bottom now. However,
>>> there seems to be a large area where kernels are unbootable for me -
>>> they mostly stop when init is called and I do not know why.
>>
>> Finally! After another 50+ compilations a have it! It took some time as
>> first I had to find a reason why some revisions did not boot (almost 2/3
>> were unbootable and the first bad commit was among them). Having this
>> solved I have been able to bisect without "skipping". The result is
>> surprising (at least for me) - believe it or not, the first bad commit
>> is 6610e089 "RTC: Rework RTC code to use timerqueue for events" from
>> John Stultz (I am sending him a copy of this message).
>>
>> I would never expect this would be a problem, but my understanding of
>> this commit is very limited, so I am certainly missing the point.
>> However, I have tried to compile 2.6.38 (which was "bad") with "Real
>> Time Clock" configuration option turned off and it behaves "normally"
>> then (= is "good").
>
> Huh. That's *very* odd.  Is your system doing anything in-particular
> with the RTC?  I don't have a clue right off, so probably the next step

Yes, it is very odd. The system does not do anything special with RTC. 
It is a diskless computational workstation.

> is doing a bit of instrumentation to try to figure out where exactly we
> trigger the behavior. Could you checkout commit 6610e089 and apply the
> patch below to see if we can't narrow it down?

With the patch applied the system does not show the strange behavior (= 
is "good").

> Could you also send your .config to me?

Sure. It is attached. I have found that if I turn CONFIG_RTC_DRV_CMOS 
off, the system behaves normally (= is "good") too.

Thank you.

Jiri Polach

> thanks
> -john
>
> diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
> index 5856167..d049344 100644
> --- a/drivers/rtc/rtc-cmos.c
> +++ b/drivers/rtc/rtc-cmos.c
> @@ -497,13 +497,13 @@ static int cmos_procfs(struct device *dev, struct seq_file *seq)
>   static const struct rtc_class_ops cmos_rtc_ops = {
>   	.read_time		= cmos_read_time,
>   	.set_time		= cmos_set_time,
> -	.read_alarm		= cmos_read_alarm,
> -	.set_alarm		= cmos_set_alarm,
> -	.proc			= cmos_procfs,
> -	.irq_set_freq		= cmos_irq_set_freq,
> -	.irq_set_state		= cmos_irq_set_state,
> -	.alarm_irq_enable	= cmos_alarm_irq_enable,
> -	.update_irq_enable	= cmos_update_irq_enable,
> +//	.read_alarm		= cmos_read_alarm,
> +//	.set_alarm		= cmos_set_alarm,
> +//	.proc			= cmos_procfs,
> +//	.irq_set_freq		= cmos_irq_set_freq,
> +//	.irq_set_state		= cmos_irq_set_state,
> +//	.alarm_irq_enable	= cmos_alarm_irq_enable,
> +//	.update_irq_enable	= cmos_update_irq_enable,
>   };
>
>   /*----------------------------------------------------------------*/



Download attachment ".config.gz" of type "application/gzip" (13021 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ