From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yury Norov Subject: Re: Regression in 39461af74125 "bitmap: replace bitmap_{from,to}_u32array" Date: Mon, 5 Feb 2018 10:17:47 +0300 Message-ID: <20180205071747.4ekxtsbgxkj5b2fz@yury-thinkpad> References: <4ad95153-e9bf-ef0d-c81a-d8daab2e6d50@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Andrew Morton , Stephen Rothwell , "netdev@vger.kernel.org" To: Heiner Kallweit Return-path: Received: from mail-dm3nam03on0087.outbound.protection.outlook.com ([104.47.41.87]:4476 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750935AbeBEHSI (ORCPT ); Mon, 5 Feb 2018 02:18:08 -0500 Content-Disposition: inline In-Reply-To: <4ad95153-e9bf-ef0d-c81a-d8daab2e6d50@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: On Mon, Feb 05, 2018 at 07:21:32AM +0100, Heiner Kallweit wrote: > Recently ethtool started to give incomplete values for supported and > advertised modes. There seems to be a regression in this commit: > The bit number parameter in the calls to bitmap_to_arr32() in > store_link_ksettings_for_user() should be __ETHTOOL_LINK_MODE_MASK_NBITS > instead of __ETHTOOL_LINK_MODE_MASK_NU32. > > After having changed this ethtool behaves normally again. > > Heiner Hi Heiner, Thank you for discovering this, and sorry for my error. The patch is below. Yury >>From af960f7ae1be8e86abfaa39300ba690c24a80e5b Mon Sep 17 00:00:00 2001 From: Yury Norov Date: Mon, 5 Feb 2018 10:01:59 +0300 Subject: [PATCH] Fix 39461af74125 "bitmap: replace bitmap_{from,to}_u32array" During rework, bitmap_to_arr32() was erroneously passed with __ETHTOOL_LINK_MODE_MASK_NU32 instead of __ETHTOOL_LINK_MODE_MASK_NBITS. Fixes: 39461af74125fd268 (bitmap: replace bitmap_{from,to}_u32array) Reported-by: Heiner Kallweit Signed-off-by: Yury Norov --- net/core/ethtool.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 1822335518ea..494e6a5d7306 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c @@ -642,13 +642,13 @@ store_link_ksettings_for_user(void __user *to, memcpy(&link_usettings.base, &from->base, sizeof(link_usettings)); bitmap_to_arr32(link_usettings.link_modes.supported, from->link_modes.supported, - __ETHTOOL_LINK_MODE_MASK_NU32); + __ETHTOOL_LINK_MODE_MASK_NBITS); bitmap_to_arr32(link_usettings.link_modes.advertising, from->link_modes.advertising, - __ETHTOOL_LINK_MODE_MASK_NU32); + __ETHTOOL_LINK_MODE_MASK_NBITS); bitmap_to_arr32(link_usettings.link_modes.lp_advertising, from->link_modes.lp_advertising, - __ETHTOOL_LINK_MODE_MASK_NU32); + __ETHTOOL_LINK_MODE_MASK_NBITS); if (copy_to_user(to, &link_usettings, sizeof(link_usettings))) return -EFAULT; -- 2.14.1