Red Hat Bugzilla – Bug 112573
[PATCH] taskset redefines sched_get/setaffinity syscall numbers, resulting in error
Last modified: 2013-08-05 21:03:56 EDT
Description of problem:
Running taskset on a RHEL3 x86_64 platform results in ENOSYS codes
being returned from calls to sched_getaffinity and sched_setaffinity.
The prevents taskset from working properly
Version-Release number of selected component (if applicable):
All RHEL3 x86_64 platforms
Steps to Reproduce:
1.run taskset -p 1 <choose a pid>
ENOSYS returned from get/set affinity calls
cpu affinity set to 0x1 for selected process
stracing this binary shows that instead of actually calling
sched_getaffinity and sched_setaffinity, syscall_241 and syscall_242
are called, which are unimplemented in the syscall table (causing the
aforementioned ENOSYS). The values for __NR_sched_getaffinity and
__NR_sched_setaffinity are redefined in the schedultils pacakge to the
241 and 242 values, which is the root of the problem (also causing a
compilation warining about a redefinition of these symbols from their
correct values of 204 and 205 in /usr/include/asm-x86_64/unistd.h.
Created attachment 96678 [details]
patch to remove redifinition of get/set affinity syscalls for x86_64
This patch removes the get/set affinity syscall redefinitions from the
schedutils package, allowing the correct values from unistd.h to be used during
Patch tested and checked in.
FYI, this is errata # RHBA-2004:247-02
An errata has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.