llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Daniil Kovalev (kovdan01)

<details>
<summary>Changes</summary>

Previous use of `Min` for `ptrauth-elf-got` and `ptrauth-sign-personality` 
module flags was introducing a risk of silent decrease of security during 
module merge.

---
Full diff: https://github.com/llvm/llvm-project/pull/189923.diff


2 Files Affected:

- (modified) clang/lib/CodeGen/CodeGenModule.cpp (+3-3) 
- (modified) clang/test/CodeGen/ptrauth-module-flags.c (+2-2) 


``````````diff
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp 
b/clang/lib/CodeGen/CodeGenModule.cpp
index 94a52f51118a7..28ef93da75dc7 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -1383,12 +1383,12 @@ void CodeGenModule::Release() {
                                 "sign-return-address-with-bkey", 2);
 
     if (LangOpts.PointerAuthELFGOT)
-      getModule().addModuleFlag(llvm::Module::Min, "ptrauth-elf-got", 1);
+      getModule().addModuleFlag(llvm::Module::Error, "ptrauth-elf-got", 1);
 
     if (getTriple().isOSLinux()) {
       if (LangOpts.PointerAuthCalls)
-        getModule().addModuleFlag(llvm::Module::Min, 
"ptrauth-sign-personality",
-                                  1);
+        getModule().addModuleFlag(llvm::Module::Error,
+                                  "ptrauth-sign-personality", 1);
       assert(getTriple().isOSBinFormatELF());
       using namespace llvm::ELF;
       uint64_t PAuthABIVersion =
diff --git a/clang/test/CodeGen/ptrauth-module-flags.c 
b/clang/test/CodeGen/ptrauth-module-flags.c
index faa9d11bf9223..6c175c0aad781 100644
--- a/clang/test/CodeGen/ptrauth-module-flags.c
+++ b/clang/test/CodeGen/ptrauth-module-flags.c
@@ -4,10 +4,10 @@
 
 // ELFGOT:      !llvm.module.flags = !{
 // ELFGOT-SAME: !0
-// ELFGOT:      !0 = !{i32 8, !"ptrauth-elf-got", i32 1}
+// ELFGOT:      !0 = !{i32 1, !"ptrauth-elf-got", i32 1}
 
 // PERSONALITY:      !llvm.module.flags = !{
 // PERSONALITY-SAME: !0
-// PERSONALITY:      !0 = !{i32 8, !"ptrauth-sign-personality", i32 1}
+// PERSONALITY:      !0 = !{i32 1, !"ptrauth-sign-personality", i32 1}
 
 // OFF-NOT: "ptrauth-

``````````

</details>


https://github.com/llvm/llvm-project/pull/189923
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to