<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/fcntl.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-10-28T01:17:02Z</updated>
<entry>
<title>fasync: Fix placement of FASYNC flag comment</title>
<updated>2010-10-28T01:17:02Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2010-10-28T01:17:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=55f335a8857db2ee22c068e7ab7141fc79928296'/>
<id>urn:sha1:55f335a8857db2ee22c068e7ab7141fc79928296</id>
<content type='text'>
In commit f7347ce4ee7c ("fasync: re-organize fasync entry insertion to
allow it under a spinlock") Arnd took an earlier patch of mine that had
the comment about the FASYNC flag above the wrong function.

When the fasync_add_entry() function was split to introduce the new
fasync_insert_entry() helper function, the code that actually cares
about the FASYNC bit moved to that new helper.

So just move the comment to the right point.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fasync: re-organize fasync entry insertion to allow it under a spinlock</title>
<updated>2010-10-27T20:06:17Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2010-10-27T16:38:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f7347ce4ee7c65415f84be915c018473e7076f31'/>
<id>urn:sha1:f7347ce4ee7c65415f84be915c018473e7076f31</id>
<content type='text'>
You currently cannot use "fasync_helper()" in an atomic environment to
insert a new fasync entry, because it will need to allocate the new
"struct fasync_struct".

Yet fcntl_setlease() wants to call this under lock_flocks(), which is in
the process of being converted from the BKL to a spinlock.

In order to fix this, this abstracts out the actual fasync list
insertion and the fasync allocations into functions of their own, and
teaches fs/locks.c to pre-allocate the fasync_struct entry.  That way
the actual list insertion can happen while holding the required
spinlock.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
[bfields@redhat.com: rebase on top of my changes to Arnd's patch]
Tested-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
<entry>
<title>vfs: take O_NONBLOCK out of the O_* uniqueness test</title>
<updated>2010-09-10T01:57:25Z</updated>
<author>
<name>James Bottomley</name>
</author>
<published>2010-09-09T23:38:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3ab04d5cf9736b7a4e9dfcf28285d8663b01aa0e'/>
<id>urn:sha1:3ab04d5cf9736b7a4e9dfcf28285d8663b01aa0e</id>
<content type='text'>
O_NONBLOCK on parisc has a dual value:

#define O_NONBLOCK	000200004 /* HPUX has separate NDELAY &amp; NONBLOCK */

It is caught by the O_* bits uniqueness check and leads to a parisc
compile error.  The fix would be to take O_NONBLOCK out.

Signed-off-by: Wu Fengguang &lt;fengguang.wu@intel.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
Cc: Jamie Lokier &lt;jamie@shareable.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>vfs: O_* bit numbers uniqueness check</title>
<updated>2010-08-11T15:59:02Z</updated>
<author>
<name>Wu Fengguang</name>
</author>
<published>2010-08-11T01:01:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=454eedb8901da895fb602998fa588cd62875d07d'/>
<id>urn:sha1:454eedb8901da895fb602998fa588cd62875d07d</id>
<content type='text'>
The O_* bit numbers are defined in 20+ arch/*, and can silently overlap.
Add a compile time check to ensure the uniqueness as suggested by David
Miller.

Signed-off-by: Wu Fengguang &lt;fengguang.wu@intel.com&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Cc: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
Cc: Eric Paris &lt;eparis@redhat.com&gt;
Cc: Roland Dreier &lt;rdreier@cisco.com&gt;
Cc: Jamie Lokier &lt;jamie@shareable.org&gt;
Cc: Andreas Schwab &lt;schwab@linux-m68k.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>fs/fcntl.c:kill_fasync_rcu() fa_lock must be IRQ-safe</title>
<updated>2010-06-29T22:29:32Z</updated>
<author>
<name>Andrew Morton</name>
</author>
<published>2010-06-29T22:05:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f4985dc714d7ab1920c5aa502b7f4073fa1b4177'/>
<id>urn:sha1:f4985dc714d7ab1920c5aa502b7f4073fa1b4177</id>
<content type='text'>
Fix a lockdep-splat-causing regression introduced by commit 989a2979205d
("fasync: RCU and fine grained locking").

kill_fasync() can be called from both process and hard-irq context, so
fa_lock must be taken with IRQs disabled.

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16230

Reported-by: Sergey Senozhatsky &lt;sergey.senozhatsky@gmail.com&gt;
Reported-by: Dominik Brodowski &lt;linux@dominikbrodowski.net&gt;
Tested-by: Dominik Brodowski &lt;linux@dominikbrodowski.net&gt;
Cc: Maciej Rutecki &lt;maciej.rutecki@gmail.com&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
Cc: Lai Jiangshan &lt;laijs@cn.fujitsu.com&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Acked-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&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>fcntl: return -EFAULT if copy_to_user fails</title>
<updated>2010-06-04T21:16:28Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2010-06-03T10:35:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5b54470daded19d83ea2bbf5f6bc12662942cd63'/>
<id>urn:sha1:5b54470daded19d83ea2bbf5f6bc12662942cd63</id>
<content type='text'>
copy_to_user() returns the number of bytes remaining, but we want to
return -EFAULT.
	ret = fcntl(fd, F_SETOWN_EX, NULL);
With the original code ret would be 8 here.

V2: Takuya Yoshikawa pointed out a similar issue in f_getown_ex()

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' into for-2.6.35</title>
<updated>2010-05-21T19:27:26Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2010-05-21T19:27:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ee9a3607fb03e804ddf624544105f4e34260c380'/>
<id>urn:sha1:ee9a3607fb03e804ddf624544105f4e34260c380</id>
<content type='text'>
Conflicts:
	fs/ext3/fsync.c

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>pipe: add support for shrinking and growing pipes</title>
<updated>2010-05-21T19:12:40Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2010-05-20T08:43:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=35f3d14dbbc58447c61e38a162ea10add6b31dc7'/>
<id>urn:sha1:35f3d14dbbc58447c61e38a162ea10add6b31dc7</id>
<content type='text'>
This patch adds F_GETPIPE_SZ and F_SETPIPE_SZ fcntl() actions for
growing and shrinking the size of a pipe and adjusts pipe.c and splice.c
(and relay and network splice) usage to work with these larger (or smaller)
pipes.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>fasync: RCU and fine grained locking</title>
<updated>2010-04-21T23:19:29Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2010-04-14T09:55:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=989a2979205dd34269382b357e6d4b4b6956b889'/>
<id>urn:sha1:989a2979205dd34269382b357e6d4b4b6956b889</id>
<content type='text'>
kill_fasync() uses a central rwlock, candidate for RCU conversion, to
avoid cache line ping pongs on SMP.

fasync_remove_entry() and fasync_add_entry() can disable IRQS on a short
section instead during whole list scan.

Use a spinlock per fasync_struct to synchronize kill_fasync_rcu() and
fasync_{remove|add}_entry(). This spinlock is IRQ safe, so sock_fasync()
doesnt need its own implementation and can use fasync_helper(), to
reduce code size and complexity.

We can remove __kill_fasync() direct use in net/socket.c, and rename it
to kill_fasync_rcu().

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
Cc: Lai Jiangshan &lt;laijs@cn.fujitsu.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>fs: use rlimit helpers</title>
<updated>2010-03-06T19:26:29Z</updated>
<author>
<name>Jiri Slaby</name>
</author>
<published>2010-03-05T21:42:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d554ed895dc8f293cc712c71f14b101ace82579a'/>
<id>urn:sha1:d554ed895dc8f293cc712c71f14b101ace82579a</id>
<content type='text'>
Make sure compiler won't do weird things with limits.  E.g.  fetching them
twice may return 2 different values after writable limits are implemented.

I.e.  either use rlimit helpers added in commit 3e10e716abf3 ("resource:
add helpers for fetching rlimits") or ACCESS_ONCE if not applicable.

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Cc: Alexander Viro &lt;viro@zeniv.linux.org.uk&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>
