Regression: Fwd: Re: [PATCH] riscv: mmap with PROT_WRITE but no PROT_READ is invalid

Dimitri John Ledkov dimitri.ledkov at canonical.com
Tue Oct 11 09:52:13 PDT 2022


#regzbot ^introduced 2139619bcad7ac44cc8f6f749089120594056613

Over at https://lore.kernel.org/linux-riscv/Yz80ewHKTPI5Rvuz@spud/T/#ebde47064434d4ca4807b4abb8eb39898c48a8de2 it is reported that 2139619bcad7ac44cc8f6f749089120594056613 regresses userspace (openjdk) on riscv64.

This commit has already been released in v6.0 kernel upstream, but has also been included in the stable patch series all the way back to v4.19.y

There is a proposed fix for this at https://lore.kernel.org/linux-riscv/20220915193702.2201018-1-abrestic@rivosinc.com/ which has not yet been merged upstream or in stable series.

Please review and merge above proposed fix, or please revert 2139619bcad7ac44cc8f6f749089120594056613 to stop the regression spreading to all the distributions.

In Ubuntu this regression will be tracked as https://bugs.launchpad.net/bugs/+bug/1992484

-------- Forwarded Message --------
Subject: Re: [PATCH] riscv: mmap with PROT_WRITE but no PROT_READ is invalid
Date: Thu, 6 Oct 2022 22:20:02 +0300
From: Eva Kotova <nyandarknessgirl at gmail.com>
Reply-To: PH7PR14MB559464DBDD310E755F5B21E8CEDC9 at PH7PR14MB5594.namprd14.prod.outlook.com
To: coelacanthus at outlook.com
CC: c141028 at gmail.com, dramforever at live.com, linux-riscv at lists.infradead.org, palmer at dabbelt.com, xc-tan at outlook.com

On Tue, 31 May 2022 00:56:52 PDT (-0700), coelacanthus at outlook.com wrote:
> As mentioned in Table 4.5 in RISC-V spec Volume 2 Section 4.3, write
> but not read is "Reserved for future use.". For now, they are not valid.
> In the current code, -wx is marked as invalid, but -w- is not marked
> as invalid.

This patch breaks OpenJDK/Java on RISC-V, as it tries to create a w-only
protective page:

#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 4096 bytes for failed to
allocate memory for PaX check.
# An error report file with more information is saved as:
# /root/hs_err_pid107.log

I bisected to this commit since on Linux 5.19+ java no longer works.
Perhaps some fallback should be implemented, to prevent userspace
breakage. It is currently documented, that at least on i386 PROT_WRITE
mappings imply PROT_READ (See man mmap(2) NOTES), this would be a good
place to start.

Best regards,
Eva

_______________________________________________
linux-riscv mailing list
linux-riscv at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-riscv/attachments/20221011/7a97bc45/attachment.sig>


More information about the linux-riscv mailing list