From patchwork Fri Nov 6 22:17:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 320880 Delivered-To: patch@linaro.org Received: by 2002:a92:7b12:0:0:0:0:0 with SMTP id w18csp1675628ilc; Fri, 6 Nov 2020 14:20:34 -0800 (PST) X-Google-Smtp-Source: ABdhPJye8XS6nGkYqqlpm4TtnwB1K9PaDjSa0CyecgU8UHFLEd1s7HE4ldNZwNXfK0qntjfu2zSn X-Received: by 2002:aa7:d8c4:: with SMTP id k4mr2645232eds.248.1604701234127; Fri, 06 Nov 2020 14:20:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604701234; cv=none; d=google.com; s=arc-20160816; b=iZACnOie6eDnpWA0b2BtUv9qaAAh7XwRLNymhpLA5kHk1MZUQON1tK6+QB35X25cNb dYkAM9cYTtGzUwCwDo9UBzmhpCP0MrVD9wjbCmrxjPFALr84dkgxb/vZEwItJLBI8N8S lhoykdEstzh8mJd3SgUn0+SJBXhANMaSnCJKuGCyIeevMTzSIOjev8JeAZ8EIDEmzzr6 VzXMuue1Ct61tsWVo1CGgDl2ohemTM9PVuxWrNZnS3hWU0NgwIeYPil92zSdeRGZfCaf 1RA39jzowTTRb6MAbDLTwpkmHrG5PJpUtutd9iaqWltbVXfjza1CFY4zmLHaX4SuYa+o CR5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=01U+2NRFQ6727zscJjAfLao/4muvMtNA9T+ODAFXbF4=; b=yKUjjtyBPd1SzFjhX6GtgNxtKIK01hmqf23gx8z1AiLoxcajpVxoAluqq4VImUSlaI l+Fo4R72dmwYOHr+ipsjd3lLUGhO32sc2pCXf5mcjSPAxBRxUayfAvewtz0DMWAW+p4F r8xlvlLo1U/uHIG1AYDo9VPKuOTi8nNw4Aro5A5t9FzRPVZwMrX564fEFCWaMrYY9XuL EiGerQKNCzoMOltoAOybXsfd2aUU01L1qH03q9aTG+dbVBwTP+EUXjkH7v3nuVc3N7+/ wwEcZ72TKoB7qNhD3J2WviWbZMMQhNhA1MuxnGFAiMIrqyhlhTPWfu0BtZuOkHN7txSy sPXg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=inKXSx7p; spf=pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q22si1856421ejs.100.2020.11.06.14.20.33; Fri, 06 Nov 2020 14:20:34 -0800 (PST) Received-SPF: pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=inKXSx7p; spf=pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729272AbgKFWU3 (ORCPT + 8 others); Fri, 6 Nov 2020 17:20:29 -0500 Received: from mail.kernel.org ([198.145.29.99]:42554 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729092AbgKFWTB (ORCPT ); Fri, 6 Nov 2020 17:19:01 -0500 Received: from localhost.localdomain (HSI-KBW-46-223-126-90.hsi.kabel-badenwuerttemberg.de [46.223.126.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 00519221FE; Fri, 6 Nov 2020 22:18:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604701140; bh=LJtDaUHH63i3o2EMXP8szuWYRpl83P553+fUvMeSGK8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=inKXSx7pu4OlpdzCD5Ep6OcHlKJRGvMAxzNAl2slHhIwVAxkcTQLSF9WIdiliNBcA WWlqw4cwyVvis73M4kp0tBT0Ckf0DK+JRoz8CDsxpgTTnZ4bqmS86gVWOviRFkdiGa 6uIquNqkO2we+L3RPOsWxawVmwrOMXxbf3eUuvnA= From: Arnd Bergmann To: netdev@vger.kernel.org Cc: Arnd Bergmann , linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org, bridge@lists.linux-foundation.org, linux-hams@vger.kernel.org, Jakub Kicinski , Christoph Hellwig , Alexander Viro , Johannes Berg , Andrew Lunn , Heiner Kallweit Subject: [RFC net-next 23/28] airo: use ndo_siocdevprivate Date: Fri, 6 Nov 2020 23:17:38 +0100 Message-Id: <20201106221743.3271965-24-arnd@kernel.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20201106221743.3271965-1-arnd@kernel.org> References: <20201106221743.3271965-1-arnd@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Arnd Bergmann The airo driver overloads SIOCDEVPRIVATE ioctls with another set based on SIOCIWFIRSTPRIV. Only the first ones actually work (also in compat mode) as the others do not get passed down any more. Change it over to ndo_siocdevprivate for clarification. Signed-off-by: Arnd Bergmann --- drivers/net/wireless/cisco/airo.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) -- 2.27.0 diff --git a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c index 87b9398b03fd..045b9bb4db5d 100644 --- a/drivers/net/wireless/cisco/airo.c +++ b/drivers/net/wireless/cisco/airo.c @@ -1142,7 +1142,7 @@ static int waitbusy(struct airo_info *ai); static irqreturn_t airo_interrupt(int irq, void* dev_id); static int airo_thread(void *data); static void timer_func(struct net_device *dev); -static int airo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); +static int airo_siocdevprivate(struct net_device *dev, struct ifreq *rq, void __user *, int cmd); static struct iw_statistics *airo_get_wireless_stats(struct net_device *dev); static void airo_read_wireless_stats(struct airo_info *local); #ifdef CISCO_EXT @@ -2668,7 +2668,7 @@ static const struct net_device_ops airo11_netdev_ops = { .ndo_start_xmit = airo_start_xmit11, .ndo_get_stats = airo_get_stats, .ndo_set_mac_address = airo_set_mac_address, - .ndo_do_ioctl = airo_ioctl, + .ndo_siocdevprivate = airo_siocdevprivate, }; static void wifi_setup(struct net_device *dev) @@ -2768,7 +2768,7 @@ static const struct net_device_ops airo_netdev_ops = { .ndo_get_stats = airo_get_stats, .ndo_set_rx_mode = airo_set_multicast_list, .ndo_set_mac_address = airo_set_mac_address, - .ndo_do_ioctl = airo_ioctl, + .ndo_siocdevprivate = airo_siocdevprivate, .ndo_validate_addr = eth_validate_addr, }; @@ -2779,7 +2779,7 @@ static const struct net_device_ops mpi_netdev_ops = { .ndo_get_stats = airo_get_stats, .ndo_set_rx_mode = airo_set_multicast_list, .ndo_set_mac_address = airo_set_mac_address, - .ndo_do_ioctl = airo_ioctl, + .ndo_siocdevprivate = airo_siocdevprivate, .ndo_validate_addr = eth_validate_addr, }; @@ -7650,7 +7650,8 @@ static const struct iw_handler_def airo_handler_def = * Javier Achirica did a great job of merging code from the unnamed CISCO * developer that added support for flashing the card. */ -static int airo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) +static int airo_siocdevprivate(struct net_device *dev, struct ifreq *rq, + void __user *data, int cmd) { int rc = 0; struct airo_info *ai = dev->ml_priv; @@ -7667,7 +7668,7 @@ static int airo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { int val = AIROMAGIC; aironet_ioctl com; - if (copy_from_user(&com, rq->ifr_data, sizeof(com))) + if (copy_from_user(&com, data, sizeof(com))) rc = -EFAULT; else if (copy_to_user(com.data, (char *)&val, sizeof(val))) rc = -EFAULT; @@ -7683,7 +7684,7 @@ static int airo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) */ { aironet_ioctl com; - if (copy_from_user(&com, rq->ifr_data, sizeof(com))) { + if (copy_from_user(&com, data, sizeof(com))) { rc = -EFAULT; break; }