Messages in this thread | | | From | Linus Torvalds <> | Date | Thu, 27 Aug 2020 11:15:12 -0700 | Subject | Re: [PATCH 08/10] x86: remove address space overrides using set_fs() |
| |
On Thu, Aug 27, 2020 at 8:00 AM Christoph Hellwig <hch@lst.de> wrote: > > SYM_FUNC_START(__get_user_2) > add $1,%_ASM_AX > jc bad_get_user
This no longer makes sense, and
> - mov PER_CPU_VAR(current_task), %_ASM_DX > - cmp TASK_addr_limit(%_ASM_DX),%_ASM_AX > + LOAD_TASK_SIZE_MAX > + cmp %_ASM_DX,%_ASM_AX
This should be
LOAD_TASK_SIZE_MAX_MINUS_N(1) cmp %_ASM_DX,%_ASM_AX
instead (and then because we no longer modify _ASM_AX, we'd also remove the offset on the access).
> SYM_FUNC_START(__put_user_2) > - ENTER > - mov TASK_addr_limit(%_ASM_BX),%_ASM_BX > + LOAD_TASK_SIZE_MAX > sub $1,%_ASM_BX
It's even more obvious here. We load a constant and then immediately do a "sub $1" on that value.
It's not a huge deal, you don't have to respin the series for this, I just wanted to point it out so that people are aware of it and if I forget somebody else will hopefully remember that "we should fix that too".
Linus
| |