From patchwork Tue Dec 14 14:29:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ouden Lin X-Patchwork-Id: 1567760 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=dKoHO/ME; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=OQKa0KGG; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JD14P2pvYz9sR4 for ; Wed, 15 Dec 2021 01:30:13 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=3+rlTYa1pGTCIIUEFDbjxCI9Uzub3rBU18KlEM5UwnU=; b=dKoHO/MEEK1RGa yZRrmVi6ZbbqG58IciNJrAYdb5xM5olisBe7V87lSjt39nQtiRNTorlDBnY4BVTnPtFCwXT6WyVt0 icvg7LRTQEo/+6oa+unXdtD3+AOjcPrpfU/fzNiW2B9s5b8gNylxSplJQjcrBs1yguFIZRnCq7y5i Xoh7jvvqFVVOmmc9cNQVk0lJ8280eaxevhGZSudxISHZTVpZc8xm1fWIWvq246W/9z2wiWfvAh9pZ qEQ0BSR0j15bKM+q457VdDz245V0Egm2emcPWEQ0IyVqwv/LD73njTsL/k2lDCfkrS2xD4HfR6JCc xv+1a3naQAVvb9LtRSEg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mx8nw-00EPAy-HR; Tue, 14 Dec 2021 14:29:20 +0000 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mx8nt-00EP9j-QA for hostap@lists.infradead.org; Tue, 14 Dec 2021 14:29:19 +0000 Received: by mail-pf1-x42c.google.com with SMTP id r130so18017457pfc.1 for ; Tue, 14 Dec 2021 06:29:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=4iiaqRnG00HF+fwVz43rsjZu5sCDA/UzbSy+zhH7Hpo=; b=OQKa0KGGCDnjMubYaYgXnYJJAl/KKalZ7updCcwRnM1qTQqs0US3SitYIkG3GzCjd9 SJOCLJwHSIuLkcYgvA+FpKM0b2Gu4yVFGPWE13d08pHNwbSWtOcRx8QdArQYnbNt+BMb uKKO5BDn2pXx0hRqZ9fjZ4dXlQf9YqSyMrOhH4NMeFERnOla8wuv8dLl98TgGxdYFNrA biTYEz0nq6zGRB+t6ur2XbhES2P5f3W/lnPoMEwUOs+OW9En5L0RXulFqYaK3t4lWIV6 hHg0D+YjRb8yjMWkvmLZfpWXC4i6A5Ude2C5Vdxvg7W15SzqTfRqm6ZsTj7YhHEKHv+W TDBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=4iiaqRnG00HF+fwVz43rsjZu5sCDA/UzbSy+zhH7Hpo=; b=d2Uwf4kTNc3RFLW0G92YwheoNV46mc+PgVAB9UXUBYt6T06Rz5zmUHUKU1el2pUlGG lLQvlpqjB4HNcysp1rhvTIkY+1DwjFVuFB9Hd2Enq55XCcwYEJYKQh3ALzCbH203az5R 4jezDr4vCixyuaMRkyRpuL6uq5ZpBcvOEriw/c0vFlBSmmwyRdaUVbyJNbRolIdz5T7F f0pOS0MG1cZtyBP0TuRdg0+zC/0HIJ0DP6dOyhDEv/9y2AoAB3GPW3HenJTBmZoVcxjg CTmYa5f7NBTGH24ZdrllYqMWGr5Sd1gEJ1F/qryHtDl2GmIH4WTX1/56oEu9Rr9YW4Do m3Lg== X-Gm-Message-State: AOAM531SFeDJ5rn6FjXsookdH+9fBf6F6EQFqfocRzaIdLMD1Bc5ZuKs /K93pykdroVr4hN72aZrXKXyBAh46NPiNA== X-Google-Smtp-Source: ABdhPJwkVfcOyq8tK5PqPFmW2CZsrEcocJB9MBSitYNVM/1dZtQHbyWN8gvb9DffR35rxkqCpZcT3Q== X-Received: by 2002:a63:d811:: with SMTP id b17mr3879456pgh.562.1639492156468; Tue, 14 Dec 2021 06:29:16 -0800 (PST) Received: from localhost.localdomain (2001-b011-7004-3b3d-bdd9-c4d4-fb9d-ff38.dynamic-ip6.hinet.net. [2001:b011:7004:3b3d:bdd9:c4d4:fb9d:ff38]) by smtp.gmail.com with ESMTPSA id j7sm3131285pjf.41.2021.12.14.06.29.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Dec 2021 06:29:16 -0800 (PST) From: Ouden Lin X-Google-Original-From: Ouden Lin To: hostap@lists.infradead.org Cc: Ouden Subject: [PATCH] nl80211: Clear preq NL handle before setup AP or GO Date: Tue, 14 Dec 2021 22:29:06 +0800 Message-Id: <20211214142906.5958-1-Ouden.Biz@gmail.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211214_062917_875384_F5430FA0 X-CRM114-Status: GOOD ( 13.22 ) X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: From: Ouden When entering the P2P connection, the radio working "p2p-listen" will enable and disable the probe request report. This will set and clear the pointer nl_preq. In the state WAIT_PEER_CONNECT that init [...] Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:42c listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [ouden.biz[at]gmail.com] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: hostap@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Hostap" Errors-To: hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org From: Ouden When entering the P2P connection, the radio working "p2p-listen" will enable and disable the probe request report. This will set and clear the pointer nl_preq. In the state WAIT_PEER_CONNECT that initiates the negotiation, the disable probe request report will not be triggered. At the start of GO (start AP), Unsbcsribe mgmt will delete all management reports, including Probe Requst, However, nl_preq is still not deleted. Finally, Go cannot enable probe request reporting until the trigger is disabled. Logs for as: P2P: Go to Listen state while waiting for the peer to become ready for GO Negotiation P2P: State WAIT_PEER_IDLE -> WAIT_PEER_CONNECT P2P: Starting short listen state (state=WAIT_PEER_CONNECT) nl80211: Enable Probe Request reporting nl_preq=0x562934543420 nl80211: Register frame type=0x40 (WLAN_FC_STYPE_PROBE_REQ) nl_handle=0x562934543420 match= P2P: GO Negotiation with 00:AA:BB:0b:f0:3b P2P: State WAIT_PEER_CONNECT -> IDLE P2P: Skip stop_listen since we are on correct channel for response P2P: State IDLE -> GO_NEG nl80211: Setup AP operations for P2P group (GO) nl80211: Unsubscribe mgmt frames handle 0x8888dea1bcc6c2c9 (start AP) nl80211: Setup AP(wlan1) - device_ap_sme=1 use_monitor=0 nl80211: Subscribe to mgmt frames with AP handle 0x5629344e4a40 (device SME) nl80211: Probe Request reporting already on! nl_preq=0x8888dea1bcdcbca9 When device_ap_sme=0, nl_preq will be cleared in nl80211_setup_ap(). Therefore, this patch will ignore device_ap_sme if it always needs to clear nl_preq first. Change-Id: I318ead337928e0f757bfaddfe808d967b05069b0 Signed-off-by: Ouden --- src/drivers/driver_nl80211.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index aec179ac3..511877630 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -5574,8 +5574,11 @@ static int nl80211_setup_ap(struct i802_bss *bss) * devices that include the AP SME, in the other case (unless using * monitor iface) we'll get it through the nl_mgmt socket instead. */ - if (!drv->device_ap_sme) - wpa_driver_nl80211_probe_req_report(bss, 0); + if (bss->nl_preq) { + wpa_printf(MSG_DEBUG, "nl80211: Disable Probe Request " + "reporting nl_preq=%p", bss->nl_preq); + nl80211_destroy_eloop_handle(&bss->nl_preq, 0); + } if (!drv->device_ap_sme && !drv->use_monitor) if (nl80211_mgmt_subscribe_ap(bss))