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
| ||
|
Date: Tue, 28 Aug 2007 19:01:44 +0100 From: Christoph Hellwig <hch@...radead.org> To: Dean Nelson <dcn@....com> Cc: Al Viro <viro@....linux.org.uk>, akpm@...ux-foundation.org, linux-ia64@...r.kernel.org, linux-kernel@...r.kernel.org, linux-mm@...ck.org, tony.luck@...el.com, jes@....com Subject: Re: [PATCH 1/4] export __put_task_struct for XPMEM On Mon, Aug 27, 2007 at 01:10:56PM -0500, Dean Nelson wrote: > > Does it? Well, then open the file in question and start doing close(dup(fd)) > > in a loop. Won't take long for an oops... > > Actually it won't oops. And that's because when the file is opened, > xpmem_open() creates a structure for that thread group, and when > xpmem_flush() is called on the close() it first looks for that structure > and if it finds it then it does what it needs to do (which includes the > put_task_struct() call) and then finishes off by destroying the structure. > So for subsequent closes xpmem_flush() returns without calling > put_task_struct(). Your refcounting is totally broken. fds can be passed around in the same process group (which btw is not something driver should look at because there are variants of different kinds of process groups depending on clone flags), and your driver is going boom in most of the case. We don't export the routines to acquire reference to task structs for a reason, and this piece of junk called xpmem is not going to change it. - 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