RFR: 8339331: GCC fortify error in vm_version_linux_aarch64.cpp [v2]

SendaoYan syan at openjdk.org
Tue Dec 10 12:42:38 UTC 2024


On Tue, 10 Dec 2024 10:18:13 GMT, SendaoYan <syan at openjdk.org> wrote:

>> Hi all,
>> The file src/hotspot/os_cpu/linux_aarch64/vm_version_linux_aarch64.cpp report nullptr compile warning by gcc14 with fastdebug configure. I think it's false positive, since the statement 'assert(buf != nullptr, "invalid argument");' has make sure the buf should not be nullptr before execute '::read(int, void*, int)'. The call chain is `void VM_Version::initialize_cpu_information(void)` -> `void VM_Version::get_compatible_board(char *buf, int buflen)` -> `static bool read_fully(const char *fname, char *buf, size_t buflen)`, `*buf` is defined as `char  Abstract_VM_Version::_cpu_desc[4096] = {0};` and then right shift 8 bytes, so `*buf` should not be nullptr.
>> This PR use suppression pragma macro `PRAGMA_DISABLE_GCC_WARNING("-Wnonnull")` to disable false positive gcc compile warning to make fastdebug configure make success on linux-aarch64 by gcc14.2.0.
>> Risk is low.
>> 
>> Additional testing:
>> 
>> - [ ]  jtreg tests(include tier1/2/3) on linux-x64 with release build
>> - [ ]  jtreg tests(include tier1/2/3) on linux-x64 with fastdebug build
>> - [ ]  jtreg tests(include tier1/2/3) on linux-aarch64 with release build
>> - [ ]  jtreg tests(include tier1/2/3) on linux-aarch64 with fastdebug build
>
> SendaoYan has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Use guarantee instead of assert to suppress gcc warnings

GHA report test `gc/shenandoah/mxbeans/TestPauseNotifications.java#generational` fails on windows-x64, which I create a new jbs issue [JDK-8345895](https://bugs.openjdk.org/browse/JDK-8345895) to record it. This PR touch file vm_version_linux_aarch64.cpp will not effect x64 in theory, I think the test failure on windows-x64 unralated to this PR.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/22655#issuecomment-2531529719


More information about the hotspot-runtime-dev mailing list