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  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:   Tue, 10 Mar 2020 17:21:52 -0500
From:   "Gustavo A. R. Silva" <>
To:     Joe Perches <>,
        Jes Sorensen <>,
        Kalle Valo <>
Cc:     Daniel Drake <>, Ulrich Kunitz <>,
        "David S. Miller" <>,,,
Subject: Re: [PATCH][next] zd1211rw/zd_usb.h: Replace zero-length array with
 flexible-array member

On 3/10/20 5:15 PM, Joe Perches wrote:
> On Tue, 2020-03-10 at 17:13 -0500, Gustavo A. R. Silva wrote:
>> On 3/10/20 5:07 PM, Jes Sorensen wrote:
>>> On 3/10/20 5:52 PM, Gustavo A. R. Silva wrote:
>>>> On 3/10/20 8:56 AM, Kalle Valo wrote:
>>>>> + jes
>>>>> "Gustavo A. R. Silva" <> writes:
>>>>>>> I wrote in a confusing way, my question above was about the actual patch
>>>>>>> and not the the title. For example, Jes didn't like this style change:
>>>>>> It doesn't seem that that comment adds a lot to the conversation. The only
>>>>>> thing that it says is literally "fix the compiler". By the way, more than
>>>>>> a hundred patches have already been applied to linux-next[1] and he seems
>>>>>> to be the only person that has commented such a thing.
>>>>> But I also asked who prefers this format in that thread, you should not
>>>>> ignore questions from two maintainers (me and Jes).
>>>> I'm sorry. I thought the changelog text had already the proper information.
>>>> In the changelog text I'm quoting the GCC documentation below:
>>>> "The preferred mechanism to declare variable-length types like struct line
>>>> above is the ISO C99 flexible array member..." [1]
>>>> I'm also including a link to the following KSPP open issue:
>>>> The issue above mentions the following:
>>>> "Both cases (0-byte and 1-byte arrays) pose confusion for things like sizeof(),
>>>> sizeof(flexible-array-member) triggers a warning because flexible array members have
>>>> incomplete type[1]. There are some instances of code in which the sizeof operator
>>>> is being incorrectly/erroneously applied to zero-length arrays and the result is zero.
>>>> Such instances may be hiding some bugs. So, the idea is also to get completely rid
>>>> of those sorts of issues.
>>> As I stated in my previous answer, this seems more code churn than an
>>> actual fix. If this is a real problem, shouldn't the work be put into
>>> fixing the compiler to handle foo[0] instead? It seems that is where the
>>> real value would be.
>> Yeah. But, unfortunately, I'm not a compiler guy, so I'm not able to fix the
>> compiler as you suggest. And I honestly don't see what is so annoying/disturbing
>> about applying a patch that removes the 0 from foo[0] when it brings benefit
>> to the whole codebase.
> As far as I can tell, it doesn't actually make a difference as
> all the compilers produce the same object code with either form.

That's precisely why we can implement these changes, cleanly(the fact
that the compiler produces the same object code). So, the resulting
object code is not the point here.


Powered by blists - more mailing lists