Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Jan 2021 15:45:44 GMT
From:      Cy Schubert <cy@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: d70886d06316 - main - wpa_supplicant uses PF_ROUTE to return the routing table in order to determine the length of the routing table buffer. As of 81728a538d24 wpa_supplicant is started before the routing table has been populated resulting in the length of zero to be returned. This causes wpa_supplicant to loop endlessly. (The workaround is to kill and restart wpa_supplicant as by the time it is restarted the routing table is populated.)
Message-ID:  <202101201545.10KFjiYU097815@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by cy:

URL: https://cgit.FreeBSD.org/src/commit/?id=d70886d063166786ded0007af8cdcbf57b7b4827

commit d70886d063166786ded0007af8cdcbf57b7b4827
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2021-01-20 15:20:22 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2021-01-20 15:45:18 +0000

    wpa_supplicant uses PF_ROUTE to return the routing table in order to
    determine the length of the routing table buffer. As of 81728a538d24
    wpa_supplicant is started before the routing table has been populated
    resulting in the length of zero to be returned. This causes
    wpa_supplicant to loop endlessly. (The workaround is to kill and restart
    wpa_supplicant as by the time it is restarted the routing table is
    populated.)
    
    (Personally, I was not able to reproduce this unless wlan0 was a member of
    lagg0. However, others experienced this problem on standalone wlan0.)
    
    PR:             252844
    Submitted by:   shu <ankohuu _ outlook.com>
    Reported by:    shu <ankohuu _ outlook.com>
    Reviewed by:    cy
    X-MFC with:     81728a538d24f483d0986850fa3f51d5d84d8f26
    Differential Revision:  https://reviews.freebsd.org/D28249
---
 contrib/wpa/src/drivers/driver_bsd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/wpa/src/drivers/driver_bsd.c b/contrib/wpa/src/drivers/driver_bsd.c
index f99122e477c1..96cf066a7a46 100644
--- a/contrib/wpa/src/drivers/driver_bsd.c
+++ b/contrib/wpa/src/drivers/driver_bsd.c
@@ -648,7 +648,7 @@ rtbuf_len(void)
 		len = 2048;
 	}
 
-	return len;
+	return (len == 0) ? 2048 : len;
 }
 
 #ifdef HOSTAPD



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101201545.10KFjiYU097815>