Ozzy Osbourne gave a homeless person $100.

The veteran rocker sympathised with the mystery man in Toronto after he told him he was a fan and explained he had been a struggling rock musician until falling on hard times.

Generous Ozzy listened to the story before handing over a bank note, which was gratefully accepted by the man, who then asked the star for an autograph.

According to National Enquirer magazine, the singer then took back the $100 note, signed it and handed it back to his fan, saying: "Maybe now it's worth more than a 100 bucks".

This is not the first time Ozzy has displayed generosity to those less fortunate.

Earlier this year, the rocker - who has an estimated joint wealth of $170 million with his TV star wife Sharon - gave a homeless man his $4,500 gold necklace and told him to "pray" for a better future when he met him on the streets of Los Angeles.

A source said at the time: "The guy asked Ozzy for some change. After searching his pockets Ozzy realised he didn't have any so handed him his $4,500 gold necklace instead.

"He took the gold crucifix from around his neck and gave it to the man telling him to pray with it. The man could not thank Ozzy enough."