[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fatal page fault in supervisor mode



Michael Dunne <mickydee_(_at_)_cairns_(_dot_)_net_(_dot_)_au> writes:

> I am not sure if this will help any, but I found that using a
> return-rst setting in the PF rules, when blocking will cause the page
> fault. After 12-24 hours of traffic across the bridge with return-rst
> set, there would be a page fault waiting for me.

That's an interesting observation.

I have return-rst blocking PF rules with quite a few hits.  I have the
same rules on two parallel firewalls, however; only one of the two
crashes.  Always the same one.

> I have removed return-rst from all my rules, and since then, it has
> had an uptime of 2 weeks (since I last removed the rules) without a
> single page fault.

Removing return-rst from *all* my rules is not a viable option.  And,
as I said, this only happens in one box out of two, and it doesn't
happen very reliably.  (Or have I just been a victim of statistics?)

In case anyone's interested, here's the dmesg from the box that
*doesn't* crash.  It has the same custom-built 3.0 kernel as the other
box.

OpenBSD 3.0 (FIREWALL) #1: Thu Dec 20 13:07:56 CET 2001
    root_(_at_)_pandora1:/usr/src/sys/arch/i386/compile/FIREWALL
cpu0: Intel Pentium III (Coppermine) ("GenuineIntel" 686-class) 1 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SYS,MTRR,PGE,MCA,CMOV,PAT,PSE36,SER,MMX,FXSR,SIMD
real mem  = 528003072 (515628K)
avail mem = 484188160 (472840K)
using 5689 buffers containing 26501120 bytes (25880K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(12) BIOS, date 07/26/01, BIOS32 rev. 0 @ 0xfb090
apm0 at bios0: Power Management spec V1.2
apm0: AC on, battery charge unknown
pcibios0 at bios0: rev. 2.1 @ 0xf0000/0xb510
pcibios0: PCI IRQ Routing Table rev. 1.0 @ 0xfd940/128 (6 entries)
pcibios0: PCI Exclusive IRQs: 5 9 10 11
pcibios0: PCI Interrupt Router at 000:07:0 ("VIA VT82C596A PCI-ISA" rev 0x00)
pcibios0: PCI bus #3 is the last bus
bios0: ROM list: 0xc0000/0xc000
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "VIA VT8601 Host-PCI" rev 0x05
ppb0 at pci0 dev 1 function 0 "VIA VT82C601 PCI-AGP" rev 0x00
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "Trident CyberBlade i1" rev 0x6a
wsdisplay0 at vga1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
pcib0 at pci0 dev 7 function 0 "VIA VT82C686 PCI-ISA" rev 0x40
pciide0 at pci0 dev 7 function 1 "VIA VT82C571 IDE" rev 0x06: ATA100, channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <WDC WD200BB-00AUA1>
wd0: 16-sector PIO, LBA, 19092MB, 16383 cyl, 16 head, 63 sec, 39102336 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
uhci0 at pci0 dev 7 function 2 "VIA VT83C572 USB" rev 0x1a: irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: vendor 0x0000 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 7 function 3 "VIA VT83C572 USB" rev 0x1a: irq 11
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: vendor 0x0000 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
"VIA VT82C686 SMBus" rev 0x40 at pci0 dev 7 function 4 not configured
auvia0 at pci0 dev 7 function 5 "VIA VT82C686 AC-97 Audio" rev 0x50: irq 5
ac97: codec id 0x49434511
ac97: codec features headphone, 18 bit DAC, 18 bit ADC, Unknown 3D
audio0 at auvia0
ppb1 at pci0 dev 8 function 0 "DEC 21152 PCI-PCI" rev 0x03
pci2 at ppb1 bus 2
dc0 at pci2 dev 4 function 0 "DEC 21142/3" rev 0x41: irq 10 address 00:80:c8:b9:9d:cd
nsphyter0 at dc0 phy 1: DP83843 10/100 media interface, rev. 0
dc1 at pci2 dev 5 function 0 "DEC 21142/3" rev 0x41: irq 9 address 00:80:c8:b9:9d:ce
nsphyter1 at dc1 phy 1: DP83843 10/100 media interface, rev. 0
dc2 at pci2 dev 6 function 0 "DEC 21142/3" rev 0x41: irq 5 address 00:80:c8:b9:9d:cf
nsphyter2 at dc2 phy 1: DP83843 10/100 media interface, rev. 0
dc3 at pci2 dev 7 function 0 "DEC 21142/3" rev 0x41: irq 11 address 00:80:c8:b9:9d:d0
nsphyter3 at dc3 phy 1: DP83843 10/100 media interface, rev. 0
ppb2 at pci0 dev 9 function 0 "DEC 21152 PCI-PCI" rev 0x03
pci3 at ppb2 bus 3
dc4 at pci3 dev 4 function 0 "DEC 21142/3" rev 0x41: irq 9 address 00:80:c8:b9:b0:09
nsphyter4 at dc4 phy 1: DP83843 10/100 media interface, rev. 0
dc5 at pci3 dev 5 function 0 "DEC 21142/3" rev 0x41: irq 5 address 00:80:c8:b9:b0:0a
nsphyter5 at dc5 phy 1: DP83843 10/100 media interface, rev. 0
dc6 at pci3 dev 6 function 0 "DEC 21142/3" rev 0x41: irq 11 address 00:80:c8:b9:b0:0b
nsphyter6 at dc6 phy 1: DP83843 10/100 media interface, rev. 0
dc7 at pci3 dev 7 function 0 "DEC 21142/3" rev 0x41: irq 10 address 00:80:c8:b9:b0:0c
nsphyter7 at dc7 phy 1: DP83843 10/100 media interface, rev. 0
rl0 at pci0 dev 14 function 0 "Realtek 8139" rev 0x10: irq 11 address 00:10:dc:07:67:29
rlphy0 at rl0 phy 0: RTL internal phy
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pmsi0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pmsi0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
sysbeep0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
biomask 4840 netmask 4e60 ttymask 5ee2
pctr: 686-class user-level performance counters enabled
mtrr: Pentium Pro MTRR support
dkcsum: wd0 matched BIOS disk 80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302


The FIREWALL configurations, by the way:

$ pwd 
/usr/src/sys/arch/i386/conf
$ diff -u GENERIC FIREWALL                                                     
--- GENERIC     Mon Oct  8 21:30:40 2001
+++ FIREWALL    Thu Dec 20 12:12:38 2001
@@ -1,12 +1,9 @@
-#      $OpenBSD: GENERIC,v 1.279 2001/10/08 19:30:40 deraadt Exp $
-#      $NetBSD: GENERIC,v 1.48 1996/05/20 18:17:23 mrg Exp $
-#
-#      GENERIC -- everything that's currently supported
+#      FIREWALL
 #
 
 machine                i386            # architecture, used by config; REQUIRED
 
-include "../../../conf/GENERIC"
+include "../../../conf/FIREWALL"
 
 option         I386_CPU        # CPU classes; at least one is REQUIRED
 option         I486_CPU
@@ -306,7 +303,7 @@
 lmc*   at pci? dev ? function ?                # Lan Media Corp SSI/T3/HSSI
 le*    at pci? dev ? function ?                # PCnet-PCI based ethernet
 le*    at isapnp?
-de*    at pci? dev ? function ?                # DC21X4X-based ethernet
+#de*   at pci? dev ? function ?                # DC21X4X-based ethernet
 fxp*   at pci? dev ? function ?                # EtherExpress 10/100B ethernet
 fxp*   at cardbus? dev ? function ?            # Intel PRO/100 ethernet
 ne*    at pci? dev ? function ?                # NE2000-compat ethernet
$ cd ../../../conf/         
$ pwd                       
/usr/src/sys/conf
$ diff -u GENERIC FIREWALL  
--- GENERIC     Mon Sep 17 19:04:27 2001
+++ FIREWALL    Thu Dec 20 12:56:29 2001
@@ -42,8 +42,8 @@
 #option                TCP_FACK        # Forward Acknowledgements for TCP
 #option                TCP_SIGNATURE   # TCP MD5 Signatures, for BGP routing sessions
 
-option         NFSCLIENT       # Network File System client
-option         NFSSERVER       # Network File System server
+#option                NFSCLIENT       # Network File System client
+#option                NFSSERVER       # Network File System server
 
 option         CD9660          # ISO 9660 + Rock Ridge file system
 option         MSDOSFS         # MS-DOS file system
@@ -56,7 +56,7 @@
 option         UMAPFS          # NULLFS + uid and gid remapping
 option         UNION           # union file system
 
-#option                GATEWAY         # packet forwarding
+option         GATEWAY         # packet forwarding
 option         INET            # IP + ICMP + TCP + UDP
 option         ALTQ            # ALTQ base
 option         INET6           # IPv6 (needs INET)
@@ -100,3 +100,8 @@
 #pseudo-device faith   1       # IPv[46] tcp relay translation i/f
 
 option         BOOT_CONFIG     # add support for boot -c
+
+# Specific options
+option NMBCLUSTERS=8192
+
+
$ 


-- 

Arvid


Visit your host, monkey.org