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:	Fri, 21 Dec 2007 12:11:14 +1100
From:	Nick Piggin <nickpiggin@...oo.com.au>
To:	David Howells <dhowells@...hat.com>
Cc:	viro@....linux.org.uk, hch@...radead.org,
	Trond.Myklebust@...app.com, sds@...ho.nsa.gov,
	casey@...aufler-ca.com, linux-kernel@...r.kernel.org,
	selinux@...ho.nsa.gov, linux-security-module@...r.kernel.org
Subject: Re: [PATCH 24/28] AFS: Add a function to excise a rejected write from the pagecache [try #2]

On Friday 21 December 2007 05:49, David Howells wrote:
> Nick Piggin <nickpiggin@...oo.com.au> wrote:
> > > Nick Piggin <nickpiggin@...oo.com.au> wrote:
> > > > This reintroduces the fault vs truncate race window, which must be
> > > > fixed.
> > >
> > > Hmmm...  perhaps.
> >
> > What do you mean by perhaps?
>
> I mean 'perhaps'.  I'm not sure I remember what the race was, so I can't
> evaluate whether or not the same race crops up in AFS too.  So: can you
> describe the race please.

It's in the changelogs.


> > No, you could do writeback caching but disallow read of dirty data.
>
> Someone might already have read-access via mmap at the point someone
> attempts to write to an mmapped region.  That means that I'd have to revoke
> the read access of the first someone before letting the write take place.
>
> Does NFS do this?

I don't know. But yeah I guess it's tricky. Still, if I was writing a
filesystem, I'd focus on behavioural niceness/correctness above
performance, but maybe that's not realistic.


> > > > But otherwise I guess if you really want to discard the dirty data
> > > > after a failed writeback attempt, what's wrong with just
> > > > invalidate_inode_pages2?
> > >
> > > Erm...  Because it deadlocks?
> >
> > Why don't you call it after calling end_page_writeback?
>
> Because then there can be a race over who gets to flush the dead write.

You should solve it in your filesystem.


> Actually, this may no longer be a problem with your write_begin() changes.
> I'll need to have another look at those.
>
> Besides, I don't agree that invalidate_inode_pages2() is necessarily the
> right way to do things.

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