I have found a home grown mixture of used engine oil , fisholene, and shellac is wonderful for killing rust. The fisholene kills the rust, the engine oil penetrates (pulls the fisholene into crevasses, cracks and under the rust flakes) and the shellac dries and seals the fisholene so that water does not penetrate. This mixture is made up of equal parts of oil fisholene and shellac mixed together in a bottle and can be thinned with meths. Doesn't look too good but by gum it works a treat. I had a Austin J4 van on the waterfront where salt spray , sulphur, potash, phosphate blew on to it from port facilities. We painted any rust with this and it stopped it in its tracks. After 3 years before we sold the van (they were very prone to rusting) we water blasted the whole thing and it ended up like no rust. Shellac has to be made up from "powdered shellac " available from good paint wholesalers / shops. fill a far / tin with the powdered shellac and then tip meths in until the jar is full, screw lid on to stop the meths from evaporating, Leave for 24 hours until dissolved and then mix other ingredients in and off you go.