lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Tue, 19 Mar 2013 19:06:31 -0400 (EDT)
From:	David Miller <davem@...emloft.net>
To:	daniel.baluta@...il.com
Cc:	willemb@...gle.com, edumazet@...gle.com, netdev@...r.kernel.org
Subject: Re: [PATCH net-next] packet: Fix compile error

From: Daniel Baluta <daniel.baluta@...il.com>
Date: Wed, 20 Mar 2013 00:46:38 +0200

> On Wed, Mar 20, 2013 at 12:07 AM, David Miller <davem@...emloft.net> wrote:
>> From: Daniel Baluta <dbaluta@...acom.com>
>> Date: Wed, 20 Mar 2013 00:01:21 +0200
>>
>>> PACKET_FANOUT_ROLLOVER and PACKET_FANOUT_FLAG_ROLLOVER are not declared in
>>> <tree>/usr/include/linux/if_packet.h together with the other PACKET_FANOUT_* macros
>>> as one would expect. This causes the following compilation error:
>>> <snip>
>>> psock_fanout.c: In function ‘test_control_single’:
>>> psock_fanout.c:230:23: error: ‘PACKET_FANOUT_ROLLOVER’ undeclared (first use in this function)
>>> </snip>
>>>
>>> Signed-off-by: Daniel Baluta <dbaluta@...acom.com>
>>
>> No, in fact, all of these should be removed completely.
>>
>> They are provided by the header files under linux/usr/include which
>> get created by the "make headers_install" rule.
>>
>> So you either need to run the "make headers_install" rule before
>> building the tests, or install the updated headers under /usr/include
>> on your test machine.
>>
>> I'll remove the defines from the test, thanks for pointing this
>> out.
> 
> Sorry if I am missing something but I don't think it's necessary to
> "make headers_install" because selftests compilaton target already
> include -I../../../../usr/include/ that points to linux/usr/include.

"make headers_install" populates the top-level usr/include/ with
actual header files.

You need to do this, unless you have the header check kconfig option
enabled.

That's how the tests can obtain the version of the headers in the
kernel tree in which they live, rather than the system headers.

> Anyhow, this is not an issue :). The problem is that there is no definition
> for PACKET_FANOUT_ROLLOVER or PACKET_FANOUT_FLAG_ROLLOVER,
> and the compilation still fails:
> 
> $ make
> gcc -Wall -I../../../../usr/include/ -o psock_fanout psock_fanout.c
> psock_fanout.c: In function ‘test_control_single’:
> psock_fanout.c:212:23: error: ‘PACKET_FANOUT_ROLLOVER’ undeclared
> (first use in this function)
> 
> On your system where does PACKET_FANOUT_ROLLOVER gets defined?

In include/uapi/linux/if_packet.h via usr/include/linux/if_packet.h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ