lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 17 Jan 2008 23:16:42 +0100
From:	"Andreas Herrmann3" <andreas.herrmann3@....com>
To:	"Ingo Molnar" <mingo@...e.hu>
cc:	"Venki Pallipadi" <venkatesh.pallipadi@...el.com>, ak@....de,
	ebiederm@...ssion.com, rdreier@...co.com,
	torvalds@...ux-foundation.org, gregkh@...e.de, airlied@...net.ie,
	davej@...hat.com, tglx@...utronix.de, hpa@...or.com,
	akpm@...ux-foundation.org, arjan@...radead.org,
	jesse.barnes@...el.com, davem@...emloft.net,
	linux-kernel@...r.kernel.org, suresh.b.siddha@...el.com
Subject: Re: [patch 0/4] x86: PAT followup - Incremental changes and bug
 fixes

On Thu, Jan 17, 2008 at 10:42:28PM +0100, Andreas Herrmann3 wrote:
> On Thu, Jan 17, 2008 at 10:13:08PM +0100, Ingo Molnar wrote:
> > 
> > * Andreas Herrmann3 <andreas.herrmann3@....com> wrote:
> > 
> > > Yes.
> > > 
> > > Meanwhile I have figured out that it is some ACPI stuff that maps the 
> > > page cached. I've changed the ioremap's in drivers/acpi/osl.c to 
> > > ioremap_nocache. See attached patch.
> > > 
> > > Now the machine boots without conflicts.
> > 
> > ah, nice!
> > 
> > but in general we must be robust enough in this case and just degrade 
> > any overlapping page to UC (and emit a warning perhaps) - instead of 
> > failing the ioremap and thus failing the driver (and the bootup).
> > 
> > Does my third patch (which falls back to UC in case of attribute 
> > conflicts, also attached below) instead of your ioremap_nocache() patch 
> > solve your bootup problem too?
> 
> I'll check this asap

Ok, here is the result:

sata_sil 0000:00:12.0: version 2.3
ACPI: PCI Interrupt 0000:00:12.0[A] -> GSI 22 (level, low) -> IRQ 22
ioremap_nocache: addr c0403000, size 200
swapper:1 conflicting cache attribute c0403000-c0404000 uncached<->default
Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP: 
 [<ffffffff8102905d>] ? reserve_mat
1a5/0x221
PGD 0 
Oops: 0000 [1] SMP 
CPU 3 
Modules linked in:
Pid: 1, comm: swapper Not tainted 2.6.24-rc8-gd294e9ed-dirty #1
RIP: 0010:[<ffffffff8102905d>]  [<ffffffff8102905d>] ? reserve_mattr+0x1a5/0x221
RSP: 0018:ffff810077581c60  EFLAGS: 00010282
RAX: 000000000000004e RBX: ffff8100775a7a00 RCX: 0000000000004c12
RDX: 000000000000a9a9 RSI: 0000000000000018 RDI: ffffffff8153bed4
RBP: 0000000000000000 R08: ffffffff81540fe7 R09: ffffffff81329d70
R10: 0000000000000000 R11: 0000000000000000 R12: 00000000c0404000
R13: 0000000000000018 R14: 00000000c0403000 R15: 00000000c0403000
FS:  0000000000000000(0000) GS:ffff8100775d6bc0(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000000 CR3: 0000000001001000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper (pid: 1, threadinfo ffff810077580000, task ffff810077564790)
Stack:  ffffffff81411900 0000000000001000 0000000000001000 00000000c0404000
 ffffc200008ac000 00000000c0403000 ffff8100775a7a40 ffffffff810281e9
 0000000000000018 0000000000000005 ffff810077631680 ffff8100777b7800
Call Trace:
 [<ffffffff810281e9>] __ioremap+0xc2/0x11a
 [<ffffffff8114a6b0>] pcim_iomap+0x43/0x53
 [<ffffffff8114a74f>] pcim_iomap_regions+0x8f/0x104
 [<ffffffff811fba72>] sil_init_one+0xb0/0x1eb
 [<ffffffff81150f98>] pci_device_probe+0xd1/0x138
 [<ffffffff811a4d9c>] driver_probe_device+0xe1/0x16a
 [<ffffffff811a4f6d>] __driver_attach+0x90/0xcd
 [<ffffffff811a4edd>] __driver_attach+0x0/0xcd
 [<ffffffff811a4edd>] __driver_attach+0x0/0xcd
 [<ffffffff811a4149>] bus_for_each_dev+0x43/0x6e
 [<ffffffff811a44c9>] bus_add_driver+0x77/0x1be
 [<ffffffff8115116e>] __pci_register_driver+0x58/0x8a
 [<ffffffff814d2634>] kernel_init+0x170/0x2e0
 [<ffffffff8100cb58>] child_rip+0xa/0x12
 [<ffffffff814d24c4>] kernel_init+0x0/0x2e0
 [<ffffffff8100cb4e>] child_rip+0x0/0x12


Code: 00 49 89 c9 48 81 c6 e0 02 00 00 48 89 3c 24 31 c0 4d 89 e0 4c 89 f1 48 c7 c7 c3 97 3e 81 e8 71 ef 00 00 48 c7 43 10 18 00 00 00 <48> 83 3c 25 00 00 00 00 00 74 36 48 c7 04 25 00 00 00 00 18 00 
RIP  [<ffffffff8102905d>] ? reserve_mattr+0x1a5/0x221
 RSP <ffff810077581c60>
CR2: 0000000000000000
---[ end trace 5516cbea98bb72f9 ]---
Kernel panic - not syncing: Attempted to kill init!



I should have reviewed your patch.
I guess it must be

  "if (fattr)"  instead of  "if (*fattr)"

I'll give it another try ...


Andreas



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ