On Mon, Mar 06, 2017 at 04:20:18PM +0000, Mark Rutland wrote: > > >> So the problem is doing load/stores from asm bits, and GCC > > >> (traditionally) doesn't try and interpret APP asm bits. > > >> > > >> However, could we not write a GCC plugin that does exactly that? > > >> Something that interprets the APP asm bits and generates these KASAN > > >> bits that go with it?
> I don't think there's much you'll be able to do within the compiler, > assuming you mean to derive this from the asm block inputs and outputs. Nah, I was thinking about a full asm interpreter. > Those can hide address-generation (e.g. with per-cpu stuff), which the > compiler may erroneously be detected as racing. > > Those may also take fake inputs (e.g. the sp input to arm64's > __my_cpu_offset()) which may confuse matters. > > Parsing the assembly itself will be *extremely* painful due to the way > that's set up for run-time patching. Argh, yah, completely forgot about all that alternative and similar nonsense :/