Martijn van Oosterhout <kleptog@xxxxxxxxx> wrote:
>
> By my calculations,
>
> sizeof(struct pppoe_addr) = 2 + ETH_ALEN + IFNAMSIZ = 2 + 6 + 16 = 24 bytes
> sizeof(struct pppol2tp_addr) = sizeof(int) + sizeof(sockaddr_in) + 4 * 2
> = 4 + 16 + 8 = 28 + possibly padding
>
> So the answer is: I think so. However, I'm not sure why this is an
> issue. struct sockaddr is passed back and forth between userspace and
> kernelspace has many varying sizes (sockaddr_un is quite large). What
> could be affected? getsockname, connect and bind all take a length
> argument. Or are you referring to the possibility of it affecting other
> structures it's embedded in?
Any existing user-space binary that has struct sockaddr_pppox in it will
be broken by your change.
Perhaps you can create a new sockaddr type?
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
|