隋河东闻喜(今山西闻喜东北)人。初仕陈,隋灭陈之战中为内应,仕隋累官太常少卿、民部侍郎。为核检户口脱漏,他于大业五年(609)奏行“貌阅“法,搜得人口六十余万。擢御史大夫,参掌机密,迎合隋帝,助纣为虐,杀数万人,又陷害司隶大夫薛道衡。司马德丑举兵反隋时,被杀。