powerpc/powernv: Check sysparam size before creation
authorJoel Stanley <joel@jms.id.au>
Thu, 24 Apr 2014 07:25:37 +0000 (16:55 +0930)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 28 Apr 2014 03:08:49 +0000 (13:08 +1000)
commit63aecfb20a6629f1ca91d7a052f87988ceb6dd53
tree1f4985bfd80fe769b9916b179ddbfb12ba919393
parent16003d235bdb4d1ebcecfe4915c6e6d8c95f4a0c
powerpc/powernv: Check sysparam size before creation

The size of the sysparam sysfs files is determined from the device tree
at boot. However the buffer is hard coded to 64 bytes. If we encounter a
parameter that is larger than 64, or miss-parse the device tree, the
buffer will overflow when reading or writing to the parameter.

Check it at discovery time, and if the parameter is too large, do not
create a sysfs entry for it.

Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/platforms/powernv/opal-sysparam.c