Lines Matching refs:st

123 static void note_prot_wx(struct pg_state *st, unsigned long addr)  in note_prot_wx()  argument
126 if (!st->check_wx) in note_prot_wx()
128 if (st->current_prot & _PAGE_INVALID) in note_prot_wx()
130 if (st->current_prot & _PAGE_PROTECT) in note_prot_wx()
132 if (st->current_prot & _PAGE_NOEXEC) in note_prot_wx()
143 (void *)st->start_address); in note_prot_wx()
144 st->wx_pages += (addr - st->start_address) / PAGE_SIZE; in note_prot_wx()
154 struct pg_state *st; in note_page() local
158 st = container_of(pt_st, struct pg_state, ptdump); in note_page()
159 m = st->seq; in note_page()
169 if (st->level == -1) { in note_page()
170 pt_dump_seq_printf(m, "---[ %s ]---\n", st->marker->name); in note_page()
171 st->start_address = addr; in note_page()
172 st->current_prot = prot; in note_page()
173 st->level = level; in note_page()
174 } else if (prot != st->current_prot || level != st->level || in note_page()
175 addr >= st->marker[1].start_address) { in note_page()
176 note_prot_wx(st, addr); in note_page()
178 width, st->start_address, in note_page()
180 delta = (addr - st->start_address) >> 10; in note_page()
186 print_prot(m, st->current_prot, st->level); in note_page()
187 while (addr >= st->marker[1].start_address) { in note_page()
188 st->marker++; in note_page()
189 pt_dump_seq_printf(m, "---[ %s ]---\n", st->marker->name); in note_page()
191 st->start_address = addr; in note_page()
192 st->current_prot = prot; in note_page()
193 st->level = level; in note_page()
200 struct pg_state st = { in ptdump_check_wx() local
222 ptdump_walk_pgd(&st.ptdump, &init_mm, NULL); in ptdump_check_wx()
223 if (st.wx_pages) in ptdump_check_wx()
224 pr_warn("Checked W+X mappings: FAILED, %lu W+X pages found\n", st.wx_pages); in ptdump_check_wx()
235 struct pg_state st = { in ptdump_show() local
254 ptdump_walk_pgd(&st.ptdump, &init_mm, NULL); in ptdump_show()