diff options
author | Per Åstrand <per.astrand@arm.com> | 2022-05-18 09:12:15 +0200 |
---|---|---|
committer | Kristofer Jonsson <kristofer.jonsson@arm.com> | 2022-05-18 17:18:08 +0000 |
commit | f50f25e9ecf5194a624e5e8cd3f3f2e3249b479c (patch) | |
tree | a94d501517c6ad20ac1ad9b32f7e8015e8782662 /kernel/ethosu_buffer.c | |
parent | 6ab0b6ba4dec4b0faadf310891b15de382db396f (diff) | |
download | ethos-u-linux-driver-stack-f50f25e9ecf5194a624e5e8cd3f3f2e3249b479c.tar.gz |
Check size of buffer before allocating
Avoid undefined behaviour from calling dma_alloc_coherent with
requested size=0 as reported by UBSAN.
Change-Id: I1732759464f1d88259edeea099b1729f4ae6b86f
Diffstat (limited to 'kernel/ethosu_buffer.c')
-rw-r--r-- | kernel/ethosu_buffer.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/ethosu_buffer.c b/kernel/ethosu_buffer.c index cad73b2..4f70f1d 100644 --- a/kernel/ethosu_buffer.c +++ b/kernel/ethosu_buffer.c @@ -222,6 +222,9 @@ int ethosu_buffer_create(struct ethosu_device *edev, struct ethosu_buffer *buf; int ret = -ENOMEM; + if (!capacity) + return -EINVAL; + buf = devm_kzalloc(edev->dev, sizeof(*buf), GFP_KERNEL); if (!buf) return -ENOMEM; |