[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100205195409.GB23792@Chamillionaire.breakpoint.cc>
Date: Fri, 5 Feb 2010 20:54:09 +0100
From: Florian Westphal <fw@...len.de>
To: David Miller <davem@...emloft.net>
Cc: netdev@...r.kernel.org
Subject: Re: [RFC] xfrm: x86_64 CONFIG_COMPAT support
David Miller <davem@...emloft.net> wrote:
> From: Florian Westphal <fw@...len.de>
> Date: Fri, 5 Feb 2010 02:47:44 +0100
>
> > Unfortunately, the MSG_COMPAT flag seems to get lost along
> > the way, so this uses x86_64 is_compat_task() for now.
>
> You can't use is_compat_task() for this. The current
> execution context is not always the same as who is
> going to get the message.
Thank you, this saved me a lot of trouble.
I had a look at the wireless compat layer you mentioned;
when sending data to userspace one just prepares two
skbs (one native, one compat); netlink_recvmsg() then decides
which one to use for a particular receiver.
However, I believe I can use is_compat_task() on
the userspace -> kernel side to figure out how to interpret
the incoming data.
Is that correct or did I misunderstand?
Another way would be to first try native decode,
and then re-try compat format on error, but I consider that ugly.
Thanks for your help,
Florian
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists