<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git, branch v2.6.24.5</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v2.6.24.5</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v2.6.24.5'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2008-04-19T01:53:39+00:00</updated>
<entry>
<title>Linux 2.6.24.5</title>
<updated>2008-04-19T01:53:39+00:00</updated>
<author>
<name>Chris Wright</name>
<email>chrisw@sous-sol.org</email>
</author>
<published>2008-04-19T01:53:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=03282b1023560a81675ac7505b270c43f095e14b'/>
<id>urn:sha1:03282b1023560a81675ac7505b270c43f095e14b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>locks: fix possible infinite loop in fcntl(F_SETLKW) over nfs</title>
<updated>2008-04-19T01:53:30+00:00</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@citi.umich.edu</email>
</author>
<published>2008-04-14T19:03:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fa4bf970097e80c3ba50467a8b99c8f97a6391f0'/>
<id>urn:sha1:fa4bf970097e80c3ba50467a8b99c8f97a6391f0</id>
<content type='text'>
upstream commit: 19e729a928172103e101ffd0829fd13e68c13f78

Miklos Szeredi found the bug:

	"Basically what happens is that on the server nlm_fopen() calls
	nfsd_open() which returns -EACCES, to which nlm_fopen() returns
	NLM_LCK_DENIED.

	"On the client this will turn into a -EAGAIN (nlm_stat_to_errno()),
	which in will cause fcntl_setlk() to retry forever."

So, for example, opening a file on an nfs filesystem, changing
permissions to forbid further access, then trying to lock the file,
could result in an infinite loop.

And Trond Myklebust identified the culprit, from Marc Eshel and I:

	7723ec9777d9832849b76475b1a21a2872a40d20 "locks: factor out
	generic/filesystem switch from setlock code"

That commit claimed to just be reshuffling code, but actually introduced
a behavioral change by calling the lock method repeatedly as long as it
returned -EAGAIN.

We assumed this would be safe, since we assumed a lock of type SETLKW
would only return with either success or an error other than -EAGAIN.
However, nfs does can in fact return -EAGAIN in this situation, and
independently of whether that behavior is correct or not, we don't
actually need this change, and it seems far safer not to depend on such
assumptions about the filesystem's -&gt;lock method.

Therefore, revert the problematic part of the original commit.  This
leaves vfs_lock_file() and its other callers unchanged, while returning
fcntl_setlk and fcntl_setlk64 to their former behavior.

Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
Tested-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Cc: Trond Myklebust &lt;trond.myklebust@fys.uio.no&gt;
Cc: Marc Eshel &lt;eshel@almaden.ibm.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>file capabilities: remove cap_task_kill()</title>
<updated>2008-04-19T01:53:30+00:00</updated>
<author>
<name>Serge Hallyn</name>
<email>serge@hallyn.com</email>
</author>
<published>2008-02-29T15:14:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=44996dccd89ce86c7c38e37e0635d30c66279772'/>
<id>urn:sha1:44996dccd89ce86c7c38e37e0635d30c66279772</id>
<content type='text'>
upstream commit: aedb60a67c10a0861af179725d060765262ba0fb

The original justification for cap_task_kill() was as follows:

	check_kill_permission() does appropriate uid equivalence checks.
	However with file capabilities it becomes possible for an
	unprivileged user to execute a file with file capabilities
	resulting in a more privileged task with the same uid.

However now that cap_task_kill() always returns 0 (permission
granted) when p-&gt;uid==current-&gt;uid, the whole hook is worthless,
and only likely to create more subtle problems in the corner cases
where it might still be called but return -EPERM.  Those cases
are basically when uids are different but euid/suid is equivalent
as per the check in check_kill_permission().

One example of a still-broken application is 'at' for non-root users.

This patch removes cap_task_kill().

Signed-off-by: Serge Hallyn &lt;serge@hallyn.com&gt;
Acked-by: Andrew G. Morgan &lt;morgan@kernel.org&gt;
Earlier-version-tested-by: Luiz Fernando N. Capitulino &lt;lcapitulino@mandriva.com.br&gt;
Acked-by: Casey Schaufler &lt;casey@schaufler-ca.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
[chrisw@sous-sol.org: backport to 2.6.24.4]
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>macb: Call phy_disconnect on removing</title>
<updated>2008-04-19T01:53:30+00:00</updated>
<author>
<name>Atsushi Nemoto</name>
<email>anemo@mba.ocn.ne.jp</email>
</author>
<published>2008-04-10T14:30:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d7d835ba45a0a2b30ed47887275e271e9ddddbdb'/>
<id>urn:sha1:d7d835ba45a0a2b30ed47887275e271e9ddddbdb</id>
<content type='text'>
upstream commit: 84b7901f8d5a17536ef2df7fd628ab865df8fe3a

Call phy_disconnect() on remove routine.  Otherwise the phy timer
causes a kernel crash when unloading.

Signed-off-by: Atsushi Nemoto &lt;anemo@mba.ocn.ne.jp&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Cc: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>fbdev: fix /proc/fb oops after module removal</title>
<updated>2008-04-19T01:53:30+00:00</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2008-04-16T02:45:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=acba01a4a72096cd60de7dad570acea3ec7f46ab'/>
<id>urn:sha1:acba01a4a72096cd60de7dad570acea3ec7f46ab</id>
<content type='text'>
upstream commit: c43f89c2084f46e3ec59ddcbc52ecf4b1e9b015a

/proc/fb is not removed during rmmod.

Steps to reproduce:

	modprobe fb
	rmmod fb
	ls /proc

BUG: unable to handle kernel paging request at ffffffffa0094370
IP: [&lt;ffffffff802b92a1&gt;] proc_get_inode+0x101/0x130
PGD 203067 PUD 207063 PMD 17e758067 PTE 0
Oops: 0000 [1] SMP
last sysfs file: /sys/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/resource
CPU 1
Modules linked in: nf_conntrack_irc xt_state iptable_filter ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables vfat fat usbhid ehci_hcd uhci_hcd usbcore sr_mod cdrom [last unloaded: fb]
Pid: 21205, comm: ls Not tainted 2.6.25-rc8-mm2 #14
RIP: 0010:[&lt;ffffffff802b92a1&gt;]  [&lt;ffffffff802b92a1&gt;] proc_get_inode+0x101/0x130
RSP: 0018:ffff81017c4bfc78  EFLAGS: 00010246
RAX: 0000000000008000 RBX: ffff8101787f5470 RCX: 0000000048011ccc
RDX: ffffffffa0094320 RSI: ffff810006ad43b0 RDI: ffff81017fc2cc00
RBP: ffff81017e450300 R08: 0000000000000002 R09: ffff81017c5d1000
R10: 0000000000000000 R11: 0000000000000246 R12: ffff81016b903a28
R13: ffff81017f822020 R14: ffff81017c4bfd58 R15: ffff81017f822020
FS:  00007f08e71696f0(0000) GS:ffff81017fc06480(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: ffffffffa0094370 CR3: 000000017e54a000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process ls (pid: 21205, threadinfo ffff81017c4be000, task ffff81017de48770)
Stack:  ffff81017c5d1000 00000000ffffffea ffff81017e450300 ffffffff802bdd1e
 ffff81017f802258 ffff81017c4bfe48 ffff81016b903a28 ffff81017f822020
 ffff81017c4bfd48 ffffffff802b9ba0 ffff81016b903a28 ffff81017f802258
Call Trace:
 [&lt;ffffffff802bdd1e&gt;] ? proc_lookup_de+0x8e/0x100
 [&lt;ffffffff802b9ba0&gt;] ? proc_root_lookup+0x20/0x60
 [&lt;ffffffff802882a7&gt;] ? do_lookup+0x1b7/0x210
 [&lt;ffffffff8028883d&gt;] ? __link_path_walk+0x53d/0x7f0
 [&lt;ffffffff80295eb8&gt;] ? mntput_no_expire+0x28/0x130
 [&lt;ffffffff80288b4a&gt;] ? path_walk+0x5a/0xc0
 [&lt;ffffffff80288dd3&gt;] ? do_path_lookup+0x83/0x1c0
 [&lt;ffffffff80287785&gt;] ? getname+0xe5/0x210
 [&lt;ffffffff80289adb&gt;] ? __user_walk_fd+0x4b/0x80
 [&lt;ffffffff8028236c&gt;] ? vfs_lstat_fd+0x2c/0x70
 [&lt;ffffffff8028bf1e&gt;] ? filldir+0xae/0xf0
 [&lt;ffffffff802b92e9&gt;] ? de_put+0x9/0x50
 [&lt;ffffffff8029633d&gt;] ? mnt_want_write+0x2d/0x80
 [&lt;ffffffff8029339f&gt;] ? touch_atime+0x1f/0x170
 [&lt;ffffffff802b9b1d&gt;] ? proc_root_readdir+0x7d/0xa0
 [&lt;ffffffff802825e7&gt;] ? sys_newlstat+0x27/0x50
 [&lt;ffffffff8028bffb&gt;] ? vfs_readdir+0x9b/0xd0
 [&lt;ffffffff8028c0fe&gt;] ? sys_getdents+0xce/0xe0
 [&lt;ffffffff8020b39b&gt;] ? system_call_after_swapgs+0x7b/0x80

Code: b7 83 b2 00 00 00 25 00 f0 00 00 3d 00 80 00 00 74 19 48 89 93 f0 00 00 00 48 89 df e8 39 9a fd ff 48 89 d8 48 83 c4 08 5b 5d c3 &lt;48&gt; 83 7a 50 00 48 c7 c0 60 16 45 80 48 c7 c2 40 17 45 80 48 0f
RIP  [&lt;ffffffff802b92a1&gt;] proc_get_inode+0x101/0x130
 RSP &lt;ffff81017c4bfc78&gt;
CR2: ffffffffa0094370
---[ end trace c71hiarjan8ab739 ]---

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
"Antonino A. Daplas" &lt;adaplas@pol.net&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>acpi: bus: check once more for an empty list after locking it</title>
<updated>2008-04-19T01:53:30+00:00</updated>
<author>
<name>Chuck Ebbert</name>
<email>cebbert@redhat.com</email>
</author>
<published>2008-04-16T02:45:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bcf7b3914e9cd04e09685a1460da8b90e46a8001'/>
<id>urn:sha1:bcf7b3914e9cd04e09685a1460da8b90e46a8001</id>
<content type='text'>
upstream commit: f0a37e008750ead1751b7d5e89d220a260a46147

List could have become empty after the unlocked check that was made earlier,
so check again inside the lock.

Should fix https://bugzilla.redhat.com/show_bug.cgi?id=427765

Signed-off-by: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Cc: &lt;stable@kernel.org&gt;
Cc: Len Brown &lt;lenb@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>PARISC fix signal trampoline cache flushing</title>
<updated>2008-04-19T01:53:30+00:00</updated>
<author>
<name>Kyle McMartin</name>
<email>kyle@mcmartin.ca</email>
</author>
<published>2008-04-15T22:36:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d51b295acd90c52a01b0afb316833c2783e1fb14'/>
<id>urn:sha1:d51b295acd90c52a01b0afb316833c2783e1fb14</id>
<content type='text'>
upstream commit: cf39cc3b56bc4a562db6242d3069f65034ec7549

The signal trampolines were accidently flushing the kernel I$ instead of
the users.  Fix that up, and also add a missing user D$ flush while
we're at it.

Signed-off-by: Kyle McMartin &lt;kyle@mcmartin.ca&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>PARISC pdc_console: fix bizarre panic on boot</title>
<updated>2008-04-19T01:53:29+00:00</updated>
<author>
<name>Kyle McMartin</name>
<email>kyle@shortfin.cabal.ca</email>
</author>
<published>2008-04-15T16:46:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=24319896af06b84f965bcefa0f2d926b726ed05b'/>
<id>urn:sha1:24319896af06b84f965bcefa0f2d926b726ed05b</id>
<content type='text'>
upstream commit ef1afd4d79f0479960ff36bb5fe6ec6eba1ebff2

commit 721fdf34167580ff98263c74cead8871d76936e6
Author: Kyle McMartin &lt;kyle@shortfin.cabal.ca&gt;
Date:   Thu Dec 6 09:32:15 2007 -0800

    [PARISC] print more than one character at a time for pdc console

introduced a subtle bug by accidentally removing the "static" from
iodc_dbuf. This resulted in, what appeared to be, a trap without
*current set to a task. Probably the result of a trap in real mode
while calling firmware.

Also do other misc clean ups. Since the only input from firmware is non
blocking, share iodc_dbuf between input and output, and spinlock the
only callers.

[jejb: fixed up rejections against the stable tree]

Signed-off-by: Kyle McMartin &lt;kyle@parisc-linux.org&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>PARISC futex: special case cmpxchg NULL in kernel space</title>
<updated>2008-04-19T01:53:29+00:00</updated>
<author>
<name>Kyle McMartin</name>
<email>kyle@shortfin.cabal.ca</email>
</author>
<published>2008-04-15T15:45:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fe23b328b6fd02f23a30690baf45a4092162d760'/>
<id>urn:sha1:fe23b328b6fd02f23a30690baf45a4092162d760</id>
<content type='text'>
upstream commit: c20a84c91048c76c1379011c96b1a5cee5c7d9a0

commit f9e77acd4060fefbb60a351cdb8d30fca27fe194
Author: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Date:   Sun Feb 24 02:10:05 2008 +0000

    futex: runtime enable pi and robust functionality
 

which was backported to stable based on mainline Commit
a0c1e9073ef7428a14309cba010633a6cd6719ea added code to futex.c
to detect whether futex_atomic_cmpxchg_inatomic was implemented at run
time:

+       curval = cmpxchg_futex_value_locked(NULL, 0, 0);
+       if (curval == -EFAULT)
+               futex_cmpxchg_enabled = 1;

This is bogus on parisc, since page zero in kernel virtual space is the
gateway page for syscall entry, and should not be read from the kernel.
(That, and we really don't like the kernel faulting on its own address
 space...)

Signed-off-by: Kyle McMartin &lt;kyle@mcmartin.ca&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
<entry>
<title>pnpacpi: reduce printk severity for "pnpacpi: exceeded the max number of ..."</title>
<updated>2008-04-19T01:53:29+00:00</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2008-04-15T07:16:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e9a3ef655c451a9dd1b4df795f6eac253eed6af0'/>
<id>urn:sha1:e9a3ef655c451a9dd1b4df795f6eac253eed6af0</id>
<content type='text'>
upstream commit 33fd7afd66ffdc6addf1b085fe6403b6af532f8e 

We have been printing these messages at KERN_ERR since 2.6.24,
per http://bugzilla.kernel.org/show_bug.cgi?id=9535

But KERN_ERR pops up on a console booted with "quiet"
and causes users to get alarmed and file bugs
about the message itself:
https://bugzilla.redhat.com/show_bug.cgi?id=436589

So reduce the severity of these messages to
KERN_WARNING, which is not printed by "quiet".

This message will still be seen without "quiet",
but a lot of messages are printed in that mode
and it will be less likely to cause undue alarm.

We could go all the way to KERN_DEBUG, but this
is a real warning after all, so it seems prudent
not to require "debug" to see it.

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
</entry>
</feed>
