Re: [PATCH] net/wan/fsl_ucc_hdlc: fix out of bounds write on array utdm_info

From: Joakim Tjernlund
Date: Wed Jan 15 2020 - 12:29:07 EST


On Tue, 2020-01-14 at 14:54 +0000, Colin King wrote:
>
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> Array utdm_info is declared as an array of MAX_HDLC_NUM (4) elements
> however up to UCC_MAX_NUM (8) elements are potentially being written
> to it. Currently we have an array out-of-bounds write error on the
> last 4 elements. Fix this by making utdm_info UCC_MAX_NUM elements in
> size.
>
> Addresses-Coverity: ("Out-of-bounds write")
> Fixes: c19b6d246a35 ("drivers/net: support hdlc function for QE-UCC")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>

This should be sent to stable as well
Cc: <stable@xxxxxxxxxxxxxxx> # 4.19.x+

> ---
> drivers/net/wan/fsl_ucc_hdlc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wan/fsl_ucc_hdlc.c b/drivers/net/wan/fsl_ucc_hdlc.c
> index 94e870f48e21..9edd94679283 100644
> --- a/drivers/net/wan/fsl_ucc_hdlc.c
> +++ b/drivers/net/wan/fsl_ucc_hdlc.c
> @@ -73,7 +73,7 @@ static struct ucc_tdm_info utdm_primary_info = {
> },
> };
>
> -static struct ucc_tdm_info utdm_info[MAX_HDLC_NUM];
> +static struct ucc_tdm_info utdm_info[UCC_MAX_NUM];
>
> static int uhdlc_init(struct ucc_hdlc_private *priv)
> {
> --
> 2.24.0
>