From patchwork Tue Jul 27 13:45:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 486717 Delivered-To: patch@linaro.org Received: by 2002:a05:6638:1185:0:0:0:0 with SMTP id f5csp232573jas; Tue, 27 Jul 2021 06:47:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwDk+GVMOIo4scKvTFY5j72roKiUpbz19yys4IOKzZmgq626bpPObFckqiVM7dUWdCQjn7Z X-Received: by 2002:aa7:c9d8:: with SMTP id i24mr27889573edt.79.1627393646224; Tue, 27 Jul 2021 06:47:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627393646; cv=none; d=google.com; s=arc-20160816; b=S4ltqkGdx3Mg2/rE2oj3BYu62/WnbcoYl8frjmC3IKieHJobwSMwh4Blk3Pz+9wHJr 6fxlib/XcRCAXnkAaXvQXiFE5Enx9FzQbRMO15n7UlY8Ug509JBFKanLovU7uJFhcKoM CAZCvbccrTr5vnuE3gN34XCx9FhnluJlNZJM4H7d5g4xQHSNF5UXDD9Yc62iDzz0ICJ6 bHRl4Oup+fm061O8oeMaNIxDFrxKozee+1HiGVypSbvqeA8PgGiS/bhXkDqIoPTEBuOm S8BvOVox8DJkIoK55Opxi5VGAKOCosrsogQJLprhN4v9IIB0gto7NmcSC9Q2Fgqp4euC 6uTQ== 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=wmExwRkVGk1tD/2Nt8wBCxNkG0BRkAV5BUlggd/knUs=; b=VzopnpbUAcV6YCRSL3aXSoxN2FSv2ozzuXI6siWI6fVkdGjWnOp86EI2x6VGFy1tP5 T9xd1ORZNDp0uH+lFPpa9wGZ91Jgy0M1yzUHC3sFw+Uc95sbThxTmWjC5+qZJ4wA0cm6 sug54ZGDAv4annLatflmIcoDTwCdTQe7pORTDfrx5sEvGf/kq2Sv71t6Do4+HV3+ApYh 6RGLaGD02aLtULNa17pAqYteG+V5hw5GYWbcRtvcoVmirFkhdFkxJ9vHwf18erFriPxZ YIN7OHZNrLZ6x+qja9WmRTGpdPlxAjULZdzgHaujbtW5xYCGXTXhNVQAZrQSP+hL7xRT hQ0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=aOM5oATC; 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 z20si2810324ejp.200.2021.07.27.06.47.26; Tue, 27 Jul 2021 06:47:26 -0700 (PDT) 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=k20201202 header.b=aOM5oATC; 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 S237420AbhG0NrU (ORCPT + 8 others); Tue, 27 Jul 2021 09:47:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:47130 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237077AbhG0Nql (ORCPT ); Tue, 27 Jul 2021 09:46:41 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 49FD061AA9; Tue, 27 Jul 2021 13:46:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1627393592; bh=3OUbVD/hQ6DdwiZR/3TAtMQ+KmPu+QhinUU9bz4wEsc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aOM5oATCu5rffTbyDTRISycXVtiHAv82wEjvd4tKLczDQDccEBbS9MG/f1Je29hjj 6GEMsg5gvi/w09mrFZQSdNWkujyapIs27ou0mKt4h1luUkQtqBF7nNMYQeNCcO3NOi imxzw6djZ49Oim1qc5XSuEHfkjQKo4nSEED5pTYtnDB+Kv/7SU4cATAleSU9gLJLI7 fN10KNQPlEqBKpljEwKRi4w6qoevT25F3PIofXuTsofU3RpXB9gSKBZxqoS0Yxfzam IBQA1vQElhHQspVnw0+0ffWCcEp+sgntfG3F2fbvezJn5x8Dt1juscZfJk2jjOfSgk 3PSR6XdauoJ0A== From: Arnd Bergmann To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Jakub Kicinski , "David S. Miller" , Arnd Bergmann , Kalle Valo , linux-wireless@vger.kernel.org Subject: [PATCH net-next v3 19/31] airo: use ndo_siocdevprivate Date: Tue, 27 Jul 2021 15:45:05 +0200 Message-Id: <20210727134517.1384504-20-arnd@kernel.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210727134517.1384504-1-arnd@kernel.org> References: <20210727134517.1384504-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. Cc: Kalle Valo Cc: linux-wireless@vger.kernel.org Signed-off-by: Arnd Bergmann --- drivers/net/wireless/cisco/airo.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) -- 2.29.2 diff --git a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c index fd37d4d2983b..65dd8cff1b01 100644 --- a/drivers/net/wireless/cisco/airo.c +++ b/drivers/net/wireless/cisco/airo.c @@ -1144,7 +1144,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); #ifdef CISCO_EXT static int readrids(struct net_device *dev, aironet_ioctl *comp); @@ -2664,7 +2664,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) @@ -2764,7 +2764,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, }; @@ -2775,7 +2775,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, }; @@ -7661,7 +7661,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; @@ -7678,7 +7679,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; @@ -7694,7 +7695,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; }