https://bugzilla.novell.com/show_bug.cgi?id=282196 matz@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO Info Provider| |axboe@kernel.dk ------- Comment #3 from matz@novell.com 2007-06-08 06:03 MST ------- Can't reproduce with glibc-2.5-25 on a i586 10.2 system: After commenting out the "#define USE_GLIBC_SPLICE" from the source: % gcc splice-test.c % ./a.out splice-test.h | cat splice: Invalid argument % strace ./a.out splice-test.h 2>&1 | grep 313 SYS_313(0x3, 0, 0x1, 0, 0x99c) = -1 EINVAL (Invalid argument) % gcc -D USE_GLIBC_SPLICE splice-test.c % ./a.out splice-test.h | cat splice: Invalid argument strace ./a.out splice-test.h 2>&1 | grep 313 SYS_313(0x3, 0, 0x1, 0x99c) = -1 EINVAL (Invalid argument) I.e. exactly the same behaviour no matter if the syscall is called directly or over the glibc wrapper. I also see no mangling, the glibc wrapper expects 6 arguments (strace gives only 5 for unknown syscalls): in_fd, in_off, out_fd, out_off, len, flags which the program indeed passes in that order, with in_fd being 3 (the opened file), out_fd being 1 (stdout), both pointers to the filedescs being NULL (0 in strace output), and the len being the size of the file (0x99c which indeed is the filesize of my splice-test.h). So the call in the program and the syscall agree, and both give an EINVAL. Do you perhaps use a broken strace program which dumps the arguments incorrectly? (I note that yours seems to know the "splice" syscall, perhaps mine doesn't, so it's possible that the patch introducing that knowledge actually is broken?) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.