On 11:39 Wed 23 Oct , Dan Carpenter wrote: > The map pointer is freed by pinctrl_utils_free_map(). It must not be a > devm_ pointer or it leads to a double free when the device is unloaded. > > This is similar to a couple bugs Harshit Mogalapalli fixed earlier in > commits 3fd976afe974 ("pinctrl: nuvoton: fix a double free in > ma35_pinctrl_dt_node_to_map_func()") and 4575962aeed6 ("pinctrl: sophgo: > fix double free in cv1800_pctrl_dt_node_to_map()"). > > Fixes: a83c29e1d145 ("pinctrl: spacemit: add support for SpacemiT K1 SoC") > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Yixun Lan <dlan@xxxxxxxxxx> thanks, > --- > drivers/pinctrl/spacemit/pinctrl-k1.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pinctrl/spacemit/pinctrl-k1.c b/drivers/pinctrl/spacemit/pinctrl-k1.c > index c75ea27b2344..a32579d73613 100644 > --- a/drivers/pinctrl/spacemit/pinctrl-k1.c > +++ b/drivers/pinctrl/spacemit/pinctrl-k1.c > @@ -314,7 +314,7 @@ static int spacemit_pctrl_dt_node_to_map(struct pinctrl_dev *pctldev, > if (!grpnames) > return -ENOMEM; > > - map = devm_kcalloc(dev, ngroups * 2, sizeof(*map), GFP_KERNEL); > + map = kcalloc(ngroups * 2, sizeof(*map), GFP_KERNEL); > if (!map) > return -ENOMEM; > > -- > 2.45.2 -- Yixun Lan (dlan) Gentoo Linux Developer GPG Key ID AABEFD55