Messages in this thread | | | From | Roland McGrath <> | Date | Mon, 6 Feb 2012 12:39:28 -0800 | Subject | Re: Compat 32-bit syscall entry from 64-bit task!? |
| |
On Mon, Feb 6, 2012 at 12:30 PM, H. Peter Anvin <hpa@zytor.com> wrote: > What is needed to make a regset variable-sized? Just declaring that it > may change in size in the future, or does one need a length field at the > top (I would personally have expected that both notes and ptrace would > have out-of-band methods for getting the size?)
ELF notes do have a size field, so core files are self-explanatory. There is no ptrace interface to directly interrogate the regset details (one could be added). But the PTRACE_GETREGSET interface is to accept an upper bound and yield the actual size filled in (which might be less than the regset's size if the user-supplied buffer was smaller). So in practice, a caller can just use a buffer that's sure to be large enough, and then look at iov_len for the actual size delivered. (And nobody has yet complained about this for xstate, though that might just be that nobody is really using it.)
Thanks, Roland
| |