[ENBD] enbd_ioctl 2.6.9 kernel fails to modprobe enbd - seg fault

scunacc scunacc at yahoo.com
Thu Mar 2 17:44:25 MST 2006


Dear Peter,

> > ___ts2.tv_usec___ is used uninitialized in this function
> 
> Yep. Needs initializing.
> 
> Congrats. You found a bug. Not important, though.

Thankful that is useful. :-)

> Now, could you compile kernelspace, this time with LINUXDIR pointing
> at the appropriate kernel dir (maybe it will be like that by default)?
> 
>   make module 2>&1 |  tail -60

 make module 2>&1 |  tail -60
/bin/sh: line 0: [: -ge: unary operator expected
make[1]: Entering directory `/usr/src/linux-2.6.9-cm46'
*** Warning: Overriding SUBDIRS on the command line can cause
***          inconsistencies
mkdir -p /tmp/enbd/linux-2.6.x/.tmp_versions
make -f /usr/src/linux-2.6.9-cm46/scripts/Makefile.build
obj=arch/i386/kernel arch/i386/kernel/asm-offsets.s
  gcc -I/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include
-Wp,-MD,arch/i386/kernel/.asm-offsets.s.d -nostdinc -iwithprefix include
-D__KERNEL__ -Iinclude  -D__KERNEL__ -Iinclude  -Wall
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-pipe -msoft-float     -Iinclude/asm-i386/mach-default -O2
-fomit-frame-pointer -Wdeclaration-after-statement -D__SMP__
-DCONFIG_X86_LOCAL_APIC   -DKBUILD_BASENAME=asm_offsets
-DKBUILD_MODNAME=asm_offsets -S -o arch/i386/kernel/asm-offsets.s
arch/i386/kernel/asm-offsets.c 
  CHK     include/asm-i386/asm_offsets.h
make -f /usr/src/linux-2.6.9-cm46/scripts/Makefile.build
obj=/tmp/enbd/linux-2.6.x/drivers/block/enbd
  gcc -I/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include
-Wp,-MD,/tmp/enbd/linux-2.6.x/drivers/block/enbd/.enbd_base.o.d
-nostdinc -iwithprefix include -D__KERNEL__ -Iinclude  -D__KERNEL__
-Iinclude  -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
-fno-common -pipe -msoft-float     -Iinclude/asm-i386/mach-default -O2
-fomit-frame-pointer -Wdeclaration-after-statement -D__SMP__
-DCONFIG_X86_LOCAL_APIC  -DMODULE
-I"/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include"
-DKBUILD_BASENAME=enbd_base -DKBUILD_MODNAME=enbd -c
-o /tmp/enbd/linux-2.6.x/drivers/block/enbd/.tmp_enbd_base.o /tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c
In file included
from /tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:295:
/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include/linux/enbd.h: In function ‘local_nbd_end_request’:
/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include/linux/enbd.h:443: error: invalid storage class for function ‘rq_type’
/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include/linux/enbd.h:444: warning: implicit declaration of function ‘rq_type’
/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include/linux/enbd.h: In function ‘enbd_end_request’:
/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include/linux/enbd.h:485: error: invalid storage class for function ‘rq_set_seqno’
/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include/linux/enbd.h:487: warning: implicit declaration of function ‘rq_set_seqno’
/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include/linux/enbd.h: In function ‘enbd_end_request_lock’:
/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include/linux/enbd.h:500: error: invalid storage class for function ‘rq_set_seqno’
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c: At top level:
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:495: error: static
declaration of ‘rq_type’ follows non-static declaration
/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include/linux/enbd.h:444: error: previous implicit declaration of ‘rq_type’ was here
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:627: warning:
conflicting types for ‘rq_set_seqno’
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:627: error: static
declaration of ‘rq_set_seqno’ follows non-static declaration
/home/sysadmin/net_disk/nbd-2.4.33/kernel/linux-2.6.x/include/linux/enbd.h:487: error: previous implicit declaration of ‘rq_set_seqno’ was here
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c: In function
‘enbd_get_req’:
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:1878: error:
invalid storage class for function ‘enbd_clr_sock’
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:1924: warning:
implicit declaration of function ‘enbd_clr_sock’
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c: At top level:
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:2628: error: static
declaration of ‘enbd_clr_sock’ follows non-static declaration
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:1924: error:
previous implicit declaration of ‘enbd_clr_sock’ was here
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c: In function
‘enbd_clr_sock’:
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:2635: error:
invalid storage class for function ‘enbd_soft_reset’
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:2680: warning:
implicit declaration of function ‘enbd_soft_reset’
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c: At top level:
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:2859: warning:
conflicting types for built-in function ‘log2’
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:3284: error: static
declaration of ‘enbd_soft_reset’ follows non-static declaration
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:2680: error:
previous implicit declaration of ‘enbd_soft_reset’ was here
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c: In function
‘enbd_ioctl’:
/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.c:4423: warning:
pointer targets in passing argument 1 of
‘remote_ioctl->convert_inplace’ differ in signedness
make[2]: *** [/tmp/enbd/linux-2.6.x/drivers/block/enbd/enbd_base.o]
Error 1
make[1]: *** [/tmp/enbd/linux-2.6.x/drivers/block/enbd] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.9-cm46'
*************************************
* please apply kernel patch instead *
*************************************




More information about the ENBD mailing list