On Fri, May 06, 2016 at 05:22:46PM +0300, Yury Gribov wrote: > On 05/06/2016 03:38 PM, Jakub Jelinek wrote: > >On Fri, May 06, 2016 at 02:48:30PM +0300, Yury Gribov wrote: > >>>6) As the use-after-scope stuff is already included in libsanitizer, no > >>>change is needed for the library > >> > >>Note that upstream seems to use a different cmdline interface. They don't > >>have a dedicated -fsanitize=use-after-scope and instead consider it to be a > >>part of -fsanitize=address (disabled by default, enabled via -mllvm > >>-asan-use-after-scope=1). I'd suggest to keep this interface (or at least > >>discuss with them) and use GCC's --param. > > > >I personally think -fsanitize=use-after-scope (which implies address > >sanitization in it) is better, can upstream be convinved not to change it? > > Will that work with -fsanitize=kernel-address?
Depends on how exactly it is defined. It could be enabling just its own sanitizer bit and nothing else, then users would need to use -fsanitize=address,use-after-scope or -fsanitize=kernel-address,use-after-scope (order doesn't matter), or it could enable the SANITIZE_ADDRESS bit together with its own, and then we'd just post-option processing (where we e.g. reject address,kernel-address) default to SANITIZE_USER_ADDRESS if SANITIZE_ADDRESS is on together with SANITIZE_USE_AFTER_SCOPE, but neither SANITIZE_{USER,KERNEL}_ADDRESS is defined. -fsanitize=address -fno-sanitize=use-after-scope obviously shouldn't in any case disable SANITIZE_ADDRESS, similarly -fsanitize=kernel-address -fno-sanitize=use-after-scope Jakub