<p>my kernel version is 4.19 with CONFIG_MODIFY_LDT_SYSCALL not set, x86_64 arch<br>
the case modify_ldt is failed:<br>
[root@AliYun tests]# ./modify_ldt.gen.test<br>
../../strace: umoven: short read (4 < 16) @0x7fdd4f36affc: Input/output error<br>
--- exp 2020-01-16 10:11:46.855387179 +0800<br>
+++ log 2020-01-16 10:11:46.855387179 +0800<br>
@@ -1,10 +1,9 @@<br>
-__NR_modify_ldt=154<br>
-modify_ldt(0, NULL, 0) = -1 EPERM (Operation not permitted)<br>
-modify_ldt(-629534633, 0xffffffffffffffff, 16045756814261206767) = -1 EPERM (Operation not permitted)<br>
-modify_ldt(-629534633, 0x7fdd4f537000, 0) = -1 EPERM (Operation not permitted)<br>
-modify_ldt(-629534633, 0x7fdd4f536ff0, 42) = -1 EPERM (Operation not permitted)<br>
-modify_ldt(-629534633, 0x7fdd4f537000, 16) = -1 EPERM (Operation not permitted)<br>
-modify_ldt(-629534633, 0x7fdd4f36affc, 16) = -1 EPERM (Operation not permitted)<br>
-modify_ldt(-629534633, {entry_number=2206368128, base_addr=0x87868584, limit=0x8b8a8988, seg_32bit=0, contents=2, read_exec_only=1, limit_in_pages=0, seg_not_present=0, useable=0, lm=1}, 16) = -1 EPERM (Operation not permitted)<br>
-modify_ldt(-629534633, {entry_number=-1, base_addr=00000000, limit=00000000, seg_32bit=1, contents=0, read_exec_only=0, limit_in_pages=0, seg_not_present=1, useable=1, lm=0}, 16) = -1 EPERM (Operation not permitted)<br>
+modify_ldt(0, NULL, 0) = -1 ENOSYS (Function not implemented)<br>
+modify_ldt(-629534633, 0xffffffffffffffff, 16045756814261206767) = -1 ENOSYS (Function not implemented)<br>
+modify_ldt(-629534633, 0x7fdd4f537000, 0) = -1 ENOSYS (Function not implemented)<br>
+modify_ldt(-629534633, 0x7fdd4f536ff0, 42) = -1 ENOSYS (Function not implemented)<br>
+modify_ldt(-629534633, 0x7fdd4f537000, 16) = -1 ENOSYS (Function not implemented)<br>
+modify_ldt(-629534633, 0x7fdd4f36affc, 16) = -1 ENOSYS (Function not implemented)<br>
+modify_ldt(-629534633, {entry_number=2206368128, base_addr=0x87868584, limit=0x8b8a8988, seg_32bit=0, contents=2, read_exec_only=1, limit_in_pages=0, seg_not_present=0, useable=0, lm=1}, 16) = -1 ENOSYS (Function not implemented)<br>
+modify_ldt(-629534633, {entry_number=-1, base_addr=00000000, limit=00000000, seg_32bit=1, contents=0, read_exec_only=0, limit_in_pages=0, seg_not_present=1, useable=1, lm=0}, 16) = -1 ENOSYS (Function not implemented)<br>
+++ exited with 0 +++<br>
modify_ldt.gen.test: failed test: ../../strace -e trace=modify_ldt -a23 ../modify_ldt output mismatch</p>
<p>I find in modify_ldt.c the printrc do something to the errno, can someone tell me why<br>
void<br>
printrc(long rc)<br>
{<br>
#ifdef <strong>x86_64</strong><br>
int err = -rc;</p>
<pre><code>    /* Thanks, long return type of syscall(2) */
    printf("%lld", zero_extend_signed_to_ull(rc));

    **if (err > 0 && err < 0x1000) {
            errno = err;
            printf(" %s (%m)", errno2name());
    }**
</code></pre>
<p>#else<br>
printf("%s", sprintrc(rc));<br>
#endif</p>
<pre><code>    puts("");
</code></pre>
<p>}</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/strace/strace/issues/118?email_source=notifications&email_token=AAFX7DF3YVARAAIF52MKNKDQ567G5A5CNFSM4KHMZOX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IGQOUYA">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAFX7DED26BAO7TBXIRWBQ3Q567G5ANCNFSM4KHMZOXQ">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AAFX7DE4Y7ZEB43Z5ARLKFTQ567G5A5CNFSM4KHMZOX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IGQOUYA.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/strace/strace/issues/118?email_source=notifications\u0026email_token=AAFX7DF3YVARAAIF52MKNKDQ567G5A5CNFSM4KHMZOX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IGQOUYA",
"url": "https://github.com/strace/strace/issues/118?email_source=notifications\u0026email_token=AAFX7DF3YVARAAIF52MKNKDQ567G5A5CNFSM4KHMZOX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IGQOUYA",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>