Wiktionary
haul someone over the coals
vb. (context chiefly UK idiomatic English) To express anger with someone in no uncertain terms when they do something wrong.