Page MenuHomeFreeBSD

if the syscall muxes are used, up to two additional argumentsmay be required. This means that the 8 required for mmap increasesup to 10 (for __syscall).
ClosedPublic

Authored by jmg on Aug 18 2025, 8:31 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Oct 9, 9:29 PM
Unknown Object (File)
Fri, Oct 3, 4:33 PM
Unknown Object (File)
Tue, Sep 30, 9:03 PM
Unknown Object (File)
Sat, Sep 27, 6:30 PM
Unknown Object (File)
Fri, Sep 26, 2:34 PM
Unknown Object (File)
Tue, Sep 16, 8:20 PM
Unknown Object (File)
Sep 4 2025, 6:57 PM
Unknown Object (File)
Sep 4 2025, 2:56 PM
Subscribers

Details

Reviewers
andrew
manu
markj
Group Reviewers
secteam
arm64
Summary

Sponsored by: Juniper Networks, Inc.

the program in test plan will allow a normal user to cause a panic on any system that has the EL0 32 processor feature. This is all aarch64 systems except for Apple's Mx processors and Cavium's ThunderX processors.

Test Plan

make sure that this program doesn't cause a crash:

#include <sys/syscall.h>
#include <unistd.h>

int
main()
{
	int i;

	i = syscall(SYS_mmap, 0, 1, 2, 3, 4, 5, 6, 7);

	i = __syscall((quad_t)SYS_mmap << 32, 0, 1, 2, 3, 4, 5, 6, 7);

	return 0;
}

(note that the second call will be fixed to not require this word swap via a different commit)

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 66328
Build 63211: arc lint + arc unit

Event Timeline

jmg requested review of this revision.Aug 18 2025, 8:31 PM
jmg retitled this revision from if the syscall muxes are used, up to two additional arguments may be required. This means that the 8 required for mmap increases up to 10 (for __syscall). to if the syscall muxes are used, up to two additional argumentsmay be required. This means that the 8 required for mmap increasesup to 10 (for __syscall)..Aug 18 2025, 8:33 PM
jmg edited the test plan for this revision. (Show Details)
jmg added reviewers: secteam, arm64.
jmg edited the summary of this revision. (Show Details)

It looks like sendfile and wait6 are also affected.

This is all aarch64 systems except for Apple's Mx processors and Cavium's ThunderX processors.

The selection of Armv9 CPU TRMs I looked at have no support for AArch32 at any exception level, e.g. Cortex-X2, Cortex-A520, and Neoverse-V3.

This revision is now accepted and ready to land.Aug 19 2025, 12:37 PM
markj added a subscriber: markj.

In the commit log, please be sure to have a separate subject line, e.g., arm64: ...: https://docs.freebsd.org/en/articles/committers-guide/#_start_with_a_subject_line

The review title here looks like it should be the review description.