Re: [PATCH 37/45] include/uapi/linux/socket.h: include sys/socket.h in userspace

From: Mikko Rapeli
Date: Tue Mar 10 2015 - 20:59:43 EST


On Wed, Mar 11, 2015 at 02:38:15AM +0200, Mikko Rapeli wrote:
> On Tue, Feb 17, 2015 at 10:14:10AM +0100, Arnd Bergmann wrote:
> > On Tuesday 17 February 2015 00:05:40 Mikko Rapeli wrote:
> > > This libc header has sockaddr definition for userspace.
> > > Fixes compilation errors like:
> > > error: field âifru_addrâ has incomplete type
> > > struct sockaddr ifru_addr;
> > >
> > > Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx>
> > > ---
> > > include/uapi/linux/socket.h | 4 ++++
> > > 1 file changed, 4 insertions(+)
> >
> > This looks wrong: where do you see a use of ifru_addr
> > in uapi/linux/socket.h?
>
> Indeed, this one seems completely wrong. Based on the test logs the
> change should have gone to linux/if.h.

Hmm, turns out this was not so straight forward. If I drop this I get 20
more errors from headers which include linux/socket.h and expect sockaddr
to be defined which is not true since it comes from sys/socket.h.

One way to fix this for all linux/socket.h users is to include sys/socket.h
already in linux/socket.h. After this I get rid of all compile test errors from
missing sockaddr definitions except cases where headers fail to include even
linux/socket.h.

Other option would be to include sys/socket.h in all headers using sockaddr.

I would prefer to include sys/socket.h already in linux/socket.h but I will
improve the commit message with this detail.

-Mikko
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/