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: <20091016084748.762330b6.kamezawa.hiroyu@jp.fujitsu.com>
Date:	Fri, 16 Oct 2009 08:47:48 +0900
From:	KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
To:	Hugh Dickins <hugh.dickins@...cali.co.uk>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	Nigel Cunningham <ncunningham@...a.org.au>,
	linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH 2/9] swap_info: change to array of pointers

On Fri, 16 Oct 2009 00:04:14 +0100 (BST)
Hugh Dickins <hugh.dickins@...cali.co.uk> wrote:

> On Thu, 15 Oct 2009, Hugh Dickins wrote:
> > On Thu, 15 Oct 2009, KAMEZAWA Hiroyuki wrote:
> > > On Thu, 15 Oct 2009 01:48:01 +0100 (BST)
> > > Hugh Dickins <hugh.dickins@...cali.co.uk> wrote:
> > > > @@ -1675,11 +1674,13 @@ static void *swap_start(struct seq_file
> > > >  	if (!l)
> > > >  		return SEQ_START_TOKEN;
> > > >  
> > > > -	for (i = 0; i < nr_swapfiles; i++, ptr++) {
> > > > -		if (!(ptr->flags & SWP_USED) || !ptr->swap_map)
> > > > +	for (type = 0; type < nr_swapfiles; type++) {
> > > > +		smp_rmb();	/* read nr_swapfiles before swap_info[type] */
> > > > +		si = swap_info[type];
> > > 
> > > 		if (!si) ?
> 
> Re-reading, I see that I missed your interjection there.
> 
> Precisely because we read swap_info[type] after reading nr_swapfiles,
> with smp_rmb() here to enforce that, and smp_wmb() where they're set
> in swapon, there is no way for si to be seen as NULL here.  Is there?
> 
Ah, sorry this is my mistake. I don't understand "nr_swapfiles never decreases
and swap_info[] will be never invalidated."

> Or are you asking for a further comment here on why that's so?
No.

> I think I'd rather just switch to taking swap_lock in swap_start()
> and swap_next(), than be adding comments on why we don't need it.
> 

Hmm, maybe.

Thanks,
-Kame

> Hugh
> 

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