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: christos%zoulas.com@localhost (Christos Zoulas)
To: Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost>, gnats-bugs%NetBSD.org@localhost
Cc: pullup-8%netbsd.org@localhost
Subject: Re: PR/53103 CVS commit: src/sys
Date: Sun, 23 Sep 2018 21:59:06 -0400
On Sep 24, 10:45am, tsutsui%ceres.dti.ne.jp@localhost (Izumi Tsutsui) wrote:
-- Subject: Re: PR/53103 CVS commit: src/sys
| > 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?
I guess we should bump the version to:
#define __NetBSD_Version__ 800000100 /* NetBSD 8.00.01 */
and make sure that the change is pulled up to all the -8 branches.
christos
Home |
Main Index |
Thread Index |
Old Index