On 11/9/20 6:44 AM, Alexandre Chartre wrote: > - map more syscall, interrupt and exception entry code into the user > page-table (map all noinstr code);
This seems like the thing we'd want to tag explicitly rather than make it implicit with 'noinstr' code. Worst-case, shouldn't this be: #define __entry_func noinstr or something? I'd also like to see a lot more discussion about what the rules are for the C code and the compiler. We can't, for instance, do a normal printk() in this entry functions. Should we stick them in a special section and have objtool look for suspect patterns or references? I'm most worried about things like this: if (something_weird) pr_warn("this will oops the kernel\n");