Re: [PATCH v2] farsync: fix invalid memory accesses in fst_add_one() and fst_init_card()

From: David Miller
Date: Fri Jul 11 2014 - 16:38:19 EST


From: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
Date: Thu, 10 Jul 2014 18:43:01 -0400

> There are several issues in fst_add_one() and fst_init_card():
> - invalid pointer dereference at card->ports[card->nports - 1] if
> register_hdlc_device() fails for the first port in fst_init_card();
> - fst_card_array overflow at fst_card_array[no_of_cards_added]
> because there is no checks for array overflow;
> - use after free because pointer to deallocated card is left in fst_card_array
> if something fails after fst_card_array[no_of_cards_added] = card;
> - several leaks on failure paths in fst_add_one().
>
> The patch fixes all the issues and makes code more readable.
>
> Found by Linux Driver Verification project (linuxtesting.org).
>
> Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>

Applied, thanks Alexey.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/