From: Wei Yongjun <[email protected]>
sizeof() when applied to a pointer typed expression gives the
size of the pointer, not that of the pointed data.
Signed-off-by: Wei Yongjun <[email protected]>
---
drivers/mailbox/mailbox.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c
index 5fea5c2..78e52c0 100644
--- a/drivers/mailbox/mailbox.c
+++ b/drivers/mailbox/mailbox.c
@@ -83,7 +83,7 @@ int mailbox_msg_send(struct mailbox *mbox, struct mailbox_msg *msg)
mutex_lock(&mq->mlock);
- if (kfifo_avail(&mq->fifo) < (sizeof(msg) + msg->size)) {
+ if (kfifo_avail(&mq->fifo) < (sizeof(*msg) + msg->size)) {
ret = -ENOMEM;
goto out;
}
@@ -93,8 +93,8 @@ int mailbox_msg_send(struct mailbox *mbox, struct mailbox_msg *msg)
goto out;
}
- len = kfifo_in(&mq->fifo, (unsigned char *)msg, sizeof(msg));
- WARN_ON(len != sizeof(msg));
+ len = kfifo_in(&mq->fifo, (unsigned char *)msg, sizeof(*msg));
+ WARN_ON(len != sizeof(*msg));
if (msg->size && msg->pdata) {
len = kfifo_in(&mq->fifo, (unsigned char *)msg->pdata,
> From: Wei Yongjun <[email protected]>
>
> sizeof() when applied to a pointer typed expression gives the size of the pointer,
> not that of the pointed data.
>
> Signed-off-by: Wei Yongjun <[email protected]>
> ---
> drivers/mailbox/mailbox.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c index
> 5fea5c2..78e52c0 100644
> --- a/drivers/mailbox/mailbox.c
> +++ b/drivers/mailbox/mailbox.c
> @@ -83,7 +83,7 @@ int mailbox_msg_send(struct mailbox *mbox, struct
> mailbox_msg *msg)
>
> mutex_lock(&mq->mlock);
>
> - if (kfifo_avail(&mq->fifo) < (sizeof(msg) + msg->size)) {
> + if (kfifo_avail(&mq->fifo) < (sizeof(*msg) + msg->size)) {
> ret = -ENOMEM;
> goto out;
> }
> @@ -93,8 +93,8 @@ int mailbox_msg_send(struct mailbox *mbox, struct
> mailbox_msg *msg)
> goto out;
> }
>
> - len = kfifo_in(&mq->fifo, (unsigned char *)msg, sizeof(msg));
> - WARN_ON(len != sizeof(msg));
> + len = kfifo_in(&mq->fifo, (unsigned char *)msg, sizeof(*msg));
> + WARN_ON(len != sizeof(*msg));
>
> if (msg->size && msg->pdata) {
> len = kfifo_in(&mq->fifo, (unsigned char *)msg->pdata,
>
Looks good, thanks. I have added this patch to my branch on github.
Regards
Suman