mirror of https://gitee.com/openkylin/linux.git
18526c7896
The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
||
---|---|---|
.. | ||
ieee80211 | ||
Kconfig | ||
Makefile | ||
dot11d.h | ||
ieee80211.h | ||
ieee80211_crypt.h | ||
r819xE_cmdpkt.c | ||
r819xE_cmdpkt.h | ||
r819xE_firmware.c | ||
r819xE_phy.c | ||
r819xE_phy.h | ||
r819xE_phyreg.h | ||
r8180_93cx6.c | ||
r8180_93cx6.h | ||
r8190_rtl8256.c | ||
r8190_rtl8256.h | ||
r8192E.h | ||
r8192E_core.c | ||
r8192E_dm.c | ||
r8192E_dm.h | ||
r8192E_hw.h | ||
r8192E_wx.c | ||
r8192E_wx.h | ||
r8192_pm.c | ||
r8192_pm.h |