Re: sendmsg/recvmsg on Linux Alpha 2.2.x

kuznet@ms2.inr.ac.ru
Thu, 11 Mar 1999 22:36:37 +0300 (MSK)


Hello!

> I have a problem with the sendmsg/recvmsg functions on an Alpha.
> I have append 2 programs, reader.c and writer.c. Starting them
> on an Intel platform, it works great with glibc 2. On an Alpha
> I always get an Invalid argument from sendmsg back.
>
> Any ideas what is different for Alphas ?

Could you compare structs, as seen by kernel with glibc versions?
(iovec, cmsghdr, ucred)

Alexey

> struct cmessage {
> struct cmsghdr cmsg;
> struct ucred cmcred;
> };

BTW it is wrong. CMSG_* macros are the only legal way to construct/parse
ancillary data.

> /* XXX I'm not sure, if gete?id() is always correct, or if we should use
> get?id(). But since keyserv needs geteuid(), we have no other chance.
> It would be much better, if the kernel could pass both to the server. */
> cm.cmcred.pid = getpid ();
> cm.cmcred.uid = geteuid ();
> cm.cmcred.gid = getegid ();

You need not make this. If you do not supply any values,
kernel will pass exactly these ones.

Alexey

-
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.tux.org/lkml/