git: 26705a39e51e - main - pfctl: Fix crash on ALTQ configuration

Kristof Provost kp at FreeBSD.org
Thu May 20 12:06:40 UTC 2021


The branch main has been updated by kp:

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

commit 26705a39e51eaf5b32efa98fb86df2d4ecfbdc61
Author:     Kristof Provost <kp at FreeBSD.org>
AuthorDate: 2021-05-18 13:03:01 +0000
Commit:     Kristof Provost <kp at FreeBSD.org>
CommitDate: 2021-05-20 12:06:22 +0000

    pfctl: Fix crash on ALTQ configuration
    
    The following config could crash pfctl:
            altq on igb0 fairq bandwidth 1Gb queue { qLink }
            queue qLink fairq(default)
    
    That happens because when we're parsing the parent queue (on igb0) it
    doesn't have a parent, and the check in eval_pfqueue_fairq() checks
    pa->parent rather than parent.
    
    This was changed in eval_pfqueue_hfsc() in
    1d34c9dac8624c5c315ae39ad3ae8e5879b23256, but not for fairq.
    
    Reviewed by:    pkelsey
    MFC after:      1 week
    Sponsored by:   Rubicon Communications, LLC ("Netgate")
    Differential Revision:  https://reviews.freebsd.org/D30346
---
 sbin/pfctl/pfctl_altq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sbin/pfctl/pfctl_altq.c b/sbin/pfctl/pfctl_altq.c
index 6541c031c75e..304bf69d7c7a 100644
--- a/sbin/pfctl/pfctl_altq.c
+++ b/sbin/pfctl/pfctl_altq.c
@@ -864,7 +864,7 @@ eval_pfqueue_fairq(struct pfctl *pf __unused, struct pf_altq *pa,
 
 	opts = &pa->pq_u.fairq_opts;
 
-	if (pa->parent == NULL) {
+	if (parent == NULL) {
 		/* root queue */
 		opts->lssc_m1 = pa->ifbandwidth;
 		opts->lssc_m2 = pa->ifbandwidth;


More information about the dev-commits-src-main mailing list