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] [day] [month] [year] [list]
Date:	Tue, 28 Jun 2016 16:05:33 +0000 (UTC)
From:	Grant Edwards <grant.b.edwards@...il.com>
To:	linux-kernel@...r.kernel.org
Cc:	linux-serial@...r.kernel.org
Subject: Re: RFC: out-of-tree tty driver breakage (changing ASYNC_ bits)

On 2016-06-28, Grant Edwards <grant.b.edwards@...il.com> wrote:
> On 2016-06-28, Grant Edwards <grant.b.edwards@...il.com> wrote:
>> On 2016-01-11, Peter Hurley <peter@...leysoftware.com> wrote:
>>> On 01/11/2016 07:53 AM, Grant Edwards wrote:
>>>> On 2016-01-11, Greg KH <gregkh@...uxfoundation.org> wrote:
>>>>> On Sun, Jan 10, 2016 at 01:42:44PM -0800, Peter Hurley wrote:
>>>>>
>>>>>> This will break out-of-tree drivers but I don't really see a
>>>>>> realistic alternative. Also, I think the new symbol prefix ASY_ isn't
>>>>>> great and I'd like to get some suggestions.
>>>>>
>>>>> Don't worry about breaking out-of-tree drivers, that's fine.
>>>> 
>>>> One request from this maintainer of several out-of-tree drivers: if
>>>> you break something, break it such that it won't compile.  It would be
>>>> nice to avoid changes that break functionality but still compile
>>>> without warning.
>>>
>>> I was in the process of writing how I can't remove
>>> ASYNC_INITIALIZED, et.al from the uapi header, when I realized that
>>> I can just guard them with #ifndef _KERNEL_ which will trigger the
>>> requisite out-of-tree build break.
>
>> You know that _KERNEL_ is defined when when compiling kernel-space
>> code (either in-tree or out-of-tree), right?
>
> Ignore that.  I missed the 'n' in #ifndef.  My driver build should
> fail due to ASYNC_INITIALIZED being undefined, but it isn't.  :/
>
> For some reason _KERNEL_ is not defined when my module is being
> compiled....

That's because it's __KERNEL__ not _KERNEL_ that get's defined when
compiling kernel-space code.  So, in tty_flags.h:

    81  #define ASYNC_SPD_MASK          (ASYNC_SPD_HI|ASYNC_SPD_VHI|ASYNC_SPD_SHI)
    82  
    83  #ifndef _KERNEL_
    84  /* These flags are no longer used (and were always masked from userspace) */
    85  #define ASYNC_INITIALIZED       (1U << ASYNCB_INITIALIZED)
    86  #define ASYNC_NORMAL_ACTIVE     (1U << ASYNCB_NORMAL_ACTIVE)

Shoulnd't line 83 be 

        #ifndef __KERNEL__
?

-- 
Grant Edwards               grant.b.edwards        Yow! PARDON me, am I
                                  at               speaking ENGLISH?
                              gmail.com            

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ