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: <20060807233020.GH2759@elf.ucw.cz>
Date:	Tue, 8 Aug 2006 01:30:20 +0200
From:	Pavel Machek <pavel@...e.cz>
To:	Björn Steinbrink <B.Steinbrink@....de>,
	Shem Multinymous <multinymous@...il.com>,
	Robert Love <rlove@...ve.org>,
	Jean Delvare <khali@...ux-fr.org>,
	Greg Kroah-Hartman <gregkh@...e.de>,
	Alan Cox <alan@...rguk.ukuu.org.uk>,
	linux-kernel@...r.kernel.org, hdaps-devel@...ts.sourceforge.net,
	torvalds@...l.org
Subject: timeout nonsense [was Re: [PATCH 04/12] hdaps: Correct readout and remove nonsensical attributes]

Hi!

> > On 8/7/06, Pavel Machek <pavel@...e.cz> wrote:
> > >> +     int total, ret;
> > >> +     for (total=READ_TIMEOUT_MSECS; total>0; total-=RETRY_MSECS) {
> > >
> > >Could we go from 0 to timeout, not the other way around?
> > 
> > Sure.
> > (That's actually vanilla hdapsd code, moved around...)
> 
> Maybe you could convert that to sth. like this along the way?
> 
> int ret;
> unsigned long timeout = jiffies + msec_to_jiffies(READ_TIMEOUT_MSECS);
> for (;;) {
> 	ret = thinkpad_ec_lock();
> 	if (ret)
> 		return ret;
> 	ret = __hdaps_update(0);
> 	thinkpad_ec_unlock();
> 
> 	if (ret != -EBUSY)
> 		return ret;

[imagine TIMEOUT_MSEC pause here, SMM does its job?]

> 	if (time_after(timeout, jiffies))
> 		break;
> 	msleep(RETRY_MSECS);
> }
> return ret;
> 
> Rationale: http://lkml.org/lkml/2005/7/14/133 - it's also listed on the
> kerneljanitors todo list.

Please don't. New variant is _wrong_. Someone should tell
kerneljanitors :-) ... aha, and Linus.

Minimal fix would be to run one more iteration after timeout.
								Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ