Messages in this thread | | | From | Andy Lutomirski <> | Date | Sun, 10 Nov 2019 08:56:50 -0800 | Subject | Re: [patch 2/9] x86/process: Unify copy_thread_tls() |
| |
On Sun, Nov 10, 2019 at 4:36 AM Thomas Gleixner <tglx@linutronix.de> wrote: > > On Sat, 9 Nov 2019, Thomas Gleixner wrote: > > 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. > > 64bit does not have flags in the inactive_task_frame ... >
Hmm. One more thing to unify, I guess.
--Andy
| |