[llvm] [BOLT][runtime] harden hugify THP support check. (PR #192042)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 14 04:59:19 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-bolt
Author: David CARLIER (devnexen)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/192042.diff
1 Files Affected:
- (modified) bolt/runtime/hugify.cpp (+8-3)
``````````diff
diff --git a/bolt/runtime/hugify.cpp b/bolt/runtime/hugify.cpp
index de896307f24fc..4a6d44efca4ea 100644
--- a/bolt/runtime/hugify.cpp
+++ b/bolt/runtime/hugify.cpp
@@ -65,20 +65,25 @@ static bool hasPagecacheTHPSupport() {
char Buf[64];
int FD = __open("/sys/kernel/mm/transparent_hugepage/enabled",
- 0 /* O_RDONLY */, 0);
+ O_CLOEXEC /* O_RDONLY | O_CLOEXEC */, 0);
if (FD < 0)
return false;
memset(Buf, 0, sizeof(Buf));
- const size_t Res = __read(FD, Buf, sizeof(Buf));
- if (Res < 0)
+ const size_t Res = __read(FD, Buf, sizeof(Buf) - 1);
+ if (static_cast<int64_t>(Res) < 0) {
+ __close(FD);
return false;
+ }
if (!strStr(Buf, "[always]") && !strStr(Buf, "[madvise]")) {
DEBUG(report("[hugify] THP support is not enabled.\n");)
+ __close(FD);
return false;
}
+ __close(FD);
+
struct KernelVersionTy {
uint32_t major;
uint32_t minor;
``````````
</details>
https://github.com/llvm/llvm-project/pull/192042
More information about the llvm-commits
mailing list