NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: PR/53103 CVS commit: src/sys
The following reply was made to PR lib/53103; it has been noted by GNATS.
From: Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost>
To: gnats-bugs%NetBSD.org@localhost, christos%netbsd.org@localhost
Cc: tsutsui%ceres.dti.ne.jp@localhost
Subject: Re: PR/53103 CVS commit: src/sys
Date: Mon, 24 Sep 2018 10:45:52 +0900
> Subject: PR/53103 CVS commit: src/sys
> Date: Fri, 16 Mar 2018 13:25:04 -0400
>
> Module Name: src
> Committed By: christos
> Date: Fri Mar 16 17:25:04 UTC 2018
>
> Modified Files:
> src/sys/compat/common: uipc_syscalls_43.c
> src/sys/compat/linux/common: linux_socket.c
> src/sys/compat/netbsd32: netbsd32_compat_43.c
> src/sys/kern: uipc_syscalls.c
> src/sys/nfs: nfs_syscalls.c nfs_vfsops.c
> src/sys/sys: param.h socketvar.h
>
> Log Message:
> PR/53103: Timo Buhrmester: linux emulation of sendto(2) broken
>
> The sockargs refactoring broke it, because sockargs only works with a user
> address. Added an argument to sockargs to indicate where the address is
> coming from. Welcome to 8.99.14.
At Open Source Conference 2018 Hiroshima, there is a report
(from HIROSE yuuji at Tohoku University of Community Service and Science,
who largely use NetBSD/amd64 in their curriculum and educations)
that linux binaries fail to get NIS info, then libreoffice5-bin is
not usable on NetBSD/amd64 8.0 client environments.
It looks caused by this PR/53103 and the NetBSD 8.0 release
(and the netbsd-8 branch) is still affected.
I can also reproduce it on NetBSD/amd64 8.0 and NetBSD/i386 8.0:
---
(setup ypserver by ypinit(8) on the other host)
:
(setup /etc/master.passwd etc to pull NIS info on the client)
:
# domainname ypname
# rpcbind
# ypbind
:
# pkg_add suse_base-13.1
:
% ktrace /usr/pkg/emul/linux/bin/bash
do_ypcall: clnt_call: RPC: Unable to send; errno = Bad address
do_ypcall: clnt_call: RPC: Unable to send; errno = Bad address
bash-4.2$
---
7829 7829 bash CALL sendto(5,0x6afd1c,0x4c,0,0x6ada28,0x10)
7829 7829 bash MISC mbsoname: [192.168.20.1]
7829 7829 bash MISC msghdr: [name=0xffff80008b99ee78, namelen=16, iov=0xffff80008b99ee38, iovlen=1, control=0x0, controllen=1, flags=0]
7829 7829 bash RET sendto -1 errno -14 Bad address
7829 7829 bash CALL fstat64(2,0x7f7fffffdbd0)
7829 7829 bash RET fstat64 0
7829 7829 bash CALL ioctl(2,_IO('T',0x1,0),0x7f7fffffdb40)
7829 7829 bash RET ioctl 0
7829 7829 bash CALL mmap(0,0x1000,PROT_READ|PROT_WRITE,0x22<PRIVATE,RENAME,FILE,ALIGN=NONE>,0xffffffff,0)
7829 7829 bash RET mmap 140187597262848/0x7f7ff7efd000
7829 7829 bash CALL write(2,0x7f7ff7efd000,0x3f)
7829 7829 bash GIO fd 2 wrote 63 bytes
"do_ypcall: clnt_call: RPC: Unable to send; errno = Bad address\n"
---
On NetBSD/amd64 7.2 it works without problem:
---
201 201 bash CALL sendto(5,0x6b0b9c,0x4c,0,0x6ae8a8,0x10)
201 201 bash MISC linux/sockaddr: 16, 020002fbc0a814010000000000000000
201 201 bash MISC mbsoname: [192.168.20.1]
201 201 bash MISC msghdr: [name=0xfffffe81b108a800, namelen=16, iov=0xfffffe81003dfe48, iovlen=1, control=0x0, controllen=2164428672, flags=1000000]
201 201 bash GIO fd 5 wrote 76 bytes
---
Applying changes in your commit to netbsd-8 also fixes the problem.
However it requires bump of the kernel revision (i.e. module ABI change)
as the log message said.
Is there any proper way to also fix this in the netbsd-8 branch,
for major users who need to run linux binaries with NIS?
Thanks,
---
Izumi Tsutsui
Home |
Main Index |
Thread Index |
Old Index