diff options
Diffstat (limited to 'sys/compat')
-rw-r--r-- | sys/compat/linux/linux_file.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c index f792a37..32d7cbe 100644 --- a/sys/compat/linux/linux_file.c +++ b/sys/compat/linux/linux_file.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_file.c,v 1.18 1998/01/05 01:05:15 jmb Exp $ + * $Id: linux_file.c,v 1.19 1998/01/05 01:17:42 jmb Exp $ */ #include "opt_compat.h" @@ -669,6 +669,27 @@ linux_chown(struct proc *p, struct linux_chown_args *args) } int +linux_lchown(struct proc *p, struct linux_lchown_args *args) +{ + struct lchown_args bsd; + caddr_t sg; + + sg = stackgap_init(); + CHECKALTEXIST(p, &sg, args->path); + +#ifdef DEBUG + printf("Linux-emul(%d): lchown(%s, %d, %d)\n", + p->p_pid, args->path, args->uid, args->gid); +#endif + bsd.path = args->path; + /* XXX size casts here */ + bsd.uid = args->uid; + bsd.gid = args->gid; + + return lchown(p, &bsd); +} + +int linux_mkdir(struct proc *p, struct linux_mkdir_args *args) { struct mkdir_args bsd; |