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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



#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@xxxxxxxxxxxx/ 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@xxxxxxxxx>
Reply-To: PH7PR14MB559464DBDD310E755F5B21E8CEDC9@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
To: coelacanthus@xxxxxxxxxxx
CC: c141028@xxxxxxxxx, dramforever@xxxxxxxx, linux-riscv@xxxxxxxxxxxxxxxxxxx, palmer@xxxxxxxxxxx, xc-tan@xxxxxxxxxxx

On Tue, 31 May 2022 00:56:52 PDT (-0700), coelacanthus@xxxxxxxxxxx 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@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-riscv

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux