The real problem is the header file /usr/include/linux/smb_mount.h.
Since this file is used to communicate between user space (mount
program) and kernel (implementation of mount syscall) it must use the
_kernel_ types for uid_t, mode_t etc. (For libc5, kernel types libc
types, that's why it works for libc5. For libc6 this is not true, e.g.
kernel uid_t is 16 bits while libc6 uid_t is 32 bits wide.)
smb_mount.h should read:
struct smb_mount_data {
int version;
__kernel_uid_t mounted_uid;
__kernel_uid_t uid;
__kernel_gid_t gid;
__kernel_mode_t file_mode;
__kernel_mode_t dir_mode;
};
This has been mentioned on the list before. Could someone
please fix it :)
Cheers, Roderich
-- Vinny: Is it possible, the two utes... Judge: Eh, the two what? Uh, uh, what was that word? Vinny: Uh, what word? Judge: Two what? Vinny: What? Judge: Uh, did you say 'Utes'? Vinny: Yeah, two utes. Judge: What is a ute? Vinny: Oh, excuse me, your honor. Two YOUTHS.
Roderich Schupp mailto:rsch@ExperTeam.de ExperTeam GmbH http://www.experteam.de/ Munich, Germany linux:2.1.111
--_007505DAC125664D0063355BC125664D_
--_007505DAC125664D0063355BC125664D_--
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html