diff mbox series

[U-Boot] arm: socfpga: Fix mailbox command length checking

Message ID 1554968374-24613-1-git-send-email-ley.foon.tan@intel.com
State Superseded, archived
Delegated to: Simon Goldschmidt
Headers show
Series [U-Boot] arm: socfpga: Fix mailbox command length checking | expand

Commit Message

Ley Foon Tan April 11, 2019, 7:39 a.m. UTC
A mailbox command including header + arguments.
But, "len" only including length of arguments, it missed the length
of header in checking.
Includes length of header (1) when checking the space size.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
Signed-off-by: Chee Hong Ang <chee.hong.ang@intel.com>
---
 arch/arm/mach-socfpga/mailbox_s10.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Marek Vasut April 11, 2019, 7:58 a.m. UTC | #1
On 4/11/19 9:39 AM, Ley Foon Tan wrote:
> A mailbox command including header + arguments.
> But, "len" only including length of arguments, it missed the length
> of header in checking.
> Includes length of header (1) when checking the space size.

I think the commit message could use some improvement, maybe reword it
so it's clear what you're fixing here. I guess it's some off-by-one error ?

> Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
> Signed-off-by: Chee Hong Ang <chee.hong.ang@intel.com>
> ---
>  arch/arm/mach-socfpga/mailbox_s10.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/mach-socfpga/mailbox_s10.c b/arch/arm/mach-socfpga/mailbox_s10.c
> index 3c33223936..8363c93e90 100644
> --- a/arch/arm/mach-socfpga/mailbox_s10.c
> +++ b/arch/arm/mach-socfpga/mailbox_s10.c
> @@ -59,7 +59,7 @@ static __always_inline int mbox_fill_cmd_circular_buff(u32 header, u32 len,
>  	 */
>  	if (((cin + 1) % MBOX_CMD_BUFFER_SIZE) == cout ||
>  	    ((MBOX_CMD_BUFFER_SIZE - cin + cout - 1) %
> -	     MBOX_CMD_BUFFER_SIZE) < len)
> +	     MBOX_CMD_BUFFER_SIZE) < (len + 1))
>  		return -ENOMEM;
>  
>  	/* write header to circular buffer */
>
Ley Foon Tan April 11, 2019, 9:16 a.m. UTC | #2
On Thu, Apr 11, 2019 at 3:58 PM Marek Vasut <marex@denx.de> wrote:
>
> On 4/11/19 9:39 AM, Ley Foon Tan wrote:
> > A mailbox command including header + arguments.
> > But, "len" only including length of arguments, it missed the length
> > of header in checking.
> > Includes length of header (1) when checking the space size.
>
> I think the commit message could use some improvement, maybe reword it
> so it's clear what you're fixing here. I guess it's some off-by-one error ?
Okay, will resend again.

Thanks.

Regards
Ley Foon
Marek Vasut April 11, 2019, 9:19 a.m. UTC | #3
On 4/11/19 11:16 AM, Ley Foon Tan wrote:
> On Thu, Apr 11, 2019 at 3:58 PM Marek Vasut <marex@denx.de> wrote:
>>
>> On 4/11/19 9:39 AM, Ley Foon Tan wrote:
>>> A mailbox command including header + arguments.
>>> But, "len" only including length of arguments, it missed the length
>>> of header in checking.
>>> Includes length of header (1) when checking the space size.
>>
>> I think the commit message could use some improvement, maybe reword it
>> so it's clear what you're fixing here. I guess it's some off-by-one error ?
> Okay, will resend again.

Thanks. The patch itself is fine.
diff mbox series

Patch

diff --git a/arch/arm/mach-socfpga/mailbox_s10.c b/arch/arm/mach-socfpga/mailbox_s10.c
index 3c33223936..8363c93e90 100644
--- a/arch/arm/mach-socfpga/mailbox_s10.c
+++ b/arch/arm/mach-socfpga/mailbox_s10.c
@@ -59,7 +59,7 @@  static __always_inline int mbox_fill_cmd_circular_buff(u32 header, u32 len,
 	 */
 	if (((cin + 1) % MBOX_CMD_BUFFER_SIZE) == cout ||
 	    ((MBOX_CMD_BUFFER_SIZE - cin + cout - 1) %
-	     MBOX_CMD_BUFFER_SIZE) < len)
+	     MBOX_CMD_BUFFER_SIZE) < (len + 1))
 		return -ENOMEM;
 
 	/* write header to circular buffer */