[ENBD] enbd_ioctl 2.6.9 kernel fails to modprobe enbd - seg fault
scunacc
scunacc at yahoo.com
Wed Mar 1 12:30:35 MST 2006
Dear Peter et al.
I am having a problem with building ebnd and a 2.6.9 kernel.
I *have* to stick with a 2.6.9 kernel at the moment, because it's on a
bproc clustermatic 5 cluster and there is no resource available to port
the bproc patches to another kernel rev. at present.
The base OS is FC4.
The compiler rev there is: gcc version 4.0.0 20050519 (Red Hat 4.0.0-8)
which led me to move a couple of the static function definitions from
their placement inside functions to just before them. gcc 4 is picky
that way.
Noting a couple of changes mentioned by others, I also put the
> #ifdef __KERNEL_STRICT_NAMES
>
> #ifdef __CHECKER__
> #define __bitwise __attribute__((bitwise))
> #else
> #define __bitwise
> #endif
>
> typedef __u16 __bitwise __le16;
> typedef __u16 __bitwise __be16;
> typedef __u32 __bitwise __le32;
> typedef __u32 __bitwise __be32;
> typedef __u64 __bitwise __le64;
> typedef __u64 __bitwise __be64;
>
> #endif //__KERNEL_STRICT_NAMES
change in to ioctl.c to get it to compile at all.
The enbd driver modprobes with a segmentation fault into the kernel, and
modprobing the enbd_ioctl driver gives:
FATAL: Error inserting enbd_ioctl
(/lib/modules/2.6.9-cm46customVM/misc/enbd_ioctl.ko): Unknown symbol in
module, or unknown parameter (see dmesg)
dmesg o/p is:
ENBD #5427[0]: enbd_init Network Block Device originally by
pavel at elf.mj.gts.cz
ENBD #5428[0]: enbd_init Network Block Device port to 2.0 by
ptb at it.uc3m.es
ENBD #5430[0]: enbd_init Network Block Device move networking to user
space by amarin at it.uc3m.es
ENBD #5432[0]: enbd_init Enhanced Network Block Device 2.4.30 $Date:
2002/09/17 16:33:22 $ by ptb at it.uc3m.es
Unable to handle kernel NULL pointer dereference at virtual address
000003ae
printing eip:
c0250865
*pde = 36bd8001
Oops: 0002 [#1]
PREEMPT SMP
Modules linked in: enbd nfsd exportfs lockd ipv6 vmhgfs bproc vmadump
sunrpc dm_mod button battery ac uhci_hcd shpchp snd_ens1371 snd_rawmidi
snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer
snd_page_alloc snd_ac97_codec snd soundcore pcnet32 mii vmxnet floppy
BusLogic
CPU: 0
EIP: 0060:[<c0250865>] Tainted: P VLI
EFLAGS: 00010212 (2.6.9-cm46customVM)
EIP is at blk_queue_max_sectors+0x34/0x47
eax: 00001600 ebx: 00000200 ecx: 00000003 edx: 0000000b
esi: f786e960 edi: f8a0eb60 ebp: f8a0d040 esp: f6bccc54
ds: 007b es: 007b ss: 0068
Process insmod (pid: 3739, threadinfo=f6bcc000 task=c2a9e5c0)
Stack: c043f9a0 f7c4e180 f6bcc000 f7c4e180 f88c0165 f786e960 00000200
00000000
f8a0adbc 08062017 c011af1d 00000060 00000286 f8a0cd24 c2b64d00
00000000
00000000 f6bd8200 c2b64d00 c0145d65 f788f904 00000001 f8a0eb54
08062017
Call Trace:
[<f88c0165>] init_module+0x165/0xeb0 [enbd]
[<c011af1d>] kmap_atomic+0x85/0x9b
[<c0145d65>] pte_alloc_map+0x34/0xe1
[<c01483cb>] handle_mm_fault+0x186/0x1ce
[<c019e459>] __journal_file_buffer+0xea/0x29a
[<c0157ed2>] __find_get_block+0xe0/0x11d
[<c0119872>] do_page_fault+0x288/0x6b9
[<c019d5d7>] journal_dirty_metadata+0x1bf/0x1d1
[<c03bd248>] schedule+0x898/0xb1b
[<c011c419>] find_busiest_group+0xee/0x343
[<c011c7e0>] load_balance+0xd8/0x157
[<c011cb08>] rebalance_tick+0xa9/0xc4
[<c0116892>] smp_apic_timer_interrupt+0x8f/0xfd
[<c0106856>] apic_timer_interrupt+0x1a/0x20
[<c014d200>] unmap_area_pte+0xc0/0xed
[<c0115e6f>] do_flush_tlb_all+0x0/0x5a
[<c0115f41>] smp_call_function+0x1e/0xf6
[<c01899e0>] init_file+0x0/0x1b
[<c016ae83>] d_instantiate+0x21/0x47
[<c014d270>] unmap_area_pmd+0x43/0x5a
[<c014d7eb>] __vunmap+0x3b/0xd3
[<c01367f9>] load_module+0x8e1/0xa21
[<f88c0000>] init_module+0x0/0xeb0 [enbd]
[<c0136a1d>] sys_init_module+0xe4/0x23c
[<c0105e11>] sysenter_past_esp+0x52/0x71
Code: c1 e0 09 3d ff 0f 00 00 77 21 c7 44 24 08 08 00 00 00 c7 44 24 04
d8 b7 48 c0 c7 04 24 84 23 3f c0 e8 38 03 ed ff ba 08 00 00 00 <66> 89
93 ae 01 00 00 66 89 93 ac 01 00 00 83 c4 0c 5b c3 53 83
Any help gratefully received.
Kind regards
Derek Jones.
More information about the ENBD
mailing list