<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git, branch v2.6.25.2</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v2.6.25.2</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v2.6.25.2'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2008-05-06T23:21:32Z</updated>
<entry>
<title>Linux 2.6.25.2</title>
<updated>2008-05-06T23:21:32Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2008-05-06T23:21:32Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4d25341bc72d15458570067e1a118d200d117cb8'/>
<id>urn:sha1:4d25341bc72d15458570067e1a118d200d117cb8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix SMP ordering hole in fcntl_setlk() (CVE-2008-1669)</title>
<updated>2008-05-06T23:21:10Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2008-05-06T17:58:34Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c493a1dd8b3a93b57208319a77a8238f76dabca2'/>
<id>urn:sha1:c493a1dd8b3a93b57208319a77a8238f76dabca2</id>
<content type='text'>
commit 0b2bac2f1ea0d33a3621b27ca68b9ae760fca2e9 upstream.

fcntl_setlk()/close() race prevention has a subtle hole - we need to
make sure that if we *do* have an fcntl/close race on SMP box, the
access to descriptor table and inode-&gt;i_flock won't get reordered.

As it is, we get STORE inode-&gt;i_flock, LOAD descriptor table entry vs.
STORE descriptor table entry, LOAD inode-&gt;i_flock with not a single
lock in common on both sides.  We do have BKL around the first STORE,
but check in locks_remove_posix() is outside of BKL and for a good
reason - we don't want BKL on common path of close(2).

Solution is to hold -&gt;file_lock around fcheck() in there; that orders
us wrt removal from descriptor table that preceded locks_remove_posix()
on close path and we either come first (in which case eviction will be
handled by the close side) or we'll see the effect of close and do
eviction ourselves.  Note that even though it's read-only access,
we do need -&gt;file_lock here - rcu_read_lock() won't be enough to
order the things.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>Linux 2.6.25.1</title>
<updated>2008-05-01T21:45:25Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2008-05-01T21:45:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1420f09c0b8a88f9df2034e6ba04fcc4c3f6925e'/>
<id>urn:sha1:1420f09c0b8a88f9df2034e6ba04fcc4c3f6925e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix dnotify/close race (CVE-2008-1375)</title>
<updated>2008-05-01T21:44:40Z</updated>
<author>
<name>Al Viro</name>
<email>viro@ZenIV.linux.org.uk</email>
</author>
<published>2008-05-01T02:52:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=9a6ec895392ed38549a94c855f045f3a83cb89af'/>
<id>urn:sha1:9a6ec895392ed38549a94c855f045f3a83cb89af</id>
<content type='text'>
commit 214b7049a7929f03bbd2786aaef04b8b79db34e2 upstream.

We have a race between fcntl() and close() that can lead to
dnotify_struct inserted into inode's list *after* the last descriptor
had been gone from current-&gt;files.

Since that's the only point where dnotify_struct gets evicted, we are
screwed - it will stick around indefinitely.  Even after struct file in
question is gone and freed.  Worse, we can trigger send_sigio() on it at
any later point, which allows to send an arbitrary signal to arbitrary
process if we manage to apply enough memory pressure to get the page
that used to host that struct file and fill it with the right pattern...

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
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>drivers/net/tehuti: use proper capability check for raw IO access</title>
<updated>2008-05-01T21:44:39Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-04-29T18:45:16Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b0cc38c177802742d847469e0a06f4ad31d011cc'/>
<id>urn:sha1:b0cc38c177802742d847469e0a06f4ad31d011cc</id>
<content type='text'>
commit 6203554207728f43cfb9fd48585cd6500da73d42 in mainline.

Yeah, in practice they both mean "root", but Alan correctly points out
that anybody who gets to do raw IO space accesses should really be using
CAP_SYS_RAWIO rather than CAP_NET_ADMIN.

Pointed-out-by: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
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>hrtimer: raise softirq unlocked to avoid circular lock dependency</title>
<updated>2008-05-01T21:44:39Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2008-04-29T01:15:10Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f5f5e084959d9c22c43c235b206b2e2fe2971e7f'/>
<id>urn:sha1:f5f5e084959d9c22c43c235b206b2e2fe2971e7f</id>
<content type='text'>
commit 0c96c5979a522c3323c30a078a70120e29b5bdbc upstream

The scheduler hrtimer bits in 2.6.25 introduced a circular lock
dependency in a rare code path:

=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.25-sched-devel.git-x86-latest.git #19
-------------------------------------------------------
X/2980 is trying to acquire lock:
 (&amp;rq-&gt;rq_lock_key#2){++..}, at: [&lt;ffffffff80230146&gt;] task_rq_lock+0x56/0xa0

but task is already holding lock:
 (&amp;cpu_base-&gt;lock){++..}, at: [&lt;ffffffff80257ae1&gt;] lock_hrtimer_base+0x31/0x60

which lock already depends on the new lock.

The scenario which leads to this is:

posix-timer signal is delivered
 -&gt; posix-timer is rearmed
    timer is already expired in hrtimer_enqueue()
     -&gt; softirq is raised

To prevent this we need to move the raise of the softirq out of the
base-&gt;lock protected code path.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x86: Fix 32-bit x86 MSI-X allocation leakage</title>
<updated>2008-05-01T21:44:39Z</updated>
<author>
<name>PJ Waskiewicz</name>
<email>peter.p.waskiewicz.jr@intel.com</email>
</author>
<published>2008-04-28T18:56:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=fa455bcd0a6460ef6543ebb212940fedf9f3170f'/>
<id>urn:sha1:fa455bcd0a6460ef6543ebb212940fedf9f3170f</id>
<content type='text'>
commit 9d9ad4b51d2b29b5bbeb4011f5e76f7538119cf9 upstream

This bug was introduced in the 2.6.24 lguest merge, where
MSI-X vector allocation will eventually fail.  The cause is the new
bit array tracking used vectors is not getting cleared properly on
IRQ destruction on the 32-bit APIC code.

This can be seen easily using the ixgbe 10 GbE driver on multi-core
systems by simply loading and unloading the driver a few times.
Depending on the number of available vectors on the host system, the
MSI-X allocation will eventually fail, and the driver will only be
able to use legacy interrupts.

Signed-off-by: Peter P Waskiewicz Jr &lt;peter.p.waskiewicz.jr@intel.com&gt;
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>alpha: unbreak OSF/1 (a.out) binaries</title>
<updated>2008-05-01T21:44:39Z</updated>
<author>
<name>Ivan Kokshaysky</name>
<email>ink@jurassic.park.msu.ru</email>
</author>
<published>2008-04-24T12:54:50Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6ba675d46b278f478a22639b1c25b1476afcc351'/>
<id>urn:sha1:6ba675d46b278f478a22639b1c25b1476afcc351</id>
<content type='text'>
commit 2444e56b0c08e6f3e3877583841a1213e3263d98 upstream


OSF/1 brk(2) was broken by following one-liner in sys_brk()
(commit 4cc6028d4040f95cdb590a87db478b42b8be0508):

-	if (brk &lt; mm-&gt;end_code)
+	if (brk &lt; mm-&gt;start_brk)
		goto out;

The problem is that osf_set_program_attributes()
does update mm-&gt;end_code, but not mm-&gt;start_brk,
which still contains inappropriate value left from
binary loader, so brk() always fails.

Signed-off-by: Ivan Kokshaysky &lt;ink@jurassic.park.msu.ru&gt;
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>SCSI: qla2xxx: Correct regression in relogin code.</title>
<updated>2008-05-01T21:44:39Z</updated>
<author>
<name>Andrew Vasquez</name>
<email>andrew.vasquez@qlogic.com</email>
</author>
<published>2008-04-27T18:35:08Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d4aa5e3e3e76f3f8c54c7ab1259feabbd4b7da32'/>
<id>urn:sha1:d4aa5e3e3e76f3f8c54c7ab1259feabbd4b7da32</id>
<content type='text'>
commit: 666301e673e192c87a40e07a8357d6996b57b70f upstream


Commit 63a8651f2548c6bb5132c0b4e7dad4f57a9274db ([SCSI] qla2xxx:
Correct infinite-login-retry issue.) introduced a small
regression where a successful relogin would result in an fcport's
loop_id to be incorrectly reset to FC_NO_LOOP_ID.  Only clear-out
loopid, if retries have been 'truly' exhausted.

Signed-off-by: Andrew Vasquez &lt;andrew.vasquez@qlogic.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>RDMA/nes: Fix adapter reset after PXE boot</title>
<updated>2008-05-01T21:44:38Z</updated>
<author>
<name>Chien Tung</name>
<email>ctung@neteffect.com</email>
</author>
<published>2008-04-27T18:35:11Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a45a6e6cd8a526bbd4b4fad99a276ec6329c810c'/>
<id>urn:sha1:a45a6e6cd8a526bbd4b4fad99a276ec6329c810c</id>
<content type='text'>
commit: bc5698f3ecc9587e1edb343a2878f8d228c49e0e upstream

After PXE boot, the iw_nes driver does a full reset to ensure the card
is in a clean state.  However, it doesn't wait for firmware to
complete its work before issuing a port reset to enable the ports,
which leads to problems bringing up the ports.

The solution is to wait for firmware to complete its work before
proceeding with port reset.

This bug was flagged by Roland Dreier &lt;rolandd@cisco.com&gt;.

Signed-off-by: Chien Tung &lt;ctung@neteffect.com&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
