lkml.org 
[lkml]   [2002]   [Mar]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: ?chown and ?chown32 syscalls
Laurent:

Prior to Linux 2.4, uid_t on i386 Linux was a 16 bit type. In Linux 2.4
uid_t was changed to be 32 bits on all Linux architectures. Those
architectures (such as x86) which formerly used a 16 bit uid_t needed to
have new syscall entries added, one of which is chown32.

At the same time, to preserve backwards compatibility with old software,
the existing 16 bit uid_t system calls were left intact, including the old
chown.

As of glibc 2.2, chown32 is used first if the kernel supports it, else
glibc falls back to using the old 16 bit uid_t syscalls.


If you use a version of glibc older than 2.2 or a Linux kernel older than
2.4, the old 16 bit uid_t system calls will be used on i386.

Note that Linux architectures which always used a 32 bit uid_t do not have
this second set of system calls, and chown32 will not be defined for them
in asm/unistd.h.

-Chris Wing
wingc@engin.umich.edu


> In asm/unistd.h there are 2 series of syscalls for chown commands (chown,
> lchown and fchown) : the ?chown and ?chown32
> In 2.4.17 (ix86) the system is using the ?chown32 syscalls, when I intercept
> the ?chown syscalls nothing happens. Are these syscalls deprecated ?
>
> Thanks for any help.
> Laurent Sinitambirivoutin
> laurent@augias.org

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:24    [W:0.187 / U:1.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site