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