Messages in this thread | | | Date | Sat, 9 Nov 2019 00:43:03 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [patch 2/9] x86/process: Unify copy_thread_tls() |
| |
On Fri, 8 Nov 2019, Andy Lutomirski wrote: > On 11/6/19 11:35 AM, Thomas Gleixner wrote: > > +static inline int copy_io_bitmap(struct task_struct *tsk) > > +{ > > + if (likely(!test_tsk_thread_flag(current, TIF_IO_BITMAP))) > > + return 0; > > + > > + tsk->thread.io_bitmap_ptr = kmemdup(current->thread.io_bitmap_ptr, > > + IO_BITMAP_BYTES, GFP_KERNEL); > > tsk->thread.io_bitmap_max = current->thread.io_bitmap_max? > > I realize you inherited this from the code you're refactoring, but it > does seem to be missing.
It already got copied with the task struct :)
> > +#ifdef CONFIG_X86_64 > > + savesegment(gs, p->thread.gsindex); > > + p->thread.gsbase = p->thread.gsindex ? 0 : current->thread.gsbase; > > + savesegment(fs, p->thread.fsindex); > > + p->thread.fsbase = p->thread.fsindex ? 0 : current->thread.fsbase; > > + savesegment(es, p->thread.es); > > + savesegment(ds, p->thread.ds); > > +#else > > + /* Clear all status flags including IF and set fixed bit. */ > > + frame->flags = X86_EFLAGS_FIXED; > > +#endif > > Want to do another commit to make the eflags fixup unconditional? I'm > wondering if we have a bug.
Let me look at that.
Thanks,
tglx
| |