tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pppoectl(8) with COMPAT_NETBSD32



On Sun, May 31, 2015 at 04:18:27PM +0100, Roy Marples wrote:
> Hi List
> 
> Attached is a patch which should make pppoectl work with COMPAT_NETBSD32 
> to make my erlite happy, but it's failing with the PPPOESETPARMS ioctl.
> Infact, it doesn't even make it into the kernel as the call bails out 
> with a Inappropriate ioctl for device error, but I don't easily see 
> what's wrong!
> 
> Anyone have a better clue than me?

+/* from net/if_pppoe.h */
+struct netbsd32_pppoediscparms {
+       char    ifname[IFNAMSIZ];       /* pppoe interface name */
+       char    eth_ifname[IFNAMSIZ];   /* external ethernet interface name */
+       netbsd32_charp ac_name;         /* access concentrator name (or NULL) */
+       size_t  ac_name_len;            /* on write: length of buffer for ac_name */      
+       netbsd32_charp service_name;    /* service name (or NULL) */
+       size_t  service_name_len;       /* on write: length of buffer for service name */

size_t needs to be netbsd32_size_t?

To catch things like this positively, verify that sizeof(...parms) in userland
matches sizeof(netbsd32_....) in kernel.


Martin


Home | Main Index | Thread Index | Old Index