2.1.11-2.6.22.6-200709071800 kernel panic

Discuss and suggest new grsecurity features

Postby paxfan » Sun Sep 23, 2007 3:56 pm

PaX Team wrote:look at the Code bytes reported this time ;-).

Aah yes, now that you mention it I see the difference :-).

PaX Team wrote:i'll need one more piece of the puzzle:
Code: Select all
--- linux-2.6.22.6-pax/arch/i386/pci/pcbios.c   2007-08-19 18:58:59.000000000 +0200
+++ linux-2.6.22.6-pax/arch/i386/pci/pcbios.c   2007-09-23 22:05:41.000000000 +0200
@@ -126,6 +126,7 @@
                int cpu;
                unsigned char flags;

+               printk(KERN_INFO "bios32_service: base:%08lx length:%08lx entry:%08lx\n", address, length, entry);
                address = address + PAGE_OFFSET;
                length -= 1UL;
                flags = 4;

and report the printk output please.

Patch applied. Here is the output:
Code: Select all
bios32_service: base:000f0000 length:0000b668 entry:0000b210
paxfan
 
Posts: 6
Joined: Fri Sep 21, 2007 3:14 pm

Postby PaX Team » Sun Sep 23, 2007 4:40 pm

paxfan wrote:Patch applied. Here is the output:
Code: Select all
bios32_service: base:000f0000 length:0000b668 entry:0000b210
thanks, can you remove the length -= 1UL; line and try again? if that still fails there, try to change it to length += some_value until it works.
PaX Team
 
Posts: 2310
Joined: Mon Mar 18, 2002 4:35 pm

Postby paxfan » Mon Sep 24, 2007 3:14 pm

PaX Team wrote:thanks, can you remove the length -= 1UL; line and try again? if that still fails there, try to change it to length += some_value until it works.

After I removed the line the kernel still didn't boot. I made some kernels in advance with different values for length. The first one that booted was length += 4UL;, although 5UL also worked. I stopped trying then.

Do you think this is a solution to the problem? I mean, will this work for everyone?
paxfan
 
Posts: 6
Joined: Fri Sep 21, 2007 3:14 pm

Postby katmai » Tue Sep 25, 2007 2:50 pm

any idea if this will work on 2.6.22-8 ?
katmai
 

Postby PaX Team » Tue Sep 25, 2007 3:25 pm

paxfan wrote:After I removed the line the kernel still didn't boot. I made some kernels in advance with different values for length. The first one that booted was length += 4UL;, although 5UL also worked. I stopped trying then.

Do you think this is a solution to the problem? I mean, will this work for everyone?
thanks for the info, looks like the BIOS world is as crappy as it ever was. the basic problem is that your PCI BIOS specifies one region for its code needs then apparently expects something bigger in reality. so i'll probably have to figure out some magic constant for the extra headroom over what it requests. in any case, PCI BIOS access is really not needed on today's commodity hardware, it's for special motherboards/chipsets where linux itself doesn't know how to talk to all of the PCI bus - one will find it out quickly enough when the direct access method doesn't allow the system to boot.
PaX Team
 
Posts: 2310
Joined: Mon Mar 18, 2002 4:35 pm

Postby paxfan » Wed Sep 26, 2007 11:50 am

katmai wrote:any idea if this will work on 2.6.22-8 ?

I think it's worth trying. Please let us know if it works.
paxfan
 
Posts: 6
Joined: Fri Sep 21, 2007 3:14 pm

Postby nerdpunk » Sun Sep 30, 2007 1:50 am

paxfan wrote:
katmai wrote:any idea if this will work on 2.6.22-8 ?

I think it's worth trying. Please let us know if it works.


hey guys,

the grsecurity-2.1.11-2.6.22.9-200709280630.patch
is working again on that machine which refused to boot with 2.6.22.6
thanx!
(and sorry, i didn't look into the forum here for a long time, else i would have helped you testing [fscking conditionals ;])
nerdpunk
 
Posts: 5
Joined: Tue Aug 16, 2005 10:31 am

Previous

Return to grsecurity development

cron