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 | |
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
-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); |