Skip to content

Commit 0ba0225

Browse files
committed
update memToshadow for pvc
1 parent 5186733 commit 0ba0225

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

libdevice/sanitizer/msan_rtl.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,15 @@ inline uptr __msan_get_shadow_cpu(uptr addr) {
132132

133133
inline uptr __msan_get_shadow_pvc(uptr addr, uint32_t as) {
134134
// Device USM only
135-
uptr shadow_ptr = ((__SYCL_GLOBAL__ MsanLaunchInfo *)__MsanLaunchInfo.get())
136-
->GlobalShadowOffset +
137-
(addr & 0x3FFF'FFFF'FFFFULL);
138-
return shadow_ptr;
135+
auto shadow_begin = ((__SYCL_GLOBAL__ MsanLaunchInfo *)__MsanLaunchInfo.get())
136+
->GlobalShadowOffset;
137+
auto shadow_end = ((__SYCL_GLOBAL__ MsanLaunchInfo *)__MsanLaunchInfo.get())
138+
->GlobalShadowOffsetEnd;
139+
if (addr < shadow_begin) {
140+
return Ptr + (shadow_begin - 0xff00'0000'0000'0000ULL);
141+
} else {
142+
return Ptr - (0xff00'ffff'ffff'ffffULL - shadow_end);
143+
}
139144
}
140145

141146
} // namespace

0 commit comments

Comments
 (0)