From: Andrew Morton Subject: Re: [PATCH UPDATED] xen: add xenfs to allow usermode <-> Xen interaction Date: Wed, 17 Dec 2008 13:34:29 -0800 Message-ID: <20081217133429.b64e6421.akpm@linux-foundation.org> References: <49480F39.2010102@goop.org> <20081216125425.30524946.akpm@linux-foundation.org> <49496E17.2010703@goop.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <49496E17.2010703@goop.org> Sender: linux-kernel-owner@vger.kernel.org To: Jeremy Fitzhardinge Cc: mingo@elte.hu, viro@ftp.linux.org.uk, linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com, alex.zeffertt@eu.citrix.com, Ian.Campbell@citrix.com List-Id: xen-devel@lists.xenproject.org On Wed, 17 Dec 2008 13:24:39 -0800 Jeremy Fitzhardinge wrote: > The xenfs filesystem exports various interfaces to usermode. Initially > this exports a file to allow usermode to interact with xenbus/xenstore. > > Traditionally this appeared in /proc/xen. Rather than extending procfs, > this patch adds a backward-compat mountpoint on /proc/xen, and provides > a xenfs filesystem which can be mounted there. > > [ > I did quite a lot of work to this code as a result of review, which is > why this is a repost rather than a delta. The changes are: > > - Moved the XENFS_SUPER_MAGIC to linux/magic.h > - Added comments to answer the "what's this for?" questions (I hope) > - Split things out into smaller functions > - Cleaned up type of queue_reply(), removed casts > - Added a mutex to protect struct xenbus_file_priv. This protects > the list heads, and the partial message buffer. There were > several ways in which usermode could overwrite the kernel's > memory via races without this locking. > - Fixed a bug in which usermode could start sending a message > which can never be sent, leaving the file descriptor in a > useless state. I'm bored of your filesystem, so I think I'll just merge it, unless someone else wants to ;) Was this noticed and considered? WARNING: consider using strict_strtoul in preference to simple_strtoul #543: FILE: drivers/xen/xenfs/xenbus.c:315: + trans->handle.id = simple_strtoul(reply, NULL, 0); total: 0 errors, 1 warnings, 781 lines checked