Linux 2.4.27-rc1
Hi,
Here goes the first release candidate of kernel v2.4.27.
It contains a handful of ACPI bugfixes, HPFS update, USB fixes, amongst other smaller fixes.
Read the detailed changelog for more details
Summary of changes from v2.4.27-pre6 to v2.4.27-rc1
============================================
<andreas:xss.co.at>:
o fix hotplug Config.in xconfig breakage
Andi Kleen:
o Undo mistaken hunks in previous x86-64 MCE change
o Add missing include to x86-64 bluesmoke.c
Chris Wedgwood:
o stat nlink resolution fix
David S. Miller:
o Cset exclude: [email protected]|ChangeSet|20040529193918|20643
David Stevens:
o [IPV4]: Fix interface selection in multicast sockops
Eyal Lebedinsky:
o Fix USB visor.c compilation error
Hideaki Yoshifuji:
o [IPV6]: UDPv6 checksum
o [IPV6]: UDPv6: Use udpv6_queue_rcv_skb()
o [IPV6]: Missing include in ip6_tables.c
Karol Kozimor:
o acpi4asus trivial sync with 2.6 (Karol 'sziwan' Kozimor)
Len Brown:
o [ACPI] PCI bus numbering workaround for ServerWorks from David Shaohua Li http://bugzilla.kernel.org/show_bug.cgi?id=1662
o [ACPI] fix passive cooling mode indicator (Luming Yu) http://bugzilla.kernel.org/show_bug.cgi?id=1770
o [ACPI] avoid spurious interrupts on VIA http://bugzilla.kernel.org/show_bug.cgi?id=2243
o [ACPI] fix 2.4.27-pre3 IRQ override regression due to dynamically allocated mp_irqs[].
o [ACPI] handle SCI override to nth IOAPIC http://bugzilla.kernel.org/show_bug.cgi?id=2835
Marcelo Tosatti:
o Add missing struct definition of rwsem race fixes
o Changed EXTRAVERSION to -rc1
o journal_try_to_free_buffers(): Add debug print in case of bh list corruption
Mikulas Patocka:
o HPFS fixes
Pete Zaitcev:
o USB: Fix jumpshot's capacity
Quoted 2 lines · Marcelo Tosatti
Marcelo Tosatti:
ojournal_try_to_free_buffers(): Add debug print in case of bh list corruption
Which introduced 4 warnings. Here's a fix:
fs/jbd/transaction.c renamed from fs/jbd/transaction.c.orig +2 -2
@@ -1700,11 +1700,11 @@ void debug_page(struct page *p) bh = p->buffers; -printk (KERN_ERR "%s: page index:%u count:%d flags:%x\n" , __FUNCTION__, +printk (KERN_ERR "%s: page index:%lu count:%d flags:%lx\n" , __FUNCTION__, p->index,atomic_read (&p->count), p->flags);while (bh) { -printk (KERN_ERR "%s: bh b_next:%p blocknr:%u b_list:%u state:%x\n" , +printk (KERN_ERR "%s: bh b_next:%p blocknr:%lu b_list:%u state:%lx\n" , __FUNCTION__, bh->b_next, bh->b_blocknr, bh->b_list, bh->b_state); bh = bh->b_this_page;
And now I just looked at the original patch:
| --- linux-2.4.26/fs/jbd/transaction.c 2004-02-18 13:36:31.000000000 +0000
| +++ linux-2.4.27-rc1/fs/jbd/transaction.c 2004-06-19 23:37:33.000000000 +0000
| @@ -1752,6 +1769,11 @@ int journal_try_to_free_buffers(journal_
| do {
| struct buffer_head *p = tmp;
|
| + if (!unlikely(tmp)) {
^^^^^^^^^^^^^^Shouldn't this be `unlikely(!tmp))'?
| + debug_page(page); | + BUG(); | + } | + | tmp = tmp->b_this_page; | if (buffer_jbd(p)) | if (!__journal_try_to_free_buffer(p, &locked_or_dirty))
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Hi Geert!
Quoted 12 lines · Geert Uytterhoeven
Quoted 2 lines · Marcelo Tosatti
Marcelo Tosatti:
ojournal_try_to_free_buffers(): Add debug print in case of bh list corruptionWhich introduced 4 warnings. Here's a fix:
fs/jbd/transaction.c renamed from fs/jbd/transaction.c.orig +0
-0@@ -1700,11 +1700,11 @@ void debug_page(struct page *p) bh = p->buffers;
fs/jbd/transaction.c void debug_page(struct page *p) · line 1710
Quoted 10 lines
fs/jbd/transaction.c renamed from fs/jbd/transaction.c.orig +2
-2-printk (KERN_ERR "%s: page index:%u count:%d flags:%x\n" , __FUNCTION__, +printk (KERN_ERR "%s: page index:%lu count:%d flags:%lx\n" , __FUNCTION__, p->index,atomic_read (&p->count), p->flags);while (bh) { -printk (KERN_ERR "%s: bh b_next:%p blocknr:%u b_list:%u state:%x\n" , +printk (KERN_ERR "%s: bh b_next:%p blocknr:%lu b_list:%u state:%lx\n" , __FUNCTION__, bh->b_next, bh->b_blocknr, bh->b_list, bh->b_state); bh = bh->b_this_page;
Right.
Quoted 11 lines
And now I just looked at the original patch:
| --- linux-2.4.26/fs/jbd/transaction.c 2004-02-18 13:36:31.000000000 +0000 | +++ linux-2.4.27-rc1/fs/jbd/transaction.c 2004-06-19 23:37:33.000000000 +0000 | @@ -1752,6 +1769,11 @@ int journal_try_to_free_buffers(journal_ | do { | struct buffer_head *p = tmp; | | + if (!unlikely(tmp)) { ^^^^^^^^^^^^^^Shouldn't this be `unlikely(!tmp))'?
The original works, but thats cleaner as Willy also pointed out.
I'll fix those.
Thanks!