Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp7015101ybi; Mon, 22 Jul 2019 05:43:31 -0700 (PDT) X-Google-Smtp-Source: APXvYqxyZKm+45HpygaQhPaerWViTlDzNCeilQm6DmNVC6JTQ5UuTgbiuCXICJ1qXUaxjUyAVsJC X-Received: by 2002:a17:902:fe14:: with SMTP id g20mr71342855plj.54.1563799411077; Mon, 22 Jul 2019 05:43:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563799411; cv=none; d=google.com; s=arc-20160816; b=JGwK5uIVsdKnLW+9mGtP2KFTdDAtmGqog6cBrmcDDHCoN54s1rrWhIkjTjTHgjo32R rXhMdFC5aEB6j033zfliOaTV0byBxY7ussQOVaWLvZnMXjvLCOcWEGpMzporU0zuv8xL O+ZWmInhPi/MbOdJNY8hYw3KkGWuhp8+PmdZ+A1wsCQhRmNoenDVtGe6aRoxdNzosbab nUOZEEVlF8j1RMbdfrKJyMMyRkFplO7UsTFV1X9wUtXgabsAC3s8WPEYWsKUF39RoVci wq1a08yK3fbU7lYVthcY67MxXz61qDlGEmkqdgiqmWEttSxmqN/QUcPw7fAw/uxquc+N k1Cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=2vUFlSitQcY1TFH2rfMTdF9oyL7Qbe3JTvU3Wn5QINY=; b=Uc7LDmV8mkJKKsK4lWMfQIQQaKCxB7rEfjJ/KEldWUSWj4ahyL5auf4HhmVUD7nTgL pwNsnNBDJE9ztQQP1Iy26vjbHannSbnLJjaml/FR2W0aDujpHLvRTNVoLlsk4Dl6MGnj r+V9tweSFNZsAFVVvKCoZ4FJhWMH6ZHNSFJ12sjWscf6j6zd56bPELCuxwzbyLfr44KQ 9yPm9gWoIPbSkc02vGu+AtAdNW7MJJejRUOiGgfPpwIYwQv637F0JunUkTUMRtbzEhQT y2sqqIyosbnoGyu8eGig1SNfeUCQO2DLXb+384JUkZ8LNkWrrKY/Zkw1C9Ij6Wdu6upH 2ilg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=nt6TVOu4; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k72si13524290pge.95.2019.07.22.05.43.16; Mon, 22 Jul 2019 05:43:31 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=nt6TVOu4; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728769AbfGVLct (ORCPT + 99 others); Mon, 22 Jul 2019 07:32:49 -0400 Received: from mail-lf1-f65.google.com ([209.85.167.65]:34362 "EHLO mail-lf1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726918AbfGVLcs (ORCPT ); Mon, 22 Jul 2019 07:32:48 -0400 Received: by mail-lf1-f65.google.com with SMTP id b29so19134158lfq.1 for ; Mon, 22 Jul 2019 04:32:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=2vUFlSitQcY1TFH2rfMTdF9oyL7Qbe3JTvU3Wn5QINY=; b=nt6TVOu4iAkKDFSGZPQNOeHTWI9r6RCO888UnInPTctKFQb4SPUKOb4hb3y+TW0tL5 nWHI4ewXxHKJXGqakTPMiWpi1a1PCg7FO9kO1aFl4gDpSX9f/u1gsukBLKrTBtYZ+5B0 UxYKeuFKPsBbWjDCQwOR/aT4aA6/LlZ3SBL69mZ9yI5IzenItpEHeCaDGNkRjM1JVjxJ x4b2pvjRfvnGFzB0Jb16NL8LCfr0oE9ycpUE317Yubk+KLzwEwgdiE8uiy+Jwgzv16de ySI8+TmDQJ2xT4UwIr0NYRKVHP/mL3FTBNXvhAPvnLfL0/2sBTS7AKQ3oZ8TUUzJLF8y l3Vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=2vUFlSitQcY1TFH2rfMTdF9oyL7Qbe3JTvU3Wn5QINY=; b=YrSdsL3BYLGYs4nVLFzDuKbWT2owVbg9zOhvSRWhJxOTTRkDhdoN+u2JDENd3iQ8ww U3Cqhtwc8CsSL/2IhvgRivazKEW2Ien2J4/0pEun49DJFHoG8MqEYp9XiiwGBfuZ5wwP q7OtL+TGOG9FiUOnC3EMOyVxJ65UHHUpIvEcEYraK30y7X6kdQ2RRJEXENFOiZCwTyBw v3WGiJDWpH2GvXMshL58IqBkOIe9m7Ir95iTner23DhMxzelr+buXUuN+pO6CM6CbFFR RCERltoH+6XMNoLS2ItRWAE93ipHc2z3WEu6TI0tyLmMV39bVg47fpF2Gbjc50FCXFkH LGow== X-Gm-Message-State: APjAAAWtYol7Th1Pnvdl9G4fHepTW1z6cVkc28mj24rynNwJX61JxWTl zMe+5yThkMIPgb7p4ytJnh7vD+Jp X-Received: by 2002:a19:6e41:: with SMTP id q1mr21350131lfk.20.1563795166545; Mon, 22 Jul 2019 04:32:46 -0700 (PDT) Received: from [192.168.100.6] ([109.252.54.73]) by smtp.googlemail.com with ESMTPSA id s1sm7425675ljd.83.2019.07.22.04.32.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jul 2019 04:32:45 -0700 (PDT) Subject: Re: [PATCH v3 2/3] nl80211: Limit certain commands to interface owner To: Arend Van Spriel , Johannes Berg Cc: linux-wireless@vger.kernel.org References: <20190701153317.27170-1-denkenz@gmail.com> <20190701153317.27170-2-denkenz@gmail.com> From: Denis Kenzior Message-ID: Date: Mon, 22 Jul 2019 06:32:44 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Hi Arend, On 7/18/19 3:24 AM, Arend Van Spriel wrote: > On 7/1/2019 5:33 PM, Denis Kenzior wrote: >> If the wdev object has been created (via NEW_INTERFACE) with >> SOCKET_OWNER attribute set, then limit certain commands only to the >> process that created that wdev. >> >> This can be used to make sure no other process on the system interferes >> by sending unwanted scans, action frames or any other funny business. >> >> This patch introduces a new internal flag, and checks that flag in the >> pre_doit hook. >> >> Signed-off-by: Denis Kenzior >> --- >>   net/wireless/nl80211.c | 80 ++++++++++++++++++++++++++++++++---------- >>   1 file changed, 61 insertions(+), 19 deletions(-) >> >> Changes in v3: >>    - Fix minor locking mistake reported by kernel test robot >> >> Changes in v2: >>    - None >> >> diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c >> index ff760ba83449..ebf5eab1f9b2 100644 >> --- a/net/wireless/nl80211.c >> +++ b/net/wireless/nl80211.c > > [snip] > >> -    return 0; >> +    ret = 0; > > I suggest to keep the return 0 here for success path and only do the > below for failure case (and obviously dropping '&& ret < 0'). Maybe > rename label 'done' to 'fail' as well. > Sure, makes sense. I've made the suggested changes for v4. >> +done: >> +    if (rtnl && ret < 0) >> +        rtnl_unlock(); >> + >> +    return ret; >>   } > > Regards, > Arend Regards, -Denis