Messages in this thread | | | Date | Wed, 24 Jul 2019 09:54:46 -0700 | From | Nathan Chancellor <> | Subject | Re: [PATCH] objtool: Improve UACCESS coverage |
| |
On Wed, Jul 24, 2019 at 06:48:21PM +0200, Peter Zijlstra wrote: > On Wed, Jul 24, 2019 at 04:10:40PM +0200, Peter Zijlstra wrote: > > And that most certainly should trigger... > > > > Let me gdb that objtool thing. > > --- > Subject: objtool: Improve UACCESS coverage > > A clang build reported an (obvious) double CLAC while a GCC build did > not; it turns out we only re-visit instructions if the first visit was > with AC=0. If OTOH the first visit was with AC=1, we completely ignore > any subsequent visit, even when it has AC=0. > > Fix this by using a visited mask, instead of boolean and (explicitly) > mark the AC state. > > $ ./objtool check -b --no-fp --retpoline --uaccess ../../defconfig-build/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o > ../../defconfig-build/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o: warning: objtool: .altinstr_replacement+0x22: redundant UACCESS disable > ../../defconfig-build/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o: warning: objtool: eb_copy_relocations.isra.34()+0xea: (alt) > ../../defconfig-build/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o: warning: objtool: .altinstr_replacement+0xffffffffffffffff: (branch) > ../../defconfig-build/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o: warning: objtool: eb_copy_relocations.isra.34()+0xd9: (alt) > ../../defconfig-build/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o: warning: objtool: eb_copy_relocations.isra.34()+0xb2: (branch) > ../../defconfig-build/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o: warning: objtool: eb_copy_relocations.isra.34()+0x39: (branch) > ../../defconfig-build/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o: warning: objtool: eb_copy_relocations.isra.34()+0x0: <=== (func) > > Reported-by: Josh Poimboeuf <jpoimboe@redhat.com> > Reported-by: Thomas Gleixner <tglx@linutronix.de> > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
This doesn't regress clang and I see the warning on GCC now too.
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
| |