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
| ||
|
Message-ID: <Pine.LNX.4.64.0710072255280.688@sbz-30.cs.Helsinki.FI> Date: Sun, 7 Oct 2007 22:58:11 +0300 (EEST) From: Pekka J Enberg <penberg@...helsinki.fi> To: Erez Zadok <ezk@...sunysb.edu> cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org, Ryan Finnie <ryan@...nie.org>, Colin Watson <cjwatson@...ntu.com> Subject: Re: msync(2) bug(?), returns AOP_WRITEPAGE_ACTIVATE to userland Hi Erez, On 10/7/07, Erez Zadok <ezk@...sunysb.edu> wrote: > Anyway, some Ubuntu users of Unionfs reported that msync(2) sometimes > returns AOP_WRITEPAGE_ACTIVATE (decimal 524288) back to userland. > Therefore, some user programs fail, esp. if they're written such as > this: [snip] On 10/7/07, Erez Zadok <ezk@...sunysb.edu> wrote: > Is this a bug indeed, or are user programs supposed to handleĆ > AOP_WRITEPAGE_ACTIVATE (I hope not the latter). If it's a kernel bug, > what should the kernel return: a zero, or an -errno (and which one)? It's a kernel bug. AOP_WRITEPAGE_ACTIVATE is a hint to the VM to avoid writeback of the page in the near future. I wonder if it's enough that we change the return value to zero from mm/page-writeback.c:write_cache_pages() in case we hit AOP_WRITEPAGE_ACTIVE... Pekka diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 63512a9..717f341 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -672,8 +672,10 @@ retry: ret = (*writepage)(page, wbc, data); - if (unlikely(ret == AOP_WRITEPAGE_ACTIVATE)) + if (unlikely(ret == AOP_WRITEPAGE_ACTIVATE)) { unlock_page(page); + ret = 0; + } if (ret || (--(wbc->nr_to_write) <= 0)) done = 1; if (wbc->nonblocking && bdi_write_congested(bdi)) {
Powered by blists - more mailing lists