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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 10 Sep 2016 16:01:06 +0100
From:   Jonathan Cameron <jic23@...nel.org>
To:     Laura Abbott <labbott@...hat.com>,
        Daniel Baluta <daniel.baluta@...il.com>
Cc:     Hartmut Knaack <knaack.h@....de>,
        Lars-Peter Clausen <lars@...afoo.de>,
        Peter Meerwald-Stadler <pmeerw@...erw.net>,
        "linux-iio@...r.kernel.org" <linux-iio@...r.kernel.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        ben@...adent.org.uk
Subject: Re: [PATCH] iio: Use type header from kernel tree

On 09/09/16 16:47, Laura Abbott wrote:
> On 09/09/2016 08:35 AM, Daniel Baluta wrote:
>> On Fri, Sep 9, 2016 at 6:24 PM, Laura Abbott <labbott@...hat.com> wrote:
>>>
>>> The iio tools have been updated as new event types have been added to
>>> the kernel. The tools currently use the standard system headers which
>>> means that the system may not have the newest defintitions. This leads
>>> to build failures when building newer tools on older hosts:
>>>
>>> gcc -Wall -g -D_GNU_SOURCE   -c -o iio_event_monitor.o
>>> iio_event_monitor.c
>>> iio_event_monitor.c:59:3: error: ‘IIO_UVINDEX’ undeclared here (not in a
>>> function)
>>>   [IIO_UVINDEX] = "uvindex",
>>>    ^~~~~~~~~~~
>>> iio_event_monitor.c:59:3: error: array index in initializer not of
>>> integer type
>>> iio_event_monitor.c:59:3: note: (near initialization for
>>> ‘iio_chan_type_name_spec’)
>>> iio_event_monitor.c:97:3: error: ‘IIO_MOD_LIGHT_UV’ undeclared here (not
>>> in a function)
>>>   [IIO_MOD_LIGHT_UV] = "uv",
>>>    ^~~~~~~~~~~~~~~~
>>> iio_event_monitor.c:97:3: error: array index in initializer not of
>>> integer type
>>> iio_event_monitor.c:97:3: note: (near initialization for
>>> ‘iio_modifier_names’)
>>> <builtin>: recipe for target 'iio_event_monitor.o' failed
>>>
>>> Switch to using the header from the kernel tree to ensure the newest
>>> defintions are always picked up.
>>>
>>> Signed-off-by: Laura Abbott <labbott@...hat.com>
>>
>> Hi Laura,
>>
>> Thanks for your patch. The solution here would be to install the
>> headers for your
>> new kernel in order to use the updated types.
>>
>> That is you should run make headers_install.
>>
>> $ make help | grep headers
>>   headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH
>>
>> You can use INSTALL_HDR_PATH to put the headers in a custom directory
>> and tell gcc to also include this directory when searching for include headers.
>>
> 
> That's a pretty ugly solution. We want to build this as part of Fedora
> and installing another local copy of the headers in the build environment
> complicates an already complicated build process. This is more work
> for users building on their own as well. Several other tools in the tools
> directory already use the headers from the kernel tree, is there a reason
> iio doesn't want to as well?
This got raised as a suggestion for discussion at the kernel summit this
year.  Clearly a somewhat contentious topic ;)

https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2016-September/003829.html

I'd prefer to see some resolution on that discussion before making any changes.
Looks like there are some moves afoot to standardise a lot of this stuff in
tools.

I've cc'd Ben who raised this particular issue in the first place.

Jonathan
> 
> Thanks,
> Laura

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ