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  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:   Wed, 25 Jan 2017 20:09:31 +0900
From:   Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>
To:     mhocko@...nel.org, hch@....de
Cc:     mgorman@...e.de, viro@...IV.linux.org.uk, linux-mm@...ck.org,
        hannes@...xchg.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH 1/2] mm, vmscan: account the number of isolated pages per zone

Michal Hocko wrote:
> On Wed 25-01-17 11:19:57, Christoph Hellwig wrote:
> > On Wed, Jan 25, 2017 at 11:15:17AM +0100, Michal Hocko wrote:
> > > I think we are missing a check for fatal_signal_pending in
> > > iomap_file_buffered_write. This means that an oom victim can consume the
> > > full memory reserves. What do you think about the following? I haven't
> > > tested this but it mimics generic_perform_write so I guess it should
> > > work.
> > 
> > Hi Michal,
> > 
> > this looks reasonable to me.  But we have a few more such loops,
> > maybe it makes sense to move the check into iomap_apply?
> 
> I wasn't sure about the expected semantic of iomap_apply but now that
> I've actually checked all the callers I believe all of them should be
> able to handle EINTR just fine. Well iomap_file_dirty, iomap_zero_range,
> iomap_fiemap and iomap_page_mkwriteseem do not follow the standard
> pattern to return the number of written pages or an error but it rather
> propagates the error out. From my limited understanding of those code
> paths that should just be ok. I was not all that sure about iomap_dio_rw
> that is just too convoluted for me. If that one is OK as well then
> the following patch should be indeed better.

Is "length" in

   written = actor(inode, pos, length, data, &iomap);

call guaranteed to be small enough? If not guaranteed,
don't we need to check SIGKILL inside "actor" functions?

Powered by blists - more mailing lists