In the Linux kernel, the following vulnerability has been resolved: ice: add missing icedeinithw() in devlink reinit path devlink-reload results in iceinithw failed error, and then removing the ice driver causes a NULL pointer dereference. [ +0.102213] ice 0000:ca:00.0: iceinithw failed: -16 ... [ +0.000001] Call Trace: [ +0.000003] <TASK> [ +0.000006] iceunload+0x8f/0x100 [ice] [ +0.000081] iceremove+0xba/0x300 [ice] Commit 1390b8b3d2be ("ice: remove duplicate call to icedeinithw() on error paths") removed icedeinithw() from icedeinitdev(). As a result icedevlinkreinitdown() no longer calls icedeinithw(), but icedevlinkreinitup() still calls iceinithw(). Since the control queues are not uninitialized, iceinithw() fails with -EBUSY. Add icedeinithw() to icedevlinkreinitdown() to correspond with iceinithw() in icedevlinkreinitup().