Re: [PATCH 6/7] md/raid10, LLVM: get rid of variable length array
From: hpa@zytor.com
Date: 2017-03-17 20:47:30
Also in:
linux-crypto, linux-kbuild, lkml
On March 17, 2017 12:27:46 PM PDT, Peter Zijlstra [off-list ref] wrote:
On Fri, Mar 17, 2017 at 11:52:01AM -0700, Michael Davidson wrote:quoted
On Fri, Mar 17, 2017 at 5:44 AM, Peter Zijlstra[off-list ref] wrote:quoted
quoted
Be that as it may; what you construct above is disgusting. Surelythequoted
quoted
code can be refactored to not look like dog vomit? Also; its not immediately obvious conf->copies is 'small' and this doesn't blow up the stack; I feel that deserves a commentsomewhere.quoted
quoted
I agree that the code is horrible. It is, in fact, exactly the same solution that was used to remove variable length arrays in structs from several of the crypto driversaquoted
few years ago - see the definition of SHASH_DESC_ON_STACK() in "crypto/hash.h" - I did not, however, hide the horrors in a macro preferring to leave the implementation visible as a warning towhoeverquoted
might touch the code next. I believe that the actual stack usage is exactly the same as it waspreviously.quoted
I can certainly wrap this up in a macro and add comments with appropriately dire warnings in it if you feel that is both necessary and sufficient.We got away with ugly in the past, so we should get to do it again?
Seriously, you should have taken the hack the first time that this needs to be fixed. Just because this is a fairly uncommon construct in the kernel doesn't mean it is not in userspace. I would like to say this falls in the category of "fix your compiler this time". Once is one thing, twice is unacceptable. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.