In the Linux kernel, the following vulnerability has been resolved:
net: arcemac: Fix use after free in arcmdio_probe()
If bus->state is equal to MDIOBUSALLOCATED, mdiobusfree(bus) will free the "bus". But bus->name is still used in the next line, which will lead to a use after free.
We can fix it by putting the name in a local variable and make the bus->name point to the rodata section "name",then use the name in the error message without referring to bus to avoid the uaf.