| From fc3fa3c27d666bd815348ca468afdea1a8ecc575 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 21 Jan 2021 09:08:05 +0300 |
| Subject: can: dev: prevent potential information leak in can_fill_info() |
| |
| From: Dan Carpenter <dan.carpenter@oracle.com> |
| |
| [ Upstream commit b552766c872f5b0d90323b24e4c9e8fa67486dd5 ] |
| |
| The "bec" struct isn't necessarily always initialized. For example, the |
| mcp251xfd_get_berr_counter() function doesn't initialize anything if the |
| interface is down. |
| |
| Fixes: 52c793f24054 ("can: netlink support for bus-error reporting and counters") |
| Link: https://lore.kernel.org/r/YAkaRdRJncsJO8Ve@mwanda |
| Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/can/dev.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c |
| index 45f15ac6b1015..1a79118b008b1 100644 |
| --- a/drivers/net/can/dev.c |
| +++ b/drivers/net/can/dev.c |
| @@ -987,7 +987,7 @@ static int can_fill_info(struct sk_buff *skb, const struct net_device *dev) |
| { |
| struct can_priv *priv = netdev_priv(dev); |
| struct can_ctrlmode cm = {.flags = priv->ctrlmode}; |
| - struct can_berr_counter bec; |
| + struct can_berr_counter bec = { }; |
| enum can_state state = priv->state; |
| |
| if (priv->do_get_state) |
| -- |
| 2.27.0 |
| |