Thread (3 messages) read the whole thread 3 messages, 3 authors, 2012-08-17

Re: on stack dynamic allocations

From: Jussi Kivilinna <hidden>
Date: 2012-08-17 08:19:18
Also in: lkml

Quoting David Daney [off-list ref]:
On 08/16/2012 02:20 PM, Kasatkin, Dmitry wrote:
quoted
Hello,

Some places in the code uses variable-size allocation on stack..
For example from hmac_setkey():

	struct {
		struct shash_desc shash;
		char ctx[crypto_shash_descsize(hash)];
	} desc;


sparse complains

CHECK   crypto/hmac.c
crypto/hmac.c:57:47: error: bad constant expression

I like it instead of kmalloc..

But what is position of kernel community about it?
If you know that the range of crypto_shash_descsize(hash) is  
bounded, just use the upper bound.

If the range of crypto_shash_descsize(hash) is unbounded, then the  
stack will overflow and ... BOOM!
Quick look shows that largest crypto_shash_descsize() would be with  
hmac+s390/sha512, 16 + 332 = 348. Crypto-api also prevents registering  
shash with descsize larger than (PAGE_SIZE / 8).

-Jussi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help