From nobody Fri Jan 31 18:37:53 2025 X-Original-To: dev-commits-src-main@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 4Yl4QB0pmKz5mmyM; Fri, 31 Jan 2025 18:37:54 +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 4Yl4QB0D7Bz3DGx; Fri, 31 Jan 2025 18:37:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738348674; 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=+7eaLTEb1/L5A/b7B2wjUhfBNHo05lcUkWNgbcWpm+U=; b=YBXIyMYdEwe+J/+f3VoHAEg5DojutmTkmRHHoopm6CJxSSuy1nX9W/ptVLotpTEUM9oBRm /cTI2vS5WptSR9N59D9iuFWR1u++FmlXQs/yOyQrho7rST8Ld1VartyPdEFx6S67msIDFE vu+ItLQMs7SM6cehmxxe5FmtyO7LcYGMXTq8iHqCmP67/XAXzyH+kVUvnrYHtTtQZ0lRWq qbnInHi/77Od/tk0uC6ryFtTiklc9e5SAlHkge26paxYXJwcelJADkZnG7K5Qeni7Ydm0C ZGblDFrhLk/KbvDwRBquo+i5oFcxnS9FoWpsQr5Cljnfn89XQZO6Ri2e6IGWkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738348674; 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=+7eaLTEb1/L5A/b7B2wjUhfBNHo05lcUkWNgbcWpm+U=; b=VFm9uf15RdjSxsQzhDuIyc2bDxP1gj1ceE5KQsL+QDmxCo4QVnjIAmdWNSBtQYeKieKU45 fvu3t3vcAHbQjGTmFfFqUcvawj5tQjTWLy/u3D5UIiZNalpeIQO8z11qYN2+RQX0iOF4Fy mTW0I+RuJFWH5nxH2Lbh1AnJnmHJEeHCSFmZU40r1twxr5s6EsBp7cXn6XxwOAi2i5cbQN YR6o3MOeLgn54Rilz9BkeWcL6W4PjlFpYIBIEjn2PbkOGdIm9+X2D3MSV9Sp5q0IsVE2gL 19ijaYms+COlndHtIJVo1znc6x6CYH+fxOJI6lYQcrCK9Vnw7i9ecyxOlmp0oQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1738348674; a=rsa-sha256; cv=none; b=S5VEwwyKW7WORRtT/h+J8hZdSLLbbDJVSjr6xC7/NKNDvjrbxS98DxKo/sOlJ89IEGO24Z 4SJMF+e46OoehpmewgGp8Ll/7bq71Rj+l2oaiX0NlBPqlye3NkMAkyqWLwGXMU7gWN2sVO UMMVBFdU3JFkUgKPlPRpFQwxX1n3Jy3MHVxkuPKEyvVp49r39rnbBt2l5BAqhOhmCtzWxB lCOVAUemWoooQhRcjqIQcPVobvO0C0FrH/4yEZ6yIDPcaD0cOKAfn/M0BOxa8sPVyvqjaJ k4cdFdtMvoiw0g1/pESxiDozt36uZKsbKliC8ww1+CXQlj2KP2EfjlPGxSA37A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4Yl4Q96nBtzTW0; Fri, 31 Jan 2025 18:37:53 +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 50VIbreC019795; Fri, 31 Jan 2025 18:37:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50VIbr5w019791; Fri, 31 Jan 2025 18:37:53 GMT (envelope-from git) Date: Fri, 31 Jan 2025 18:37:53 GMT Message-Id: <202501311837.50VIbr5w019791@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 4015ff43cbbe - main - vm: Fix overflow issues in vm_page_startup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4015ff43cbbe819316104258da6a79bef76e52c2 Auto-Submitted: auto-generated The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=4015ff43cbbe819316104258da6a79bef76e52c2 commit 4015ff43cbbe819316104258da6a79bef76e52c2 Author: Jessica Clarke AuthorDate: 2025-01-31 18:37:27 +0000 Commit: Jessica Clarke CommitDate: 2025-01-31 18:37:27 +0000 vm: Fix overflow issues in vm_page_startup Firstly, pagecount is a u_long so we should ensure j is the same for the sake of 64-bit systems. Secondly, ptoa is just a macro, and does not cast its argument, so in order to handle PAE systems correctly we need to cast j to vm_paddr_t (the type of startp). Fixes: 0078df5f0258 ("vm_phys: reduce touching of page->pool fields") --- sys/vm/vm_page.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 961b32da6599..f0e3fc73fb34 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -836,9 +836,10 @@ vm_page_startup(vm_offset_t vaddr) m = vm_phys_seg_paddr_to_vm_page(seg, startp); vm_page_init_page(m, startp, segind, pool); if (pool == VM_FREEPOOL_DEFAULT) { - for (int j = 1; j < pagecount; j++) { + for (u_long j = 1; j < pagecount; j++) { vm_page_init_page(&m[j], - startp + ptoa(j), segind, pool); + startp + ptoa((vm_paddr_t)j), + segind, pool); } } vmd = VM_DOMAIN(seg->domain);