On Wed, 18 Jun 2008, Bron Gondwana wrote:Heh. Congrats ;) Is there any reason it doesn't use mmap(MAP_SHARED) and make the modifications that way too? Because quite frankly, the mixture of doing mmap() and write() system calls is quite fragile - and I'm not saying that just because of this particular bug, but because there are all kinds of nasty cache aliasing issues with virtually indexed caches etc that just fundamentally mean that it's often a mistake to mix mmap with read/write at the same time. (For the same reason it's not a good idea to mix writing through an mmap() and then using read() to read it - again, you can have some nasty aliasing going on there). So this particular issue was definitely a kernel bug (and big thanks for making such a good test-case), but in general, it does sound like Cyrus is actively trying to dig itself into a nasty hole there. Linus --
| 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 |
