Wiktionary
give someone what-for
vb. (context idiomatic English) To admonish or berate; to speak angrily at somebody.