git: 1932bd20ed53 - main - ptrace: Propagate errors from set_fpregs()
Mark Johnston <[email protected]> Fri, 31 Jul 2026 19:48:07 +0000
| Newsgroups | gmane.os.freebsd.devel.cvs.src,gmane.os.freebsd.current.scm |
|---|---|
| Message-ID | <[email protected]> |
The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1932bd20ed53f2e695a576cffd183937ed25de3f commit 1932bd20ed53f2e695a576cffd183937ed25de3f Author: Mark Johnston <[email protected]> AuthorDate: 2026-07-31 19:47:20 +0000 Commit: Mark Johnston <[email protected]> CommitDate: 2026-07-31 19:47:20 +0000 ptrace: Propagate errors from set_fpregs() Otherwise ptrace(PT_SETREGSET) will not return errors to userspace. Fixes: cef05c5a62ba ("amd64: do not allow to set reserved bits in MXCSR for ptrace(PT_SETFPREGS)") Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D58577 --- sys/kern/imgact_elf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 08e9718c4d24..b8a0e439de5c 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -2388,14 +2388,14 @@ __elfN(set_fpregset)(struct regset *rs, struct thread *td, void *buf, { elf_prfpregset_t *fpregset; - fpregset = buf; KASSERT(size == sizeof(*fpregset), ("%s: invalid size", __func__)); + + fpregset = buf; #if defined(COMPAT_FREEBSD32) && __ELF_WORD_SIZE == 32 - set_fpregs32(td, fpregset); + return (set_fpregs32(td, fpregset) == 0); #else - set_fpregs(td, fpregset); + return (set_fpregs(td, fpregset) == 0); #endif - return (true); } static struct regset __elfN(regset_fpregset) = {