-
Notifications
You must be signed in to change notification settings - Fork 10.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
assertion failure when KMSAN instruments a varargs function for aarch64 #69738
Labels
Comments
dtcxzyw
added
compiler-rt:msan
Memory sanitizer
crash-on-valid
and removed
new issue
labels
Oct 20, 2023
cc @eugenis |
The following patch (almost identical to what Mark sent me offline) seems to fix the problem:
|
ramosian-glider
added a commit
to ramosian-glider/llvm-project
that referenced
this issue
Oct 30, 2023
Cast StackSaveAreaPtr, GrRegSaveAreaPtr, VrRegSaveAreaPtr to pointers to fix assertions in getShadowOriginPtrKernel(). Fixes: llvm#69738 Patch by Mark Johnston.
ramosian-glider
added a commit
to ramosian-glider/llvm-project
that referenced
this issue
Nov 6, 2023
Cast StackSaveAreaPtr, GrRegSaveAreaPtr, VrRegSaveAreaPtr to pointers to fix assertions in getShadowOriginPtrKernel(). Also add an isPointerTy() assertion to getShadowOriginPtrUserspace() to ensure both the userspace and the kernel implementations of getShadowOriginPtr() have the same expectations. Fixes: llvm#69738 Patch by Mark Johnston.
ramosian-glider
added a commit
that referenced
this issue
Nov 10, 2023
Cast StackSaveAreaPtr, GrRegSaveAreaPtr, VrRegSaveAreaPtr to pointers to fix assertions in getShadowOriginPtrKernel(). Fixes: #69738 Patch by Mark Johnston.
zahiraam
pushed a commit
to zahiraam/llvm-project
that referenced
this issue
Nov 20, 2023
Cast StackSaveAreaPtr, GrRegSaveAreaPtr, VrRegSaveAreaPtr to pointers to fix assertions in getShadowOriginPtrKernel(). Fixes: llvm#69738 Patch by Mark Johnston.
markjdb
added a commit
to markjdb/freebsd
that referenced
this issue
Nov 27, 2023
This fixes an assertion failure that occurs when compiling varargs functions with KMSAN enabled. See llvm/llvm-project#69738 for more context.
markjdb
added a commit
to markjdb/freebsd
that referenced
this issue
Dec 18, 2023
This fixes an assertion failure that occurs when compiling varargs functions with KMSAN enabled. See llvm/llvm-project#69738 for more context.
markjdb
added a commit
to markjdb/freebsd
that referenced
this issue
Dec 18, 2023
This fixes an assertion failure that occurs when compiling varargs functions with KMSAN enabled. See llvm/llvm-project#69738 for more context.
markjdb
added a commit
to markjdb/freebsd
that referenced
this issue
Dec 19, 2023
This fixes an assertion failure that occurs when compiling varargs functions with KMSAN enabled. See llvm/llvm-project#69738 for more context.
markjdb
added a commit
to markjdb/freebsd
that referenced
this issue
Jan 11, 2024
This fixes an assertion failure that occurs when compiling varargs functions with KMSAN enabled. See llvm/llvm-project#69738 for more context.
markjdb
added a commit
to markjdb/freebsd
that referenced
this issue
Jan 12, 2024
This fixes an assertion failure that occurs when compiling varargs functions with KMSAN enabled. See llvm/llvm-project#69738 for more context.
markjdb
added a commit
to markjdb/freebsd
that referenced
this issue
Jan 18, 2024
This fixes an assertion failure that occurs when compiling varargs functions with KMSAN enabled. See llvm/llvm-project#69738 for more context.
markjdb
added a commit
to markjdb/freebsd
that referenced
this issue
Jan 26, 2024
This fixes an assertion failure that occurs when compiling varargs functions with KMSAN enabled. See llvm/llvm-project#69738 for more context.
markjdb
added a commit
to markjdb/freebsd
that referenced
this issue
Jan 30, 2024
This fixes an assertion failure that occurs when compiling varargs functions with KMSAN enabled. See llvm/llvm-project#69738 for more context.
markjdb
added a commit
to markjdb/freebsd
that referenced
this issue
Feb 8, 2024
This fixes an assertion failure that occurs when compiling varargs functions with KMSAN enabled. See llvm/llvm-project#69738 for more context.
freebsd-git
pushed a commit
to freebsd/freebsd-src
that referenced
this issue
Feb 8, 2024
[sanitizer][msan] fix AArch64 vararg support for KMSAN (#70660) Cast StackSaveAreaPtr, GrRegSaveAreaPtr, VrRegSaveAreaPtr to pointers to fix assertions in getShadowOriginPtrKernel(). Fixes: llvm/llvm-project#69738 Patch by Mark Johnston. Requested by: markj MFC after: 3 days
freebsd-git
pushed a commit
to freebsd/freebsd-src
that referenced
this issue
Feb 13, 2024
[sanitizer][msan] fix AArch64 vararg support for KMSAN (#70660) Cast StackSaveAreaPtr, GrRegSaveAreaPtr, VrRegSaveAreaPtr to pointers to fix assertions in getShadowOriginPtrKernel(). Fixes: llvm/llvm-project#69738 Patch by Mark Johnston. Requested by: markj MFC after: 3 days (cherry picked from commit cf67576)
freebsd-git
pushed a commit
to freebsd/freebsd-src
that referenced
this issue
Feb 13, 2024
[sanitizer][msan] fix AArch64 vararg support for KMSAN (#70660) Cast StackSaveAreaPtr, GrRegSaveAreaPtr, VrRegSaveAreaPtr to pointers to fix assertions in getShadowOriginPtrKernel(). Fixes: llvm/llvm-project#69738 Patch by Mark Johnston. Requested by: markj MFC after: 3 days (cherry picked from commit cf67576)
5u623l20
pushed a commit
to 5u623l20/freebsd-src
that referenced
this issue
Feb 16, 2024
[sanitizer][msan] fix AArch64 vararg support for KMSAN (#70660) Cast StackSaveAreaPtr, GrRegSaveAreaPtr, VrRegSaveAreaPtr to pointers to fix assertions in getShadowOriginPtrKernel(). Fixes: llvm/llvm-project#69738 Patch by Mark Johnston. Requested by: markj MFC after: 3 days
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The problem seems to be that in
VarArgAArch64Helper::finalizeInstrumentation()
,StackSaveAreaPtr
,GrRegSaveAreaPtr
andVrRegSaveAreaPtr
have an integer type rather than a pointer type. Casting them withIRB.CreateIntToPtr()
fixes the problem and allows the test program to compile, but I am unfamiliar with LLVM internals and am not sure if that's the right solution.I did not test the latest development version of LLVM but I am fairly sure the problem is still there.
The text was updated successfully, but these errors were encountered: