diff --git a/net/wireless/wext.c b/net/wireless/wext.c index e83d74affd7..cd2cf9fec10 100644 --- a/net/wireless/wext.c +++ b/net/wireless/wext.c @@ -512,9 +512,9 @@ static int get_priv_size(__u16 args) /* * Re-calculate the size of private arguments */ -static int adjust_priv_size(__u16 args, union iwreq_data *wrqu) +static int adjust_priv_size(__u16 args, struct iw_point *iwp) { - int num = wrqu->data.length; + int num = iwp->length; int max = args & IW_PRIV_SIZE_MASK; int type = (args & IW_PRIV_TYPE_MASK) >> 12; @@ -976,7 +976,7 @@ static int ioctl_private_call(struct net_device *dev, struct ifreq *ifr, * avoid leaking kernel bits outside. */ if (!(descr->get_args & IW_PRIV_SIZE_FIXED)) { extra_size = adjust_priv_size(descr->get_args, - &(iwr->u)); + &(iwr->u.data)); } err = copy_to_user(iwr->u.data.pointer, extra,