]> git.baikalelectronics.ru Git - kernel.git/commit
Avoid using variable-length arrays in kernel/sys.c
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 17 Oct 2011 15:24:24 +0000 (08:24 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 17 Oct 2011 15:24:24 +0000 (08:24 -0700)
commit257c0f9c9199f014778d59de412032e86827dd77
treee88e57ce951eeaf2780a27787ad712a09eb8be7e
parent04983f0c7f8d5d1dc954eaa91fc493604c9ffdad
Avoid using variable-length arrays in kernel/sys.c

The size is always valid, but variable-length arrays generate worse code
for no good reason (unless the function happens to be inlined and the
compiler sees the length for the simple constant it is).

Also, there seems to be some code generation problem on POWER, where
Henrik Bakken reports that register r28 can get corrupted under some
subtle circumstances (interrupt happening at the wrong time?).  That all
indicates some seriously broken compiler issues, but since variable
length arrays are bad regardless, there's little point in trying to
chase it down.

"Just don't do that, then".

Reported-by: Henrik Grindal Bakken <henribak@cisco.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/sys.c