Bug 112573 - [PATCH] taskset redefines sched_get/setaffinity syscall numbers, resulting in error
Summary: [PATCH] taskset redefines sched_get/setaffinity syscall numbers, resulting in...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: schedutils
Version: 3.0
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jim Paradis
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 107562
TreeView+ depends on / blocked
 
Reported: 2003-12-23 13:54 UTC by Neil Horman
Modified: 2013-08-06 01:03 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-09-02 02:20:52 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
patch to remove redifinition of get/set affinity syscalls for x86_64 (585 bytes, patch)
2003-12-23 13:57 UTC, Neil Horman
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2004:247 0 normal SHIPPED_LIVE Updated schedutils package fixes taskset utility on x86_64 2004-09-01 04:00:00 UTC

Description Neil Horman 2003-12-23 13:54:51 UTC
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

How reproducible:
always

Steps to Reproduce:
1.run taskset -p 1 <choose a pid>

  
Actual results:
ENOSYS returned from get/set affinity calls

Expected results:
cpu affinity set to 0x1 for selected process

Additional info:
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.

Comment 1 Neil Horman 2003-12-23 13:57:07 UTC
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
the build.

Comment 3 Jim Paradis 2004-01-15 20:52:27 UTC
Patch tested and checked in.


Comment 7 Jim Paradis 2004-06-12 06:04:34 UTC
FYI, this is errata # RHBA-2004:247-02

Comment 8 Jay Turner 2004-09-02 02:20:52 UTC
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.

http://rhn.redhat.com/errata/RHBA-2004-247.html



Note You need to log in before you can comment on or make changes to this bug.