mirror of git://sourceware.org/git/glibc.git
sysdeps: tst-bz21269: handle ENOSYS & skip appropriately
SYS_modify_ldt requires CONFIG_MODIFY_LDT_SYSCALL to be set in the kernel, which some distributions may disable for hardening. Check if that's the case (unset) and mark the test as UNSUPPORTED if so. Reviewed-by: DJ Delorie <dj@redhat.com> Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
parent
e0b712dd91
commit
652b9fdb77
|
@ -52,7 +52,16 @@ xset_thread_area (struct user_desc *u_info)
|
|||
static void
|
||||
xmodify_ldt (int func, const void *ptr, unsigned long bytecount)
|
||||
{
|
||||
TEST_VERIFY_EXIT (syscall (SYS_modify_ldt, func, ptr, bytecount) == 0);
|
||||
long ret = syscall (SYS_modify_ldt, func, ptr, bytecount);
|
||||
|
||||
if (ret == -1)
|
||||
{
|
||||
if (errno == ENOSYS)
|
||||
FAIL_UNSUPPORTED ("modify_ldt not supported");
|
||||
FAIL_EXIT1 ("modify_ldt failed (errno=%d)", errno);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
Loading…
Reference in New Issue