On 03/24/10 15:00, Josh Triplett wrote: > On Wed, Mar 24, 2010 at 02:01:47PM -0700, Randy Dunlap wrote: >> On 03/24/10 13:34, Josh Triplett wrote: >>> On Wed, Mar 24, 2010 at 12:47:24PM -0700, Randy Dunlap wrote: >>>> On 03/24/10 12:36, Josh Triplett wrote: >>>>> On Wed, Mar 24, 2010 at 10:41:44AM -0700, Randy Dunlap wrote: >>>>>> (snapshot from Dave Jones: >>>>>> http://www.codemonkey.org.uk/projects/git-snapshots/sparse/ ) >>>>>> >>>>>> >>>>>> In the linux-next-20100324 or akpm's kernel patchset (mmotm-2010-03-23), >>>>>> sparse segfaults when checking net/bridge/br_fdb.c. (does not happen in >>>>>> Linus's mainline kernel tree) >>>>>> >>>>>> >>>>>> The last messages are: >>>>>> >>>>>> net/bridge/br_fdb.c:225:9: error: no member 'hash' in struct net_bridge >>>>>> net/bridge/br_fdb.c:225:9: error: incompatible types for operation (+) >>>>>> net/bridge/br_fdb.c:225:9: left side has type bad type >>>>>> net/bridge/br_fdb.c:225:9: right side has type int >>>>>> net/bridge/br_fdb.c:225:9: error: cannot dereference this type >>>>>> /bin/sh: line 1: 28041 Segmentation fault sparse -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -Wbitwise -Wno-return-void -D__x86_64__ -m64 -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.4.1/include -Wp,-MD,net/bridge/.br_fdb.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.4.1/include -I/lnx/src/NEXT/linux-next-20100324/arch/x86/include -Iinclude -I/lnx/src/NEXT/linux-next-20100324/include -include include/generated/autoconf.h -I/lnx/src/NEXT/linux-next-20100324/net/bridge -Inet/bridge -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -fno-builtin-memcpy -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow - Wf >> ra >>>> me- >>>>>> larger-than=2048 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -fprofile-arcs -ftest-coverage -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(br_fdb)" -D"KBUILD_MODNAME=KBUILD_STR(bridge)" -D"DEBUG_HASH=21" -D"DEBUG_HASH2=11" /lnx/src/NEXT/linux-next-20100324/net/bridge/br_fdb.c >>>>>> make[3]: *** [net/bridge/br_fdb.o] Error 139 >>>>> >>>>> Ouch. >>>>> >>>>> Can you attach a preprocessed source .i file that reproduces the >>>>> problem? "make net/bridge/br_fdb.i" should work. >>>> >>>> Sure, attached. >>> >>> I tried to reproduce this segfault with this file and current Sparse >>> from Git, and couldn't seem to reproduce it. I tried the posted command >>> line and many variations on it. >>> >>> I had to explicitly drop -Wall or add -Wno-shadow to get the code to >>> pass Sparse, due to a pile of warnings about ______f and ______r. Apart >>> from that, I didn't see any issue. >> >> OK, maybe I'll blame it on gcc then. I cloned the current git tree >> and still have the sparse segfault... >> >> thanks for looking. > > Can you successfully reproduce the segfault with the .i file, or only > as part of the kernel build? Only as part of the kernel build. -- ~Randy -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html