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]
Date:	Mon, 30 Jun 2008 20:34:01 -0700
From:	Andrew Morton <akpm@...ux-foundation.org>
To:	OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 7/7] Fix the case of jiffies wrapping in mm/pdflush.c

On Tue, 01 Jul 2008 11:57:04 +0900 OGAWA Hirofumi <hirofumi@...l.parknet.co.jp> wrote:

> 
> 
> Signed-off-by: OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
> ---
> 
>  mm/pdflush.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff -puN mm/pdflush.c~pdfluh-jiffies-check-fix mm/pdflush.c
> --- linux-2.6/mm/pdflush.c~pdfluh-jiffies-check-fix	2008-07-01 10:19:07.000000000 +0900
> +++ linux-2.6-hirofumi/mm/pdflush.c	2008-07-01 10:19:07.000000000 +0900
> @@ -130,7 +130,7 @@ static int __pdflush(struct pdflush_work
>  		 * Thread creation: For how long have there been zero
>  		 * available threads?
>  		 */
> -		if (jiffies - last_empty_jifs > 1 * HZ) {
> +		if (time_after(jiffies, last_empty_jifs + 1 * HZ)) {
>  			/* unlocked list_empty() test is OK here */
>  			if (list_empty(&pdflush_list)) {
>  				/* unlocked test is OK here */
> @@ -151,7 +151,7 @@ static int __pdflush(struct pdflush_work
>  		if (nr_pdflush_threads <= MIN_PDFLUSH_THREADS)
>  			continue;
>  		pdf = list_entry(pdflush_list.prev, struct pdflush_work, list);
> -		if (jiffies - pdf->when_i_went_to_sleep > 1 * HZ) {
> +		if (time_after(jiffies, pdf->when_i_went_to_sleep + 1 * HZ)) {
>  			/* Limit exit rate */
>  			pdf->when_i_went_to_sleep = jiffies;
>  			break;					/* exeunt */

I don't think this actually "fixes" anything, does it?  The old code
should be correct at runtime.

I renamed the patch to "pdflush: use time_after() instead of open-coding it".

--
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