|
@@ -404,8 +404,6 @@ void handler(int signum, siginfo_t *si, void *vucontext)
|
|
|
dprintf2("info->si_lower: %p\n", __si_bounds_lower(si));
|
|
|
dprintf2("info->si_upper: %p\n", __si_bounds_upper(si));
|
|
|
|
|
|
- check_siginfo_vs_shadow(si);
|
|
|
-
|
|
|
for (i = 0; i < 8; i++)
|
|
|
dprintf3("[%d]: %p\n", i, si_addr_ptr[i]);
|
|
|
switch (br_reason) {
|
|
@@ -416,6 +414,9 @@ void handler(int signum, siginfo_t *si, void *vucontext)
|
|
|
exit(5);
|
|
|
case 1: /* #BR MPX bounds exception */
|
|
|
/* these are normal and we expect to see them */
|
|
|
+
|
|
|
+ check_siginfo_vs_shadow(si);
|
|
|
+
|
|
|
dprintf1("bounds exception (normal): status 0x%jx at %p si_addr: %p\n",
|
|
|
status, (void *)ip, si->si_addr);
|
|
|
num_bnd_chk++;
|