[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20110115193526.GB463@e-circ.dyndns.org>
Date: Sat, 15 Jan 2011 20:35:27 +0100
From: Kurt Van Dijck <kurt.van.dijck@....be>
To: Oliver Hartkopp <socketcan@...tkopp.net>
Cc: netdev@...r.kernel.org, socketcan-core@...ts.berlios.de
Subject: Re: [PATCH] can: test size of struct sockaddr
On Sat, Jan 15, 2011 at 06:08:54PM +0100, Oliver Hartkopp wrote:
> On 14.01.2011 18:23, Kurt Van Dijck wrote:
> > I think this patch makes the CAN socket code comform to the
> > manpages of sendmsg & recvmsg.
>
> Hello Kurt,
>
> if you check similar code sniplets in the kernel you would see, that in
> recvmsg()-cases the given namelen is not used from userspace.
I went into udp code, but my mind got troubled there.
>
> If msg->msg_name is not NULL the msg_namelen is just set by the kernel. E.g.
> see af_packet.c, af_econet.c, etc.
I should have looked further ...
Given this, I went up to net/socket.c:__sys_recvmsg.
Within kernel space, a struct sockaddr_storage is used in fact ....
This solves indeed the problem I was trying to address.
>
> So the code in candump.c setting the msg_namelen before recvmsg() is obviously
> obsolete ...
I think no, since after the socket's recvmsg() has been called,
since move_addr_to_user() will do checks similar as I tried to reimplement.
>
> Btw. your two patches below for bcm_sendmsg() and raw_sendmesg() look good.
>
> If you would like to resubmit these two patches, you may add my Acked-by
Thanks, I will do so.
Kurt
--
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