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