Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Jul 2007 17:43:45 +0200 (MEST)
From:      Michiel Boland <michiel@boland.org>
To:        freebsd-current@freebsd.org
Subject:   Re: sshd broken with UsePrivilegeSeparation=yes on sparc64
Message-ID:  <Pine.GSO.4.64.0707151732540.129@neerbosch.nijmegen.internl.net>
In-Reply-To: <Pine.GSO.4.64.0707102349300.24847@neerbosch.nijmegen.internl.net>
References:  <Pine.GSO.4.64.0707102349300.24847@neerbosch.nijmegen.internl.net>

next in thread | previous in thread | raw e-mail | index | archive | help
It looks like gcc mis-compiles /usr/src/crypto/openssh/monitor_fdpass.c on 
sparc64. For some reason it optimizes away the assignment of fd on line 
132:

         fd = (*(int *)CMSG_DATA(cmsg));

So I guess that every call to mm_receive_fd will return an undefined 
value.

If I add -O0 to CFLAGS in /usr/src/secure/lib/libssh/Makefile, ssh with 
UsePrivilegeSeparation=yes works again.

So, obviously a gcc bug. I will try to generate a smaller test-case for 
this.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.0707151732540.129>