Messages in this thread | | | From | Daniel Micay <> | Date | Thu, 8 Mar 2018 00:05:27 -0500 | Subject | Re: VLA removal (was Re: [RFC 2/2] lustre: use VLA_SAFE) |
| |
On 7 March 2018 at 13:09, Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Wed, Mar 7, 2018 at 9:37 AM, Kees Cook <keescook@chromium.org> wrote: >> >> Building with -Wvla, I see 209 unique locations reported in 60 directories: >> http://paste.ubuntu.com/p/srQxwPQS9s/ > > Ok, that's not so bad. Maybe Greg could even add it to one of those > things he encourages new people to do? > > Because at least *some* of them are pretty trivial. For example, > looking at the core code, I was surprised to see something in > lib/btree.c
Some are probably just the issue of technically having a VLA that's not really a VLA:
static const int size = 5;
void foo(void) { int x[size]; }
% gcc -c -Wvla foo.c foo.c: In function ‘foo’: foo.c:4:3: warning: ISO C90 forbids variable length array ‘x’ [-Wvla] int x[size]; ^~~
I don't really understand why the C standard didn't make `static const` declarations usable as constant expressions like C++. They made the pointer conversions more painful too.
It would be nice to get rid of those cases to use -Werror=vla though.
| |