I tried having my Pokemon Salandit use Smog on a Shieldon, but it didn't work. Shouldn't its ability, Corrosion, make it so all Poison type moves work on Steel and Poison types?
Corrosion doesn't make offensive Poison type moves work on Steel and Poison type Pokemon. Instead, the ability allows you to inflict the poison status on Steel and Poison type Pokemon.
Source