On 27.05.2019 21:03, Michał Górny wrote: > Currently, the compat32 passes PT_* request values to kernel functions > without translation. This works fine for low PT_* requests that happen > to have the same values both on i386 and amd64. However, for requests > higher than PT_SETFPREGS, the value passed from userland (matching i386 > const) does not match the correct kernel (amd64) request. As a result, > e.g. when compat32 process calls PT_GETDBREGS, kernel actually processes > it as PT_SETSTEP. > > To resolve this, introduce support for compat32 PT_* request > translation. The interface is based on PTRACE_TRANSLATE_REQUEST32 macro > that is defined to a mapping function on architectures needing it. > In case of amd64, this function maps userland i386 PT_* values into > appropriate amd64 PT_* values. > > For the time being, the two additional PT_GETXMMREGS and PT_SETXMMREGS > requests are unsupported due to lack of matching free amd64 constant. Both patches look good to me.
Attachment:
signature.asc
Description: OpenPGP digital signature