1fbf78dd3d8369f177dc4b2fa057085c1ebc0aa3
[openwrt/openwrt.git] / target / linux / generic / backport-5.15 / 883-v6.1-ca8210-Fix-crash-by-zero-initializing-data.patch
1 From 1e24c54da257ab93cff5826be8a793b014a5dc9c Mon Sep 17 00:00:00 2001
2 From: Hauke Mehrtens <hauke@hauke-m.de>
3 Date: Mon, 21 Nov 2022 01:22:01 +0100
4 Subject: ca8210: Fix crash by zero initializing data
5
6 The struct cas_control embeds multiple generic SPI structures and we
7 have to make sure these structures are initialized to default values.
8 This driver does not set all attributes. When using kmalloc before some
9 attributes were not initialized and contained random data which caused
10 random crashes at bootup.
11
12 Fixes: ded845a781a5 ("ieee802154: Add CA8210 IEEE 802.15.4 device driver")
13 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
14 Link: https://lore.kernel.org/r/20221121002201.1339636-1-hauke@hauke-m.de
15 Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
16 ---
17 drivers/net/ieee802154/ca8210.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20 --- a/drivers/net/ieee802154/ca8210.c
21 +++ b/drivers/net/ieee802154/ca8210.c
22 @@ -927,7 +927,7 @@ static int ca8210_spi_transfer(
23
24 dev_dbg(&spi->dev, "%s called\n", __func__);
25
26 - cas_ctl = kmalloc(sizeof(*cas_ctl), GFP_ATOMIC);
27 + cas_ctl = kzalloc(sizeof(*cas_ctl), GFP_ATOMIC);
28 if (!cas_ctl)
29 return -ENOMEM;
30