On Thu, Apr 14, 2016 at 12:29:12PM -0700, Andy Lutomirski wrote:
On Thu, Apr 14, 2016 at 11:10 AM, Dmitry Safonov <dsafonov@xxxxxxxxxxxxx> wrote:Urgh; again, wtf wasn't I Cc'ed to these patches?
@@ -724,7 +727,7 @@ static int branch_type(unsigned long from, unsigned long to, int abort)Peterz, looking at this some more, would it make sense to pass
* on 64-bit systems running 32-bit apps
*/
#ifdef CONFIG_X86_64
- is64 = kernel_ip((unsigned long)addr) || !test_thread_flag(TIF_IA32);
+ is64 = kernel_ip((unsigned long)addr) || user_64bit_mode(regs);
user_regs and interrupt_regs (or whatever we'd call it) all the way
through to here?
And not sure; if we never need the user regs, calling
perf_get_user_regs() to set all that up seems like a massive waste of
cycles.