mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-14 00:24:15 +08:00
signal/testing: Don't look for __SI_FAULT in userspace
Fix the debug print statements in these tests where they reference si_codes and in particular __SI_FAULT. __SI_FAULT is a kernel internal value and should never be seen by userspace. While I am in there also fix si_code_str. si_codes are an enumeration there are not a bitmap so == and not & is the apropriate operation to test for an si_code. Cc: Dave Hansen <dave.hansen@linux.intel.com> Fixes:5f23f6d082
("x86/pkeys: Add self-tests") Fixes:e754aedc26
("x86/mpx, selftests: Add MPX self test") Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
This commit is contained in:
parent
ea1b75cf91
commit
d12fe87e62
@ -391,8 +391,7 @@ void handler(int signum, siginfo_t *si, void *vucontext)
|
|||||||
br_count++;
|
br_count++;
|
||||||
dprintf1("#BR 0x%jx (total seen: %d)\n", status, br_count);
|
dprintf1("#BR 0x%jx (total seen: %d)\n", status, br_count);
|
||||||
|
|
||||||
#define __SI_FAULT (3 << 16)
|
#define SEGV_BNDERR 3 /* failed address bound checks */
|
||||||
#define SEGV_BNDERR (__SI_FAULT|3) /* failed address bound checks */
|
|
||||||
|
|
||||||
dprintf2("Saw a #BR! status 0x%jx at %016lx br_reason: %jx\n",
|
dprintf2("Saw a #BR! status 0x%jx at %016lx br_reason: %jx\n",
|
||||||
status, ip, br_reason);
|
status, ip, br_reason);
|
||||||
|
@ -212,19 +212,18 @@ void dump_mem(void *dumpme, int len_bytes)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define __SI_FAULT (3 << 16)
|
#define SEGV_BNDERR 3 /* failed address bound checks */
|
||||||
#define SEGV_BNDERR (__SI_FAULT|3) /* failed address bound checks */
|
#define SEGV_PKUERR 4
|
||||||
#define SEGV_PKUERR (__SI_FAULT|4)
|
|
||||||
|
|
||||||
static char *si_code_str(int si_code)
|
static char *si_code_str(int si_code)
|
||||||
{
|
{
|
||||||
if (si_code & SEGV_MAPERR)
|
if (si_code == SEGV_MAPERR)
|
||||||
return "SEGV_MAPERR";
|
return "SEGV_MAPERR";
|
||||||
if (si_code & SEGV_ACCERR)
|
if (si_code == SEGV_ACCERR)
|
||||||
return "SEGV_ACCERR";
|
return "SEGV_ACCERR";
|
||||||
if (si_code & SEGV_BNDERR)
|
if (si_code == SEGV_BNDERR)
|
||||||
return "SEGV_BNDERR";
|
return "SEGV_BNDERR";
|
||||||
if (si_code & SEGV_PKUERR)
|
if (si_code == SEGV_PKUERR)
|
||||||
return "SEGV_PKUERR";
|
return "SEGV_PKUERR";
|
||||||
return "UNKNOWN";
|
return "UNKNOWN";
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user