Summary: | arch_prctl should return EINVAL on unknown option | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Mark Wielaard <mark> |
Component: | general | Assignee: | Julian Seward <jseward> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | drankinatty, subhranilmukherjee190, vandah3, zubeyir99 |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
URL: | https://bugzilla.redhat.com/show_bug.cgi?id=1608824 | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Mark Wielaard
2018-07-26 17:23:24 UTC
commit 21a01b13e259b9a43f10f0046b2b3f409c11ea75 Author: Mark Wielaard <mark@klomp.org> Date: Mon Jul 30 12:20:16 2018 +0200 Bug 396887 - arch_prctl should return EINVAL on unknown option. Currently arch_prctl calls VG_(core_panic) when it sees an unknown arch_prctl option which kills the process. glibc uses arch_prctl with an (as yet) unknown option to see if the kernel supports CET. This breaks any application running under valgrind on x86_64 with: valgrind: the 'impossible' happened: Unsupported arch_prctl option Thread 1: status = VgTs_Runnable (lwpid 19934) ==19934== at 0x121A15: get_cet_status (cpu-features.c:28) ==19934== by 0x121A15: init_cpu_features (cpu-features.c:474) ==19934== by 0x121A15: dl_platform_init (dl-machine.h:228) ==19934== by 0x121A15: _dl_sysdep_start (dl-sysdep.c:231) ==19934== by 0x10A1D7: _dl_start_final (rtld.c:413) ==19934== by 0x10A1D7: _dl_start (rtld.c:520) We already handle all known options. It would be better to do as the kernel does and just return failure with EINVAL instead. *** Bug 397286 has been marked as a duplicate of this bug. *** *** Bug 397521 has been marked as a duplicate of this bug. *** *** Bug 397393 has been marked as a duplicate of this bug. *** *** Bug 431829 has been marked as a duplicate of this bug. *** |