aboutsummaryrefslogtreecommitdiff
path: root/kernel/ethosu_buffer.c
diff options
context:
space:
mode:
authorMikael Olsson <mikael.olsson@arm.com>2023-08-10 13:25:44 +0200
committerMikael Olsson <mikael.olsson@arm.com>2023-08-11 10:45:43 +0200
commit1182f38708e8df8378e3b6c4cf8c3f6193d53d82 (patch)
tree6cd5e45e574929bdcfc959a5bb199760a0a2d956 /kernel/ethosu_buffer.c
parente9c3f076d1e99c11729627723d008b6686946995 (diff)
downloadethos-u-linux-driver-stack-1182f38708e8df8378e3b6c4cf8c3f6193d53d82.tar.gz
Clear inference related data before freeing it
To not leave behind any data in memory from buffers, inferences and networks, the memory allocated for them is now cleared before it is freed. Change-Id: I68c221b190e78f9b4c5022016c38f4ced5e78166 Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
Diffstat (limited to 'kernel/ethosu_buffer.c')
-rw-r--r--kernel/ethosu_buffer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/ethosu_buffer.c b/kernel/ethosu_buffer.c
index fb4a8b4..9033f8b 100644
--- a/kernel/ethosu_buffer.c
+++ b/kernel/ethosu_buffer.c
@@ -75,9 +75,11 @@ static void ethosu_buffer_destroy(struct kref *kref)
dev_info(dev, "Buffer destroy. buf=0x%pK", buf);
+ memset(buf->cpu_addr, 0, buf->capacity);
dma_free_coherent(dev, buf->capacity, buf->cpu_addr,
buf->dma_addr);
+ memset(buf, 0, sizeof(*buf));
devm_kfree(dev, buf);
}
@@ -214,6 +216,7 @@ free_dma:
buf->dma_addr);
free_buf:
+ memset(buf, 0, sizeof(*buf));
devm_kfree(dev, buf);
return ret;