Messages in this thread | | | Date | Mon, 12 Feb 2024 17:09:24 +0000 | From | Mark Brown <> | Subject | Re: [PATCH] arm64/sve: Lower the maximum allocation for the SVE ptrace regset |
| |
On Mon, Feb 12, 2024 at 04:50:49PM +0000, Dave Martin wrote: > On Sat, Feb 03, 2024 at 12:16:49PM +0000, Mark Brown wrote:
> > - .n = DIV_ROUND_UP(SVE_PT_SIZE(SVE_VQ_MAX, SVE_PT_REGS_SVE), > > + .n = DIV_ROUND_UP(SVE_PT_SIZE(ARCH_SVE_VQ_MAX, > > + SVE_PT_REGS_SVE), > > SVE_VQ_BYTES),
> Do we need an actual check somewhere that we don't bust this limit?
..
> Userspace could specify vl > sve_vl_from_vq(ARCH_SVE_VQ_MAX) in > PTRACE_SETREGSET; I'm not sure exactly what happens there.
We already have validation against the actual enumerated limits for the system by virtue of setting the vector length to whatever is specified so we'll limit any overly large vector length down to something we can actually support and then reject an attempt to supply register data if we changed the VL from what the user specified.
> Since ZCR_ELx_LEN_MASK was changed from 0x1ff to 0xf, it looks like the > kernel itself will not generate an overlarge VL, although it feels a bit > like this guarantee arrives by accident. > Could ARCH_SVE_VQ_MAX be based on ZCR_ELx_LEN_MASK instead?
I guess. [unhandled content-type:application/pgp-signature] | |