From nobody Fri Jun 13 19:40:30 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bJqW24Y0Xz511YC; Fri, 13 Jun 2025 19:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bJqW22jFjz45Sv; Fri, 13 Jun 2025 19:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749843630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9RJJAhKQ7BvZNZxgedQZXeAuKaYkDC5xm1MMDJdno3g=; b=ZG6mJtgh5RDSEaOLqQkB/I+iVQ2H9iCS5ngI4vESCGg70zEjdzBSin/qLIMWsv3jlTnZsy tDpv4l/5yRT0zv49uNsp2HhZw8yejtlTnUfVSzBjIySIyK1zdeN1fqxdrNIuJMMjIwQ5FU U6ieoC4GH1ZKb+4wj6X6asW3exDTlSfUo8fXuqSWyQGN+c3/6JFYyq5NvbMWmx4PnCQd4e GiaItFkMKK1Et2RJl4kWjBNz2RbfOrEsimvwpT9DcRaOaogBB5ygKANarhTL366zrbEUGp PuJwfC2Bd108AL1tnO/v2nCNR1x/jvM7untT/QDAWITGS6YFbzYgHzEBGmY2TQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749843630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9RJJAhKQ7BvZNZxgedQZXeAuKaYkDC5xm1MMDJdno3g=; b=XbyI+8OHaYwsm1CuCXCAYqA/jQM/yrFXgU+Fh+T+fbqfCyT4GUZEq1nLb8aHZVbxYOZO9Z JlQeMHrdRoatfODzyJg6/NuF7+aADMgZp2IiqbH/xwiKPwxKjLVWzulOS3N/3ycAdZEhKv Nd7U8Gc4/AJMMP5z84sYXZ3AE0RB6vRSwPzX2MEf6Ni+g+5pEQq0kBPnevDqBHNUdGNHiO b5+McS8nPFd4cG/yItKn6tTeR11+LFk1KR+sRJPsHesCI6kHWVaotUn98cFQ5SxZDCSyqV KOTo5ya/ka3hgBoctDvJiGRwrV7JRiH+7Rq5A88lxECb54E91ZNXALgvuApfaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749843630; a=rsa-sha256; cv=none; b=majgH2t19GOdB5z4sETjHLtMrYGbJ3Gd7N2yRncRk52qysLpT97FQmZ48IIb9AbfU8VBnG 2fGK+ybQH+jOdgYf0oUbSuewPx8feIqNbuizMhaL+6Y7oz9TC7c0T7AqP5D4omSA8TqCok yfk/2VFM9FpjQcMN3BQSLT7jxWuxxA2TtKPI6VSL0ycHFQXPwpDFicoLlGOP9Y3YWwM4KM nv0Dizi4NZT9pOXIz8d0vJk3rZJTrc/F0OB9/4YcQozUHC0f1eY/4Gcm9UhfZor2Adzt8D SOcFwndvxc3kQRjAzX0ga8AJ+82NKR3GRinJsQYn2OhsfqKvpSLGld+ffTueEA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bJqW22JHBz19hm; Fri, 13 Jun 2025 19:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55DJeURZ046779; Fri, 13 Jun 2025 19:40:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55DJeUBY046776; Fri, 13 Jun 2025 19:40:30 GMT (envelope-from git) Date: Fri, 13 Jun 2025 19:40:30 GMT Message-Id: <202506131940.55DJeUBY046776@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 947bff6a04ed - main - vm/vm_mmap.c: simplify code by using the SET_ERRNOX() values List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 947bff6a04ed9f508d8fd0e5e1d8ac56d8888e80 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=947bff6a04ed9f508d8fd0e5e1d8ac56d8888e80 commit 947bff6a04ed9f508d8fd0e5e1d8ac56d8888e80 Author: Konstantin Belousov AuthorDate: 2025-06-13 17:33:49 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-13 19:39:55 +0000 vm/vm_mmap.c: simplify code by using the SET_ERRNOX() values to avoid duplicating the error values. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D50836 --- sys/vm/vm_mmap.c | 79 +++++++++++++++++++++++--------------------------------- 1 file changed, 32 insertions(+), 47 deletions(-) diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 8444a8cbf021..9ba2ec426d7f 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -192,14 +192,12 @@ kern_mmap(struct thread *td, const struct mmap_req *mrp) check_fp_fn = mrp->mr_check_fp_fn; if ((prot & ~(_PROT_ALL | PROT_MAX(_PROT_ALL))) != 0) { - SET_ERROR0(EINVAL, "unknown PROT bits"); - return (EINVAL); + return (SET_ERROR0(EINVAL, "unknown PROT bits")); } max_prot = PROT_MAX_EXTRACT(prot); prot = PROT_EXTRACT(prot); if (max_prot != 0 && (max_prot & prot) != prot) { - SET_ERROR0(ENOTSUP, "prot is not subset of max_prot"); - return (ENOTSUP); + return (SET_ERROR0(ENOTSUP, "prot is not subset of max_prot")); } p = td->td_proc; @@ -232,10 +230,9 @@ kern_mmap(struct thread *td, const struct mmap_req *mrp) if (!SV_CURPROC_FLAG(SV_AOUT)) { if ((len == 0 && p->p_osrel >= P_OSREL_MAP_ANON) || ((flags & MAP_ANON) != 0 && (fd != -1 || pos != 0))) { - SET_ERROR2(EINVAL, + return (SET_ERROR2(EINVAL, "offset not zero/fd not -1 for MAP_ANON", - fd, pos); - return (EINVAL); + fd, pos)); } } else { if ((flags & MAP_ANON) != 0) @@ -245,8 +242,8 @@ kern_mmap(struct thread *td, const struct mmap_req *mrp) if (flags & MAP_STACK) { if ((fd != -1) || ((prot & (PROT_READ | PROT_WRITE)) != (PROT_READ | PROT_WRITE))) { - SET_ERROR1(EINVAL, "MAP_STACK with prot < rw", prot); - return (EINVAL); + return (SET_ERROR1(EINVAL, "MAP_STACK with prot < rw", + prot)); } flags |= MAP_ANON; pos = 0; @@ -255,28 +252,23 @@ kern_mmap(struct thread *td, const struct mmap_req *mrp) MAP_STACK | MAP_NOSYNC | MAP_ANON | MAP_EXCL | MAP_NOCORE | MAP_PREFAULT_READ | MAP_GUARD | MAP_32BIT | MAP_ALIGNMENT_MASK)) != 0) { - SET_ERROR0(EINVAL, "reserved flag set"); - return (EINVAL); + return (SET_ERROR0(EINVAL, "reserved flag set")); } if ((flags & (MAP_EXCL | MAP_FIXED)) == MAP_EXCL) { - SET_ERROR0(EINVAL, "EXCL without FIXED"); - return (EINVAL); + return (SET_ERROR0(EINVAL, "EXCL without FIXED")); } if ((flags & (MAP_SHARED | MAP_PRIVATE)) == (MAP_SHARED | MAP_PRIVATE)) { - SET_ERROR0(EINVAL, "both SHARED and PRIVATE set"); - return (EINVAL); + return (SET_ERROR0(EINVAL, "both SHARED and PRIVATE set")); } if (prot != PROT_NONE && (prot & ~(PROT_READ | PROT_WRITE | PROT_EXEC)) != 0) { - SET_ERROR1(EINVAL, "invalid prot", prot); - return (EINVAL); + return (SET_ERROR1(EINVAL, "invalid prot", prot)); } if ((flags & MAP_GUARD) != 0 && (prot != PROT_NONE || fd != -1 || pos != 0 || (flags & ~(MAP_FIXED | MAP_GUARD | MAP_EXCL | MAP_32BIT | MAP_ALIGNMENT_MASK)) != 0)) { - SET_ERROR0(EINVAL, "GUARD with wrong parameters"); - return (EINVAL); + return (SET_ERROR0(EINVAL, "GUARD with wrong parameters")); } /* @@ -298,8 +290,7 @@ kern_mmap(struct thread *td, const struct mmap_req *mrp) if (align != 0 && align != MAP_ALIGNED_SUPER && (align >> MAP_ALIGNMENT_SHIFT >= sizeof(void *) * NBBY || align >> MAP_ALIGNMENT_SHIFT < PAGE_SHIFT)) { - SET_ERROR1(EINVAL, "bad alignment", align); - return (EINVAL); + return (SET_ERROR1(EINVAL, "bad alignment", align)); } /* @@ -314,8 +305,8 @@ kern_mmap(struct thread *td, const struct mmap_req *mrp) */ addr -= pageoff; if ((addr & PAGE_MASK) != 0) { - SET_ERROR1(EINVAL, "fixed mapping not aligned", addr); - return (EINVAL); + return (SET_ERROR1(EINVAL, "fixed mapping not aligned", + addr)); } /* Address range must be all in user VM space. */ @@ -324,9 +315,8 @@ kern_mmap(struct thread *td, const struct mmap_req *mrp) return (EINVAL); } if (flags & MAP_32BIT && addr + size > MAP_32BIT_MAX_ADDR) { - SET_ERROR0(EINVAL, - "fixed 32bit mapping does not fit into 4G"); - return (EINVAL); + return (SET_ERROR0(EINVAL, + "fixed 32bit mapping does not fit into 4G")); } } else if (flags & MAP_32BIT) { /* @@ -1324,8 +1314,7 @@ vm_mmap_vnode(struct thread *td, vm_size_t objsize, vm_pager_update_writecount(obj, 0, objsize); } } else { - SET_ERROR0(EINVAL, "non-reg file"); - error = EINVAL; + error = SET_ERROR0(EINVAL, "non-reg file"); goto done; } if ((error = VOP_GETATTR(vp, &va, cred))) @@ -1416,8 +1405,7 @@ vm_mmap_cdev(struct thread *td, vm_size_t objsize, vm_prot_t prot, (prot & VM_PROT_WRITE) != 0) return (EACCES); if ((flags & (MAP_PRIVATE | MAP_COPY)) != 0) { - SET_ERROR0(EINVAL, "cdev mapping must be shared"); - return (EINVAL); + return (SET_ERROR0(EINVAL, "cdev mapping must be shared")); } /* @@ -1444,8 +1432,8 @@ vm_mmap_cdev(struct thread *td, vm_size_t objsize, vm_prot_t prot, obj = vm_pager_allocate(OBJT_DEVICE, cdev, objsize, prot, *foff, td->td_ucred); if (obj == NULL) { - SET_ERROR0(EINVAL, "cdev driver does not support mmap"); - return (EINVAL); + return (SET_ERROR0(EINVAL, + "cdev driver does not support mmap")); } *objp = obj; *flagsp = flags; @@ -1464,8 +1452,7 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, boolean_t writecounted; if (size == 0) { - SET_ERROR0(EINVAL, "zero-sized req"); - return (EINVAL); + return (SET_ERROR0(EINVAL, "zero-sized req")); } size = round_page(size); @@ -1492,8 +1479,8 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, handle, &foff, &object, &writecounted); break; default: - SET_ERROR1(EINVAL, "unsupported backing obj type", handle_type); - error = EINVAL; + error = SET_ERROR1(EINVAL, "unsupported backing obj type", + handle_type); break; } if (error) @@ -1575,8 +1562,7 @@ vm_mmap_object(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, * exec). */ if ((foff & PAGE_MASK) != 0) { - SET_ERROR1(EINVAL, "offset not page-aligned", foff); - return (EINVAL); + return (SET_ERROR1(EINVAL, "offset not page-aligned", foff)); } if ((flags & MAP_FIXED) == 0) { @@ -1584,21 +1570,20 @@ vm_mmap_object(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, *addr = round_page(*addr); } else { if (*addr != trunc_page(*addr)) { - SET_ERROR1(EINVAL, - "non-fixed mapping address not aligned", *addr); - return (EINVAL); + return (SET_ERROR1(EINVAL, + "non-fixed mapping address not aligned", *addr)); } fitit = false; } if (flags & MAP_ANON) { if (object != NULL) { - SET_ERROR0(EINVAL, "anon mapping backed by an object"); - return (EINVAL); + return (SET_ERROR0(EINVAL, + "anon mapping backed by an object")); } if (foff != 0) { - SET_ERROR0(EINVAL, "anon mapping with non-zero offset"); - return (EINVAL); + return (SET_ERROR0(EINVAL, + "anon mapping with non-zero offset")); } docow = 0; } else if (flags & MAP_PREFAULT_READ) @@ -1619,8 +1604,8 @@ vm_mmap_object(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, docow |= MAP_WRITECOUNT; if (flags & MAP_STACK) { if (object != NULL) { - SET_ERROR0(EINVAL, "stack mapping backed by an object"); - return (EINVAL); + return (SET_ERROR0(EINVAL, + "stack mapping backed by an object")); } docow |= MAP_STACK_AREA; }