|
@@ -2161,10 +2161,9 @@ static unsigned long code_segment_base(struct pt_regs *regs)
|
|
|
if (user_mode(regs) && regs->cs != __USER_CS)
|
|
|
return get_segment_base(regs->cs);
|
|
|
#else
|
|
|
- if (test_thread_flag(TIF_IA32)) {
|
|
|
- if (user_mode(regs) && regs->cs != __USER32_CS)
|
|
|
- return get_segment_base(regs->cs);
|
|
|
- }
|
|
|
+ if (user_mode(regs) && !user_64bit_mode(regs) &&
|
|
|
+ regs->cs != __USER32_CS)
|
|
|
+ return get_segment_base(regs->cs);
|
|
|
#endif
|
|
|
return 0;
|
|
|
}
|