2004-10-21 18:34:51

by Alan

[permalink] [raw]
Subject: Linux 2.6.9-ac2

ftp://ftp.kernel.org/pub/linux/kernel/people/alan/linux-2.6/2.6.9/

2.6.9-ac2
o Fix invalid kernel version stupidity (Adrian Bunk)
o Compiler ICE workaround/fixup (Linus Torvalds)
o Fix network DoS bug in 2.6.9 (Herbert Xu)
| Suggested by Sami Farin
o Flash lights on panic as in 2.4 (Andi Kleen)

2.6.9-ac1

Security Fixes
o Set VM_IO on areas that are temporarily (Alan Cox)
marked PageReserved (Serious bug)
o Lock ide-proc against driver unload (Alan Cox)
(very low severity)

Bug Fixes
o Working IDE locking (Alan Cox)
| And a great deal of review by Bartlomiej
o Handle E7xxx boxes with USB legacy flaws (Alan Cox)

Functionality
o Allow booting with "irqpoll" or "irqfixup" (Alan Cox)
on systems with broken IRQ tables.
o Support for setuid core dumping in some (Alan Cox)
environments (off by default)
o Support for drives that don't report geometry
o IT8212 support (raid and passthrough) (Alan Cox)
o Allow IDE to grab all unknown generic IDE (Alan Cox)
devices (boot with "all-generic-ide")
o Restore PWC driver (Luc Saillard)

Other
o Small pending tty clean-up to moxa (Alan Cox)
o Put VIA Velocity (tm) adapters under gigabit (VIA)


2004-10-21 19:36:41

by Jan Engelhardt

[permalink] [raw]
Subject: Re: Linux 2.6.9-ac2


>2.6.9-ac2
>o Flash lights on panic as in 2.4 (Andi Kleen)

It would be cool to have the pc speaker doing a toneladder when the Kernel
oopses. That is (was) especially helpful when in X when the lights did not
flash. Might as well add to the accessibility of the kernel.



Jan Engelhardt
--

2004-10-21 20:52:08

by Lee Revell

[permalink] [raw]
Subject: Re: Linux 2.6.9-ac2

On Thu, 2004-10-21 at 14:47, Jan Engelhardt wrote:
> >2.6.9-ac2
> >o Flash lights on panic as in 2.4 (Andi Kleen)
>
> It would be cool to have the pc speaker doing a toneladder when the Kernel
> oopses. That is (was) especially helpful when in X when the lights did not
> flash. Might as well add to the accessibility of the kernel.

Sometimes it's possible to continue normally after an Oops. For months,
even years. This could get annoying in a data center real quick.

Lee

2004-10-21 21:15:47

by Alan

[permalink] [raw]
Subject: Re: Linux 2.6.9-ac2

On Iau, 2004-10-21 at 20:34, David S. Miller wrote:
> 2.4.x will need this one as well, at least the AF_PACKET
> case. Would you mind if I pushed that to Marcelo?

Not at all. Andrea has proposed fixing it a little differently.
For 2.6 making remap_page_range DTRT itself is ok but for 2.4 the
vma isn't passed.


2004-10-22 04:33:33

by David Miller

[permalink] [raw]
Subject: Re: Linux 2.6.9-ac2

On Thu, 21 Oct 2004 18:30:54 +0100
Alan Cox <[email protected]> wrote:

> o Set VM_IO on areas that are temporarily (Alan Cox)
> marked PageReserved (Serious bug)

2.4.x will need this one as well, at least the AF_PACKET
case. Would you mind if I pushed that to Marcelo?

2004-10-23 04:07:18

by Jan Engelhardt

[permalink] [raw]
Subject: Re: Linux 2.6.9-ac2

>> >2.6.9-ac2
>> >o Flash lights on panic as in 2.4 (Andi Kleen)
>>
>> It would be cool to have the pc speaker doing a toneladder when the Kernel

s/toneladder/pcspkr beep scale/;

>> oopses. That is (was) especially helpful when in X when the lights did not
>> flash. Might as well add to the accessibility of the kernel.
>
>Sometimes it's possible to continue normally after an Oops. For months,

And sometimes, it just locks up and you wait forever, thinking that X might
just block again because someone's hogging.

>even years. This could get annoying in a data center real quick.

Well this of course should stay as a compile-time (better yet: sysctl) option
that is set to 'n' by default. Home users who wish to use it may enable it.

http://linux01.org:2222/f/hxtools/kernel/24-oops_snd.diff
I once wrote this, but did not port it to 2.6 since accessing the speaker
changed.



Jan Engelhardt
--

2004-10-28 17:41:24

by Marcelo Tosatti

[permalink] [raw]
Subject: Re: Linux 2.6.9-ac2

On Thu, Oct 21, 2004 at 09:12:08PM +0100, Alan Cox wrote:
> On Iau, 2004-10-21 at 20:34, David S. Miller wrote:
> > 2.4.x will need this one as well, at least the AF_PACKET
> > case. Would you mind if I pushed that to Marcelo?
>
> Not at all. Andrea has proposed fixing it a little differently.
> For 2.6 making remap_page_range DTRT itself is ok but for 2.4 the
> vma isn't passed.

get_user_pages() is screwed, I'm just not sure
about failing get_user_pages() if PageReserved page
is encountered.

I'm more worried about make_pages_present(), which is
called by find_extend_vma/do_mmap_pgoff. Is it valid
to have PageReserved pages on the zones handled
by these functions anyway?

This is equivalent of Andrea's fix for mainline.

Andrea, this in SuSE's tree for a while correct?


--- memory.c 2004-10-22 15:58:28.000000000 -0200
+++ memory.c 2004-10-28 14:32:26.585813200 -0200
@@ -499,7 +499,7 @@
/* FIXME: call the correct function,
* depending on the type of the found page
*/
- if (!pages[i])
+ if (!pages[i] || PageReserved(pages[i]))
goto bad_page;
page_cache_get(pages[i]);
}

2004-10-28 18:03:54

by Andrea Arcangeli

[permalink] [raw]
Subject: Re: Linux 2.6.9-ac2

On Thu, Oct 28, 2004 at 12:59:31PM -0200, Marcelo Tosatti wrote:
> On Thu, Oct 21, 2004 at 09:12:08PM +0100, Alan Cox wrote:
> > On Iau, 2004-10-21 at 20:34, David S. Miller wrote:
> > > 2.4.x will need this one as well, at least the AF_PACKET
> > > case. Would you mind if I pushed that to Marcelo?
> >
> > Not at all. Andrea has proposed fixing it a little differently.
> > For 2.6 making remap_page_range DTRT itself is ok but for 2.4 the
> > vma isn't passed.
>
> get_user_pages() is screwed, I'm just not sure
> about failing get_user_pages() if PageReserved page
> is encountered.
>
> I'm more worried about make_pages_present(), which is
> called by find_extend_vma/do_mmap_pgoff. Is it valid
> to have PageReserved pages on the zones handled
> by these functions anyway?

make_pages_present passes a null pages array, so it won't run the below
code.

> This is equivalent of Andrea's fix for mainline.

yes.

> Andrea, this in SuSE's tree for a while correct?

Yes, in another form but the below is the one against mainline.

In SUSE tree I fixed a COW memory corruption issue (something I should
submit for mainline 2.4 integration ASAP), so the patch looks different
there. pinning the page only at the struct page level and delaying
writepage until the page is mapped, works in all cases, except when
there are threads and a COW is generated while one thread is executing a
rawio/O_DIRECT read and the anon page receiving the I/O gets unmapped by
some memory pressure. The only way to fix it is to prevent the VM unmap
pages that are under rawio, so I had to add a PG_pinned that
unfortunately serializes the rawio page against page, in 2.6 I could fix
it trivially without any serialization by comparing page->count with
page->mapcount (with 2.6.7+ VM, and that's already merged in mainline
since 2.6.7/8 or so). I did fix it in time for 2.6.5 SLES9 too.

the biggest pain to make the PG_pinned work has been to implement a
wait_on_page_pte_pinned asynchronous, otherwise keventd was executing
wait_on_page_pte_pinned it was getting stuck and the I/O wasn't
submitted since keventd itself had other events pending generating a
deadlock. This is all fixed by the async version of
wait_on_page_pte_pinned, and it's all in SLES8 latest, so that even aio
cannot generate memory corruption anymore (most people don't notice this
since they don't use threads and they don't do I/O with anonymous memory
as destination but to close all pratical corruption holes this was
technically required). But 2.4 mainline has no async-io, so adding
PG_pinned there is fairly easy (modulo reject big pain).