On Mon, Feb 26, 2007 at 09:32:04PM -0800, Andrew Morton wrote:s/harder/easier of course... I think there is good reason to assume the buffered write page lock deadlocks would not occur in "normal" programs (or very very few), because it would require writing from the same page you are writing to, or 2 processes writing from the page the other is writing to. If any innocent users do hit this, at least it is not data corrupting, and is relatively easy to trace back to the kernel. In the case of local DoS exploits, the deadlocks already present in the buffered write path are already trivial to exploit... locking the page in the fault path doesn't make the deadlock exploit any more possible. So the downside to merging is that we _may_ get some additional deadlocks. What is being fixed is silent data corruption that has been reported by several different users of the SLES kernel (because we have assertions there to catch it), and can be triggered by DIO or NFS, or anything using vmtruncate_range or invalidate_inode_pages2 on regular files. Or even a regular truncate with nonlinear pages. These are known problems on production workloads. That's my argument for merging these. I think it's reasonable, but I'm open to debate. I did get some page fault performance numbers at one stage. Nothing really exciting seemed to happen IIRC, but I can do another set of tests if you want? To be fair, I have 2 ways to fix it. Unfortunately one is slow and the other requires cooperation from filesystem developers. perform_write() is still on track, but it is going to take a reasonable amount of time and effort to convert filesystems. I just can't see any gain in holding these patches back until that all happens. Thanks, Nick -
| Greg Kroah-Hartman | [PATCH 002/196] Chinese: rephrase English introduction in HOWTO |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Andrew Morton | Re: -mm merge plans for 2.6.23 -- sys_fallocate |
| Greg KH | Re: [AppArmor 39/45] AppArmor: Profile loading and manipulation, pathname matching |
git: | |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| Arjan van de Ven | Re: [GIT]: Networking |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Jarek Poplawski | Re: [BUG] New Kernel Bugs |
