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: <28c262360807011739w5668920buf7880de6ed30f912@mail.gmail.com>
Date:	Wed, 2 Jul 2008 09:39:15 +0900
From:	"MinChan Kim" <minchan.kim@...il.com>
To:	"Rik van Riel" <riel@...hat.com>,
	"KOSAKI Motohiro" <kosaki.motohiro@...fujitsu.com>
Cc:	LKML <linux-kernel@...r.kernel.org>, linux-mm <linux-mm@...ck.org>,
	"Lee Schermerhorn" <Lee.Schermerhorn@...com>,
	"Andrew Morton" <akpm@...ux-foundation.org>
Subject: Re: [resend][PATCH -mm] split_lru: fix pagevec_move_tail() doesn't treat unevictable page

Hi, Rik and Kosaki-san

I want to know exact race situation for remaining git log.
As you know, git log is important for me who is newbie to understand source

There are many possibility in this race problem.

Did you use hugepage in this test ?
I think that If you used hugepage, it seems to happen following race.

--------------

CPU1                                                           CPU2

shm_unlock
scan_mapping_unevictable_pages
check_move_unevictable_page
ClearPageUnevictable                                 rotate_reclaimable_page

PageUnevictable(page) return 0
SetPageUnevictable
list_move(LRU_UNEVICTABLE)

local_irq_save

pagevec_move_tail

Do you think it is possible ?

On Tue, Jul 1, 2008 at 10:38 PM, Rik van Riel <riel@...hat.com> wrote:
> On Tue, 01 Jul 2008 17:26:51 +0900
> KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com> wrote:
>
>> Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
>
> Acked-by: Rik van Riel <riel@...hat.com>
>
> Good catch!
>
>> @@ -116,7 +116,7 @@ static void pagevec_move_tail(struct pag
>>                       zone = pagezone;
>>                       spin_lock(&zone->lru_lock);
>>               }
>> -             if (PageLRU(page) && !PageActive(page)) {
>> +             if (PageLRU(page) && !PageActive(page) && !PageUnevictable(page)) {
>>                       int lru = page_is_file_cache(page);
>>                       list_move_tail(&page->lru, &zone->lru[lru].list);
>>                       pgmoved++;
>
> --
> All rights reversed.
>



-- 
Kinds regards,
MinChan Kim
--
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