From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ley Foon Tan Date: Thu, 11 Apr 2019 17:37:42 +0800 Subject: [U-Boot] [PATCH v2] arm: socfpga: mailbox: Fix off-by-one error on command length checking In-Reply-To: <1554975462-25407-1-git-send-email-ley.foon.tan@intel.com> References: <1554975462-25407-1-git-send-email-ley.foon.tan@intel.com> Message-ID: <1554975462-25407-2-git-send-email-ley.foon.tan@intel.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de A mailbox command contains of header + arguments. But, "len" is only including length of arguments, off-by-one for length of header in checking. Includes length of header (1) when checking the space size. Signed-off-by: Ley Foon Tan Signed-off-by: Chee Hong Ang --- 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 */ -- 2.19.0