On Tue, Nov 17, 2020 at 01:41:15AM +0000, Leo Li wrote: > > ee873fda3bec7c6 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil > > 2013-01-29 513 gfar_irq(grp, ER)->irq = > > irq_of_parse_and_map(np, 2); > > fea0f6650979a4f drivers/net/ethernet/freescale/gianfar.c Mark Brown > > 2015-11-26 514 if (!gfar_irq(grp, TX)->irq || > > fea0f6650979a4f drivers/net/ethernet/freescale/gianfar.c Mark Brown > > 2015-11-26 515 !gfar_irq(grp, RX)->irq || > > fea0f6650979a4f drivers/net/ethernet/freescale/gianfar.c Mark Brown > > 2015-11-26 516 !gfar_irq(grp, ER)->irq) > > 46ceb60ca80fa07 drivers/net/gianfar.c Sandeep Gopalpet > > 2009-11- > > 02 517 return -EINVAL; > > > > This should unmap "grp->regs". > > This variable is unmapped in the caller with a wholesale cleanup function > unmap_group_regs(). Probably a false positive for smatch? >
Yeah. Thanks. Smatch doesn't consider that the variable might be freed in the caller. regards, dan carpenter