[PATCH next] RDMA/bnxt_re: Fix buffer overflow in debugfs code

Dan Carpenter posted 1 patch 1 year ago
drivers/infiniband/hw/bnxt_re/debugfs.c | 3 +++
1 file changed, 3 insertions(+)
[PATCH next] RDMA/bnxt_re: Fix buffer overflow in debugfs code
Posted by Dan Carpenter 1 year ago
Add some bounds checking to prevent memory corruption in
bnxt_re_cc_config_set().  This is debugfs code so the bug can only be
triggered by root.

Fixes: 656dff55da19 ("RDMA/bnxt_re: Congestion control settings using debugfs hook")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/infiniband/hw/bnxt_re/debugfs.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/infiniband/hw/bnxt_re/debugfs.c b/drivers/infiniband/hw/bnxt_re/debugfs.c
index f4dd2fb51867..d7354e7753fe 100644
--- a/drivers/infiniband/hw/bnxt_re/debugfs.c
+++ b/drivers/infiniband/hw/bnxt_re/debugfs.c
@@ -285,6 +285,9 @@ static ssize_t bnxt_re_cc_config_set(struct file *filp, const char __user *buffe
 	u32 val;
 	int rc;
 
+	if (count >= sizeof(buf))
+		return -EINVAL;
+
 	if (copy_from_user(buf, buffer, count))
 		return -EFAULT;
 
-- 
2.47.2
Re: [PATCH next] RDMA/bnxt_re: Fix buffer overflow in debugfs code
Posted by Leon Romanovsky 12 months ago
On Fri, 07 Feb 2025 12:16:19 +0300, Dan Carpenter wrote:
> Add some bounds checking to prevent memory corruption in
> bnxt_re_cc_config_set().  This is debugfs code so the bug can only be
> triggered by root.
> 
> 

Applied, thanks!

[1/1] RDMA/bnxt_re: Fix buffer overflow in debugfs code
      https://git.kernel.org/rdma/rdma/c/dbc641ecf1cbd4

Best regards,
-- 
Leon Romanovsky <leon@kernel.org>
Re: [PATCH next] RDMA/bnxt_re: Fix buffer overflow in debugfs code
Posted by Selvin Xavier 12 months ago
On Fri, Feb 7, 2025 at 2:46 PM Dan Carpenter <dan.carpenter@linaro.org> wrote:
>
> Add some bounds checking to prevent memory corruption in
> bnxt_re_cc_config_set().  This is debugfs code so the bug can only be
> triggered by root.
>
> Fixes: 656dff55da19 ("RDMA/bnxt_re: Congestion control settings using debugfs hook")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Acked-by: Selvin Xavier <selvin.xavier@broadcom.com>

Thanks,
Selvin
> ---
>  drivers/infiniband/hw/bnxt_re/debugfs.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/infiniband/hw/bnxt_re/debugfs.c b/drivers/infiniband/hw/bnxt_re/debugfs.c
> index f4dd2fb51867..d7354e7753fe 100644
> --- a/drivers/infiniband/hw/bnxt_re/debugfs.c
> +++ b/drivers/infiniband/hw/bnxt_re/debugfs.c
> @@ -285,6 +285,9 @@ static ssize_t bnxt_re_cc_config_set(struct file *filp, const char __user *buffe
>         u32 val;
>         int rc;
>
> +       if (count >= sizeof(buf))
> +               return -EINVAL;
> +
>         if (copy_from_user(buf, buffer, count))
>                 return -EFAULT;
>
> --
> 2.47.2
>