On Monday, May 25, 2015 04:57:09 PM Alexander V. Chernikov wrote: > 25.05.2015, 14:45, "John Baldwin" <j...@freebsd.org>: > > On Sunday, May 24, 2015 11:24:15 AM Alexander V. Chernikov wrote: > >> Author: melifaro > >> Date: Sun May 24 11:24:14 2015 > >> New Revision: 283364 > >> URL: https://svnweb.freebsd.org/changeset/base/283364 > >> > >> Log: > >> Fix SIOCGI2C structure requirement. > >> > >> In reality, SIOCGI2C ioctl requires struct ifreq as many other > >> ioctls. Doing copyin() on (significantly) larger struct ifstat sometimes > >> triggered EFAULT. > >> > >> Reported by: Olivier Cochard-Labbé <olivier at cochard.me> > >> MFC after: 1 week > > > > Note that this breaks the ABI. You may wish to add a SIOCGI2C_OLD that > In general, yes. Since this was not merged to -stable and I'm mostly sure > that ifconfig > is the only user - this is most likely OK.
Oh, the MFC after threw me off, I didn't realize it was never merged to stable. In that case compat is certainly not needed. > > still uses the larger struct so that old programs continue to work. OTOH, > > they were only working by accident before. If we expect that no code > Well, yes. I'm wondering why this worked at all (copyout tried to get 8XX > bytes instead of 32). Well, if the ifreq was on the stack there was probably space beyond it, so it was just a buffer overrun (in effect). -- John Baldwin _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"