Bug 5014

Summary: rp_filter proc interface generate oops when enable
Product: Networking Reporter: Juan Pedro Paredes Caballero (juampe)
Component: IPV4Assignee: Stephen Hemminger (stephen)
Status: REJECTED INVALID    
Severity: normal CC: acme, bunk, kaber
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.12 Subsystem:
Regression: --- Bisected commit-id:
Attachments: dmesg

Description Juan Pedro Paredes Caballero 2005-08-07 07:12:01 UTC
Most recent kernel where this bug did not occur:
Distribution:
Debian unstabble
Hardware Environment:
compaq nx7010
Software Environment:
Debian networking startup script
Problem Description:
each one generate oops
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
echo 1 > /proc/sys/net/ipv4/conf/eth0/rp_filter
echo 1 > /proc/sys/net/ipv4/conf/lo/rp_filter

Steps to reproduce:

step by step

from debian /etc/init.d/networking
    if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
         for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
	                echo 1 > $f
         done
 	 return 0
    else
	 return 1
    fi

echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter

nothing happends ...

echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter



 <1>Unable to handle kernel paging request at virtual address 40d9db94
 printing eip:
c012362f
*pde = 00000000
Oops: 0002 [#5]
PREEMPT 
Modules linked in: md5 ipv6 af_packet ohci1394 snd_intel8x0m snd_intel8x0
snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore
snd_page_alloc ehci_hcd hci_usb bluetooth tsdev joydev uhci_hcd usbcore psmouse
pcspkr parport_pc parport irtty_sir sir_dev irda crc_ccitt evdev nls_iso8859_1
nls_cp437 vfat fat ipw2200 ieee80211 ieee80211_crypt eth1394 8139cp sr_mod sbp2
scsi_mod ieee1394 genrtc unix
CPU:    0
EIP:    0060:[<c012362f>]    Not tainted VLI
EFLAGS: 00010246   (2.6.12) 
EIP is at do_proc_dointvec_conv+0xf/0x40
eax: 00000001   ebx: 00000001   ecx: 40d9db94   edx: dee9ff18
esi: 080f3c09   edi: dee9feff   ebp: 00000001   esp: dee9fed8
ds: 007b   es: 007b   ss: 0068
Process bash (pid: 4617, threadinfo=dee9e000 task=df6bb060)
Stack: c012393f 00000001 00000000 42f61172 0c2b8c70 40d9db94 00000001 00000001 
       00000000 3116bff3 d121000a dee9ff60 d121fe24 00000000 00008242 dee9ff00 
       00000001 00000000 080f3c08 080f3c08 00000001 c169a0e0 c01239ec 080f3c08 
Call Trace:
 [<c012393f>] do_proc_dointvec+0x2df/0x360
 [<c01239ec>] proc_dointvec+0x2c/0x40
 [<c0123620>] do_proc_dointvec_conv+0x0/0x40
 [<c012330a>] do_rw_proc+0xaa/0xc0
 [<c0123370>] proc_writesys+0x0/0x30
 [<c012338f>] proc_writesys+0x1f/0x30
 [<c015c957>] vfs_write+0xb7/0x130
 [<c015ca81>] sys_write+0x41/0x70
 [<c0103111>] syscall_call+0x7/0xb
Code: 8b 5c 24 0c 89 c8 8b 74 24 10 8b 7c 24 14 8b 6c 24 18 83 c4 1c c3 8d b6 00
00 00 00 83 7c 24 04 00 74 0d 8b 00 85 c0 75 18 8b 02 <89> 01 31 c0 c3 8b 09 85
c9 78 16 c7 00 00 00 00 00 31 c0 89 0a 


echo 1 > /proc/sys/net/ipv4/conf/eth0/rp_filter


<1>Unable to handle kernel paging request at virtual address 6048c278
 printing eip:
c012362f
*pde = 00000000
Oops: 0002 [#6]
PREEMPT 
Modules linked in: md5 ipv6 af_packet ohci1394 snd_intel8x0m snd_intel8x0
snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore
snd_page_alloc ehci_hcd hci_usb bluetooth tsdev joydev uhci_hcd usbcore psmouse
pcspkr parport_pc parport irtty_sir sir_dev irda crc_ccitt evdev nls_iso8859_1
nls_cp437 vfat fat ipw2200 ieee80211 ieee80211_crypt eth1394 8139cp sr_mod sbp2
scsi_mod ieee1394 genrtc unix
CPU:    0
EIP:    0060:[<c012362f>]    Not tainted VLI
EFLAGS: 00010246   (2.6.12) 
EIP is at do_proc_dointvec_conv+0xf/0x40
eax: 00000001   ebx: 00000001   ecx: 6048c278   edx: dee9ff18
esi: 080f3c09   edi: dee9feff   ebp: 00000001   esp: dee9fed8
ds: 007b   es: 007b   ss: 0068
Process bash (pid: 4658, threadinfo=dee9e000 task=df6bb060)
Stack: c012393f 00000001 00000000 db15ebcc 00000001 6048c278 00000001 00000001 
       00000000 31000001 d111000a 00000007 dee9ffbc df6bb060 b7f5a5d0 dee9ff00 
       00000001 00000000 080f3c08 080f3c08 00000001 de2470e0 c01239ec 080f3c08 
Call Trace:
 [<c012393f>] do_proc_dointvec+0x2df/0x360
 [<c01239ec>] proc_dointvec+0x2c/0x40
 [<c0123620>] do_proc_dointvec_conv+0x0/0x40
 [<c012330a>] do_rw_proc+0xaa/0xc0
 [<c0123370>] proc_writesys+0x0/0x30
 [<c012338f>] proc_writesys+0x1f/0x30
 [<c015c957>] vfs_write+0xb7/0x130
 [<c015ca81>] sys_write+0x41/0x70
 [<c0103111>] syscall_call+0x7/0xb
Code: 8b 5c 24 0c 89 c8 8b 74 24 10 8b 7c 24 14 8b 6c 24 18 83 c4 1c c3 8d b6 00
00 00 00 83 7c 24 04 00 74 0d 8b 00 85 c0 75 18 8b 02 <89> 01 31 c0 c3 8b 09 85
c9 78 16 c7 00 00 00 00 00 31 c0 89 0a 



echo 1 > /proc/sys/net/ipv4/conf/lo/rp_filter



 <1>Unable to handle kernel paging request at virtual address 41f76bf8
 printing eip:
c012362f
*pde = 00000000
Oops: 0002 [#7]
PREEMPT 
Modules linked in: md5 ipv6 af_packet ohci1394 snd_intel8x0m snd_intel8x0
snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore
snd_page_alloc ehci_hcd hci_usb bluetooth tsdev joydev uhci_hcd usbcore psmouse
pcspkr parport_pc parport irtty_sir sir_dev irda crc_ccitt evdev nls_iso8859_1
nls_cp437 vfat fat ipw2200 ieee80211 ieee80211_crypt eth1394 8139cp sr_mod sbp2
scsi_mod ieee1394 genrtc unix
CPU:    0
EIP:    0060:[<c012362f>]    Not tainted VLI
EFLAGS: 00010246   (2.6.12) 
EIP is at do_proc_dointvec_conv+0xf/0x40
eax: 00000001   ebx: 00000001   ecx: 41f76bf8   edx: dee9ff18
esi: 080f3c09   edi: dee9feff   ebp: 00000001   esp: dee9fed8
ds: 007b   es: 007b   ss: 0068
Process bash (pid: 4716, threadinfo=dee9e000 task=df6bb060)
Stack: c012393f 00000001 00000000 42f611b7 06993a38 41f76bf8 00000001 00000001 
       00000000 3116bff3 d965000a dee9ff60 d965e054 00000000 00008242 dee9ff00 
       00000001 00000000 080f3c08 080f3c08 00000001 c169a8e0 c01239ec 080f3c08 
Call Trace:
 [<c012393f>] do_proc_dointvec+0x2df/0x360
 [<c01239ec>] proc_dointvec+0x2c/0x40
 [<c0123620>] do_proc_dointvec_conv+0x0/0x40
 [<c012330a>] do_rw_proc+0xaa/0xc0
 [<c0123370>] proc_writesys+0x0/0x30
 [<c012338f>] proc_writesys+0x1f/0x30
 [<c015c957>] vfs_write+0xb7/0x130
 [<c015ca81>] sys_write+0x41/0x70
 [<c0103111>] syscall_call+0x7/0xb
Code: 8b 5c 24 0c 89 c8 8b 74 24 10 8b 7c 24 14 8b 6c 24 18 83 c4 1c c3 8d b6 00
00 00 00 83 7c 24 04 00 74 0d 8b 00 85 c0 75 18 8b 02 <89> 01 31 c0 c3 8b 09 85
c9 78 16 c7 00 00 00 00 00 31 c0 89 0a 
 <6>agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.
agpgart: Putting AGP V2 device at 0000:00:00.0 into 1x mode
agpgart: Putting AGP V2 device at 0000:01:00.0 into 1x mode
[drm] Loading R200 Microcode
Comment 1 Juan Pedro Paredes Caballero 2005-08-07 07:30:53 UTC
Created attachment 5533 [details]
dmesg 

Kernel compiled with gcc 4.0
Comment 2 Harald Welte 2005-08-07 08:10:30 UTC
I'm would reassign this to DaveM, if he had a bugzilla account. rp_filter is a
feature of the routing code, and not related to netfilter/iptables.
Comment 3 Adrian Bunk 2005-08-07 08:25:27 UTC
Your kernel is compiled with gcc 4.0.0

This gcc version had at least one serious bug resulting in known kernel
miscompilations.

Does the problem still occur when using gcc 4.0.1?
Comment 4 Juan Pedro Paredes Caballero 2005-08-11 09:35:09 UTC
OK with gcc 4.0.2 the problen has solved
Please close the bug.