Patch "Revert "wext: Fix 32 bit iwpriv compatibility issue with 64 bit Kernel"" has been added to the 4.7-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
Revert "wext: Fix 32 bit iwpriv compatibility issue with 64 bit Kernel"
to the 4.7-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
revert-wext-fix-32-bit-iwpriv-compatibility-issue-with-64-bit-kernel.patch
and it can be found in the queue-4.7 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
4d0bd46a4d55383f7b925e6cf7865a77e0f0e020Mon Sep 17 00:00:00 2001
From: Johannes Berg <[email protected]>
Date: Mon, 8 Aug 2016 08:45:33 +0200
Subject: Revert "wext: Fix 32 bit iwpriv compatibility issue with 64 bit Kernel"
From: Johannes Berg <[email protected]>
commit 4d0bd46a4d55383f7b925e6cf7865a77e0f0e020 upstream.
This reverts commit 3d5fdff46c4b2b9534fa2f9fc78e90a48e0ff724.
Ben Hutchings pointed out that the commit isn't safe since it assumes that the structure used by the driver is iw_point, when in fact there's no way to know about that.
Fortunately, the only driver in the tree that ever runs this code path is the wilc1000 staging driver, so it doesn't really matter.
Clearly I should have investigated this better before applying, sorry.
--- net/wireless/wext-core.c | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-)
net/wireless/wext-core.c +2 -23
@@ -958,29 +958,8 @@ static int wireless_process_ioctl(structreturn private (dev, iwr, cmd, info, handler); }/* Old driver API : call driver ioctl handler */ -if (dev->netdev_ops->ndo_do_ioctl) { -#ifdef CONFIG_COMPAT -if (info->flags &IW_REQUEST_FLAG_COMPAT ) { -int ret =0 ; -struct iwreq iwr_lcl; -struct compat_iw_point *iwp_compat = (void *) &iwr->u.data; - -memcpy (&iwr_lcl, iwr,sizeof (struct iwreq )); - iwr_lcl.u.data.pointer =compat_ptr (iwp_compat->pointer); - iwr_lcl.u.data.length = iwp_compat->length; - iwr_lcl.u.data.flags = iwp_compat->flags; - - ret = dev->netdev_ops->ndo_do_ioctl (dev, (void *) &iwr_lcl, cmd); - - iwp_compat->pointer =ptr_to_compat (iwr_lcl.u.data.pointer); - iwp_compat->length = iwr_lcl.u.data.length; - iwp_compat->flags = iwr_lcl.u.data.flags; - -return ret; - } else -#endif -return dev->netdev_ops->ndo_do_ioctl (dev, ifr, cmd); - } +if (dev->netdev_ops->ndo_do_ioctl) +return dev->netdev_ops->ndo_do_ioctl (dev, ifr, cmd);return -EOPNOTSUPP ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.7/revert-wext-fix-32-bit-iwpriv-compatibility-issue-with-64-bit-kernel.patch