broken kernel syscalls on ppc64

Anton Blanchard anton at samba.org
Wed May 28 02:13:39 EST 2003


> I am developing with 2.5.66 & SLES 8 from suse
> as most of the apps on SLES8 are 32 bit the check below is broken.
>
> The reason being if a syscall is made from the kernel in the context of a
> 32 bit process
> e.g. bash the syscall code below will incorrectly assume it the syscall is
> being made with 32 bit
> parameters.

Interesting. Could you summarise what the application/kernel is doing
here exactly? There are only a few syscalls we allow to be called out
of the kernel, and they only seem to be used during boot.

extern pid_t setsid(void);
extern int write(int fd, const char *buf, off_t count);
extern int read(int fd, char *buf, off_t count);
extern off_t lseek(int fd, off_t offset, int count);
extern int dup(int fd);
extern int execve(const char *file, char **argv, char **envp);
extern int open(const char *file, int flag, int mode);
extern int close(int fd);
extern pid_t waitpid(pid_t pid, int *wait_stat, int options);

Anton

** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc64-dev mailing list