Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: net/mac80211/main.c
This commit is contained in:
@@ -782,6 +782,22 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd,
|
||||
}
|
||||
}
|
||||
|
||||
if (IW_IS_GET(cmd) && !(descr->flags & IW_DESCR_FLAG_NOMAX)) {
|
||||
/*
|
||||
* If this is a GET, but not NOMAX, it means that the extra
|
||||
* data is not bounded by userspace, but by max_tokens. Thus
|
||||
* set the length to max_tokens. This matches the extra data
|
||||
* allocation.
|
||||
* The driver should fill it with the number of tokens it
|
||||
* provided, and it may check iwp->length rather than having
|
||||
* knowledge of max_tokens. If the driver doesn't change the
|
||||
* iwp->length, this ioctl just copies back max_token tokens
|
||||
* filled with zeroes. Hopefully the driver isn't claiming
|
||||
* them to be valid data.
|
||||
*/
|
||||
iwp->length = descr->max_tokens;
|
||||
}
|
||||
|
||||
err = handler(dev, info, (union iwreq_data *) iwp, extra);
|
||||
|
||||
iwp->length += essid_compat;
|
||||
|
||||
Reference in New Issue
Block a user