diff options
author | Mikael Olsson <mikael.olsson@arm.com> | 2023-05-10 14:46:30 +0200 |
---|---|---|
committer | Mikael Olsson <mikael.olsson@arm.com> | 2023-05-15 11:26:16 +0200 |
commit | fd6b8dc67c139a454942582dc64c0e2786a031e7 (patch) | |
tree | f397eb82f47daa147b06f391acb406d0b135b1db /kernel | |
parent | 099d90cf81e0bf483f8ad02f0d61a4fcbbb64ba8 (diff) | |
download | ethos-u-linux-driver-stack-fd6b8dc67c139a454942582dc64c0e2786a031e7.tar.gz |
Add rpmsg message magic check in kernel driver
The kernel driver will now verify the magic value in an incoming
message's header before any further processing of the message is
performed to avoid trying to handle an invalid message.
Change-Id: I7ae1cac19a6fe4b78316decff4ca2147175ee07a
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/ethosu_device.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/ethosu_device.c b/kernel/ethosu_device.c index 48aa0a5..002e934 100644 --- a/kernel/ethosu_device.c +++ b/kernel/ethosu_device.c @@ -74,6 +74,13 @@ static int ethosu_handle_rpmsg(struct rpmsg_device *rpdev, int length = len - sizeof(rpmsg->header); int ret; + if (unlikely(rpmsg->header.magic != ETHOSU_CORE_MSG_MAGIC)) { + dev_warn(dev, "Msg: Error invalid message magic. magic=0x%08x", + rpmsg->header.magic); + + return -EBADMSG; + } + dev_info(dev, "Msg: magic=0x%08x, type=%u, msg_id=%llu", rpmsg->header.magic, rpmsg->header.type, rpmsg->header.msg_id); |