<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/fuse/file.c, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-02-02T17:53:18Z</updated>
<entry>
<title>fuse: fix NULL deref in fuse_file_alloc()</title>
<updated>2009-02-02T17:53:18Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2009-01-26T14:00:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b23f03559c700ae2be8b8bb82d33693042bb46ff'/>
<id>urn:sha1:b23f03559c700ae2be8b8bb82d33693042bb46ff</id>
<content type='text'>
commit bb875b38dc5e343bdb696b2eab8233e4d195e208 upstream.

ff is set to NULL and then dereferenced on line 65.  Compile tested only.

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>fs: symlink write_begin allocation context fix</title>
<updated>2009-01-18T18:43:46Z</updated>
<author>
<name>Nick Piggin</name>
</author>
<published>2009-01-04T20:00:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4f093b80fa8facbd22fa36c00242e2fffa36e12f'/>
<id>urn:sha1:4f093b80fa8facbd22fa36c00242e2fffa36e12f</id>
<content type='text'>
commit 54566b2c1594c2326a645a3551f9d989f7ba3c5e upstream.

With the write_begin/write_end aops, page_symlink was broken because it
could no longer pass a GFP_NOFS type mask into the point where the
allocations happened.  They are done in write_begin, which would always
assume that the filesystem can be entered from reclaim.  This bug could
cause filesystem deadlocks.

The funny thing with having a gfp_t mask there is that it doesn't really
allow the caller to arbitrarily tinker with the context in which it can be
called.  It couldn't ever be GFP_ATOMIC, for example, because it needs to
take the page lock.  The only thing any callers care about is __GFP_FS
anyway, so turn that into a single flag.

Add a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on
this flag in their write_begin function.  Change __grab_cache_page to
accept a nofs argument as well, to honour that flag (while we're there,
change the name to grab_cache_page_write_begin which is more instructive
and does away with random leading underscores).

This is really a more flexible way to go in the end anyway -- if a
filesystem happens to want any extra allocations aside from the pagecache
ones in ints write_begin function, it may now use GFP_KERNEL (rather than
GFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a
random example).

[kosaki.motohiro@jp.fujitsu.com: fix ubifs]
[kosaki.motohiro@jp.fujitsu.com: fix fuse]
Signed-off-by: Nick Piggin &lt;npiggin@suse.de&gt;
Reviewed-by: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Signed-off-by: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
[ Cleaned up the calling convention: just pass in the AOP flags
  untouched to the grab_cache_page_write_begin() function.  That
  just simplifies everybody, and may even allow future expansion of the
  logic.   - Linus ]
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>fuse: implement nonseekable open</title>
<updated>2008-10-16T14:08:57Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2008-10-16T14:08:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a7c1b990f71574e077b94ce4582e2cf11cb891fe'/>
<id>urn:sha1:a7c1b990f71574e077b94ce4582e2cf11cb891fe</id>
<content type='text'>
Let the client request nonseekable open using FOPEN_NONSEEKABLE and
call nonseekable_open() on the file if requested.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: fix SEEK_END incorrectness</title>
<updated>2008-10-16T14:08:56Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2008-10-16T14:08:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=769415c61191bc860f60c6edc3cb7cba24fb3218'/>
<id>urn:sha1:769415c61191bc860f60c6edc3cb7cba24fb3218</id>
<content type='text'>
Update file size before using it in lseek(..., SEEK_END).

Reported-by: Amnon Shiloh &lt;u3557@miso.sublimeip.com&gt;
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>[patch 3/5] vfs: change remove_suid() to file_remove_suid()</title>
<updated>2008-07-27T00:53:16Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2008-06-24T14:50:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2f1936b87783a3a56c9441b27b9ba7a747f11e8e'/>
<id>urn:sha1:2f1936b87783a3a56c9441b27b9ba7a747f11e8e</id>
<content type='text'>
All calls to remove_suid() are made with a file pointer, because
(similarly to file_update_time) it is called when the file is written.

Clean up callers by passing in a file instead of a dentry.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
</content>
</entry>
<entry>
<title>fuse: lockd support</title>
<updated>2008-07-25T17:53:48Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2008-07-25T08:49:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=48e90761b570ff57f58b726229d229729949c5bb'/>
<id>urn:sha1:48e90761b570ff57f58b726229d229729949c5bb</id>
<content type='text'>
If fuse filesystem doesn't define it's own lock operations, then allow the
lock manager to work with fuse.

Adding lockd support for remote locking is also possible, but more rarely
used, so leave it till later.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Cc: "J. Bruce Fields" &lt;bfields@fieldses.org&gt;
Cc: Trond Myklebust &lt;trond.myklebust@fys.uio.no&gt;
Cc: Matthew Wilcox &lt;matthew@wil.cx&gt;
Cc: David Teigland &lt;teigland@redhat.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fuse: add flag to turn on big writes</title>
<updated>2008-05-13T15:02:26Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2008-05-12T21:02:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=78bb6cb9a890d3d50ca3b02fce9223d3e734ab9b'/>
<id>urn:sha1:78bb6cb9a890d3d50ca3b02fce9223d3e734ab9b</id>
<content type='text'>
Prior to 2.6.26 fuse only supported single page write requests.  In theory all
fuse filesystem should be able support bigger than 4k writes, as there's
nothing in the API to prevent it.  Unfortunately there's a known case in
NTFS-3G where big writes cause filesystem corruption.  There could also be
other filesystems, where the lack of testing with big write requests would
result in bugs.

To prevent such problems on a kernel upgrade, disable big writes by default,
but let filesystems set a flag to turn it on.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Cc: Szabolcs Szakacsits &lt;szaka@ntfs-3g.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fuse: use clamp() rather than nested min/max</title>
<updated>2008-05-01T15:04:02Z</updated>
<author>
<name>Harvey Harrison</name>
</author>
<published>2008-05-01T11:35:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bd7309677c937bf23296f6c81027123c84c5cc5c'/>
<id>urn:sha1:bd7309677c937bf23296f6c81027123c84c5cc5c</id>
<content type='text'>
clamp() exists for this use.

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Cc: Miklos Szeredi &lt;miklos@szeredi.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fuse: fix race in llseek</title>
<updated>2008-04-30T15:29:51Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2008-04-30T07:54:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5559b8f4d1f630b8614b6c8e13b8bf6c9c45d7d7'/>
<id>urn:sha1:5559b8f4d1f630b8614b6c8e13b8bf6c9c45d7d7</id>
<content type='text'>
Fuse doesn't use i_mutex to protect setting i_size, and so
generic_file_llseek() can be racy: it doesn't use i_size_read().

So do a fuse specific llseek method, which does use i_size_read().

[akpm@linux-foundation.org: make `retval' loff_t]
Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fuse: fix max i/o size calculation</title>
<updated>2008-04-30T15:29:51Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2008-04-30T07:54:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e5d9a0df07484d6d191756878c974e4307fb24ce'/>
<id>urn:sha1:e5d9a0df07484d6d191756878c974e4307fb24ce</id>
<content type='text'>
Fix a bug that Werner Baumann reported: fuse can send a bigger write request
than the maximum specified.  This only affected direct_io operation.

In addition set a sane minimum for the max_read and max_write tunables, so I/O
always makes some progress.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
