Re: [PATCH 37/45] include/uapi/linux/socket.h: include sys/socket.h in userspace
From: Mikko Rapeli <hidden>
Date: 2015-03-11 00:59:39
Also in:
lkml
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:quoted
On Tuesday 17 February 2015 00:05:40 Mikko Rapeli wrote:quoted
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 <redacted> --- 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