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