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] [day] [month] [year] [list]
Message-ID: <20160512085142.GX29844@pali>
Date:	Thu, 12 May 2016 10:51:42 +0200
From:	Pali Rohár <pali.rohar@...il.com>
To:	Juergen Gross <jgross@...e.com>
Cc:	Guenter Roeck <linux@...ck-us.net>, linux-kernel@...r.kernel.org,
	xen-devel@...ts.xenproject.org, boris.ostrovsky@...cle.com,
	david.vrabel@...rix.com, mingo@...hat.com, peterz@...radead.org,
	Douglas_Warzecha@...l.com, jdelvare@...e.com, tglx@...utronix.de,
	hpa@...or.com, jeremy@...p.org, chrisw@...s-sol.org,
	akataria@...are.com, rusty@...tcorp.com.au,
	virtualization@...ts.linux-foundation.org, x86@...nel.org
Subject: Re: [PATCH v4 6/6] hwmon: use smp_call_on_cpu() for dell-smm i8k

On Monday 09 May 2016 16:37:01 Juergen Gross wrote:
> On 21/04/16 15:27, Pali Rohár wrote:
> > On Thursday 21 April 2016 15:12:52 Juergen Gross wrote:
> >> On 21/04/16 12:57, Pali Rohár wrote:
> >>> On Tuesday 05 April 2016 21:31:52 Pali Rohár wrote:
> >>>> On Tuesday 05 April 2016 16:54:14 Guenter Roeck wrote:
> >>>>> On Tue, Apr 05, 2016 at 07:10:07AM +0200, Juergen Gross wrote:
> >>>>>> Use the smp_call_on_cpu() function to call system management
> >>>>>> mode on cpu 0.
> >>>>>> Make call secure by adding get_online_cpus() to avoid e.g. suspend
> >>>>>> resume cycles in between.
> >>>>>>
> >>>>>> Signed-off-by: Juergen Gross <jgross@...e.com>
> >>>>>> ---
> >>>>>> V4: add call to get_online_cpus()
> >>>>>
> >>>>> Pali, any chance to test this ?
> >>>>
> >>>> I can test it, but just on machine where (probably) smm calls can be 
> >>>> send from any cpu... Need some time for testing and I believe I can do 
> >>>> that at the end of the week.
> >>>
> >>> Sorry I had absolutely no more free time last weekend :-( And same
> >>> prediction is for this weekend and also next one...
> >>
> >> Pali, I've got a Dell laptop (Latitude E6440) here. Would this device be
> >> okay for a test?
> > 
> > Hi!
> > 
> > Proper regression test should check if this patch does not break any
> > function or drivers dependent on dcdbas.ko. And should be done on both
> > notebook devices: which needs to issue that smm call on cpu 0 and also
> > on which it is not needed.
> 
> Hmm, couldn't get one which needs smm to be called on cpu 0.
> OTOH I've done various tests and added a printk() in raise_smm()
> and i8k_smm_func() issuing the cpu number it was called on.

Understood, those machines are old and probably rare now.

> > Some notebooks which needs smm call to issued from cpu 0 can be found in
> > git commit messages of i8k, dell-laptop or dcdbas kernel drivers.
> > 
> >> What would you do for testing? In case you can give me
> >> some hints how to do a sensible test I'd do it.
> > 
> > Test e.g. dell-laptop.ko driver. It provides /sys interface for changing
> > keyboard backlight or changing rfkill switches (bluetooth wifi).
> 
> Done.
> 
> > Also test tools from libsmbios (userspace) package.
> 
> Done.
> 
> > There must be no difference in output/functionality with or without your
> > patches.
> 
> Verified.
> 
> >> I've verified by adding a printk() to smp_call_on_cpu() that at least
> >> one of the modified drivers has been used during system boot.
> > 
> > Also you can patch i8k/dcdbas smm function to print cpu number on which
> > is code running (to verify that it was really called on cpu 0 as
> > needed).
> 
> Done.
> 
> I tested suspend/resume, too, as adding get_online_cpus() might have
> changed behavior. Worked like a charm. :-)

Ok, I think this should be enough. You can add my Acked-by.

-- 
Pali Rohár
pali.rohar@...il.com

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ