Re: [kvanhees@sinenomine.net: Re: [jochen@jochen.org: OpenAFS for S/390]]
> Which configure options are you applying? 1.2.6 also loads fine for us.
> Maybe we're seeing an untracked dependency?
I currently think the debian kernel does not export these symbols.
Can you please check your /proc/ksyms on S/390 wheter it exports these
symbols?
I try the stock debian options for the openafs module, these are:
,----
| sh configure --with-afs-sysname=$(SYS_NAME) \
| --with-linux-kernel-headers=$(KSRC)
`----
I find the symbol __copy_to_user_fixup is used in the following files:
,----
| (unstable)jhein@trex:~/openafs/src/libafs/MODLOAD-2.4.17-MP$ grep copy_from_user_fixup *.o
| Binary file afs_call.o matches
| Binary file afs_pioctl.o matches
| Binary file libafs-2.4.17.mp.o matches
| Binary file osi_misc.o matches
`----
A quick look into the preprocessor output for osi_misc.c yields:
,----
| # 375 "../asm/uaccess.h"
|
| extern int __get_user_bad(void);
|
|
|
|
|
| void __copy_from_user_fixup(void );
| void __copy_to_user_fixup(void );
|
| extern inline unsigned long
| __copy_to_user_asm(void* to, const void* from, long n)
| {
|
| __asm__ __volatile__ ( " lr 2,%2\n"
| " lr 4,%1\n"
| " lr 3,%0\n"
| " lr 5,3\n"
| " sacf 512\n"
| "0: mvcle 4,2,0\n"
| " jo 0b\n"
| " sacf 0\n"
| " lr %0,3\n"
| ".section __ex_table,\"a\"\n"
| " .align 4\n"
| " .long 0b,__copy_to_user_fixup\n"
| ".previous"
| : "+&d" (n) : "d" (to), "d" (from)
| : "cc", "2", "3", "4", "5" );
| return n;
| }
`----
The symbols should be exported by the kernel, see
arch/s390/kernel/s390_ksyms.c:
,----
| EXPORT_SYMBOL_NOVERS(__copy_from_user_fixup);
| EXPORT_SYMBOL_NOVERS(__copy_to_user_fixup);
`----
But the debian compiled kernel does not export these symbols,
according to /proc/ksyms. A kernel build bug?
I get a syntax error when compiling the kernel, so I can't check:
make[3]: Entering directory
`/home/jhein/tmp/kernel-source-2.4.17/fs/partitions'
gcc -D__KERNEL__ -I/home/jhein/tmp/kernel-source-2.4.17/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -fno-strength-reduce
-DEXPORT_SYMTAB -c ibm.c
ibm.c: In function `ibm_partition':
ibm.c:126: parse error before `;'
ibm.c:134: `inode' undeclared (first use in this function)
ibm.c:134: (Each undeclared identifier is reported only once
ibm.c:134: for each function it appears in.)
make[3]: *** [ibm.o] Error 1
make[3]: Leaving directory
`/home/jhein/tmp/kernel-source-2.4.17/fs/partitions'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory
`/home/jhein/tmp/kernel-source-2.4.17/fs/partitions'
make[1]: *** [_subdir_partitions] Error 2
make[1]: Leaving directory `/home/jhein/tmp/kernel-source-2.4.17/fs'
make: *** [_dir_fs] Error 2
For now, I think I should reassign the bug to the kernel-image. Any
comments?
Jochen
--
#include <~/.signature>: permission denied
Reply to: