From patchwork Wed Jun 30 18:12:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Van Parys X-Patchwork-Id: 1499038 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: 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=visqy+qQ; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=softathome1.onmicrosoft.com header.i=@softathome1.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-softathome1-onmicrosoft-com header.b=PmikkzBS; dkim-atps=neutral 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 ozlabs.org (Postfix) with ESMTPS id 4GFV0l3y71z9sTD for ; Thu, 1 Jul 2021 04:16:36 +1000 (AEST) 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=X0GLz7n0nHDEZ/8JyXhbdo4vNBNnsPlQLjvsj+KIvEs=; b=visqy+qQ6Lk574 DKuZ8bme3FEM3PUrrJcQeVZPyAPmsy8F8bfxJntGwMZeUTa86hUPPvG+1pd68xO3j43a/LhRJzPQv cdiqqykbF8qiCFmmnRNtLqdwDrGWPgNevJLn/wRG2rRZWJHAfp9eMSXxSIusqKTi6zMAmkWScLBhL uHb/gKgv8Bg1dxpuNLwX+ARZ3OpofCeDWmXinDpCIf0zby5ybJQ+PHqskmXlwpTQd5FoeaMNQ28cg kY+bDVbvmF28dqqNUxCdaJDAKZ7krVC6zKm9vpgsjbLJCKGQWycUSKrbtSom4I7bbfxJIUSHck4IO ET7Ifmbs21VJu83T35Xg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lyeig-00Etnv-SS; Wed, 30 Jun 2021 18:13:55 +0000 Received: from mail-eopbgr120084.outbound.protection.outlook.com ([40.107.12.84] helo=FRA01-PR2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lyeic-00EtnT-OV for openwrt-devel@lists.openwrt.org; Wed, 30 Jun 2021 18:13:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C/AFWXU3neCvPtQuukino9UgJyxgKjGP3bfH6B51ht76XtonCH7eOOvChOWrMwbvZ84V7iylD3dZP87zcT8oMj0nGrHI90daX+v5kTsfGRb+M+pUeyAT/FUjtezsL9ZpSFMAIpzXNHJFcD90cUG2h/go7PL496Zk+eMzQA3Mw1shrU4As83iGJ8mPpW56AlrnkvYb2eDXPFhXqyMJ9y5IpV1ZMSoPV8ZbjithwIJmo7KC1uQKO7lCXx+LsDZ+twE4dqhUG2ia2B+3F5BYmt7nmirake72edBWz6YhmB6ajIizYUaCk6RcbS5gZCD/s6CYPEvrrQIP4Oh2cABjWZ4Pg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/fZaNlNlHS/lF5eHutxR6V4/s430suZ97C2nGCQix7Y=; b=dqh6iMWjBEUZKBiaxGt297sWpR0m22NXx8uvnBJ485e+y72oe26s7Wmqy3WngQr+dx5CGt7ZoXk4a4plJAgSidzIicnqIaiuVKYT/VuoHG9vsGfTHaTmBGmuBOc2cGCg+0t+zKIMFOPvqwKImozdNtWV4qLuRzSuZoN05k8iMUDVyjbUbwqxPdSi6SP7z1lIrJi/0fyUcgmbVIlvOB6s3bB2MadJNst9rW2z8u33A/9/MLakC4gCdJs52QAKy4Isk6qQJXvs/8zZfpoLVdzXdDMK15ZqnbhsvLWB5eX7Z9IMpGZofXA+R21Kb6ufWZdPQaPDWHZ2pucv1RoVgB5TsQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=softathome.com; dmarc=pass action=none header.from=softathome.com; dkim=pass header.d=softathome.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=softathome1.onmicrosoft.com; s=selector1-softathome1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/fZaNlNlHS/lF5eHutxR6V4/s430suZ97C2nGCQix7Y=; b=PmikkzBSSCwpDOl36JZVtcSyuz+C5XznGMKDlRwUhS9vo7QlscRhprzxZ6bHwPyfjsPztjXlfeJDKlowd3gKcSoEEN0QOasDADGJAmwUQ1XkJ+ZMrkh31ltxKIXUTH/DxzC5etPRGlq19czsz8OtYyeAV5tjSdJMrWJwmKdPChQU1U6F+l2IWPy37aSXr9SxQMhsSRhjog4JQaCGP7l2gXYJp5K8I5I2Ga86OZGyQyFcErpF46ekKFk5O/QbmB/MIYLdPfpJpxNzLsIs/FXmpXabkk5tCtCQvUBB5nGXnGg2AwC7NrTXS45PI7HM1LHGhTH1WD8DRNFEf0GwWrKdeQ== Authentication-Results: lists.openwrt.org; dkim=none (message not signed) header.d=none;lists.openwrt.org; dmarc=none action=none header.from=softathome.com; Received: from PR0P264MB3032.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1d7::21) by PR0P264MB2010.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:16e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.20; Wed, 30 Jun 2021 18:13:45 +0000 Received: from PR0P264MB3032.FRAP264.PROD.OUTLOOK.COM ([fe80::c9ea:7456:e73a:f812]) by PR0P264MB3032.FRAP264.PROD.OUTLOOK.COM ([fe80::c9ea:7456:e73a:f812%9]) with mapi id 15.20.4264.027; Wed, 30 Jun 2021 18:13:45 +0000 From: Alexander Van Parys To: openwrt-devel@lists.openwrt.org Cc: Alexander Van Parys Subject: [PATCH] ubusd: fix tx_queue linked list usage Date: Wed, 30 Jun 2021 20:12:46 +0200 Message-Id: <20210630181246.85610-1-alexander.vanparys_ext@softathome.com> X-Mailer: git-send-email 2.25.1 X-Originating-IP: [213.219.158.47] X-ClientProxiedBy: AM4PR07CA0004.eurprd07.prod.outlook.com (2603:10a6:205:1::17) To PR0P264MB3032.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1d7::21) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from PC-Alexander-Van-Parys.be.softathome.com (213.219.158.47) by AM4PR07CA0004.eurprd07.prod.outlook.com (2603:10a6:205:1::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.8 via Frontend Transport; Wed, 30 Jun 2021 18:13:44 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d4fe28a6-dcc4-497b-be1a-08d93bf2ccaa X-MS-TrafficTypeDiagnostic: PR0P264MB2010: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: A02sm831oeWY+mh2wSTJRrw7jKQR151KF/x0IfsrDSbfk0AwR0T2lPtxm4aG968EMAPfoKp7WUB62uIpJ9rJr7yUcdy0Wo4T9eHlLyVI4wKLBIzBYOnpQ/S3srYxSMAnxy0ptUElGve0psCT2oeP1cycGml3GV3TVARq+f43JhuIipbhh+W6MIPtLa8DQMSKj1fYIUtDX2+fPQVfrn3vbrGHofh1WqZTm3EIIM7M5ET/OIPJM7ScLS6b2fQ3D29NIX8Q4iTqSuA3crUz1tLOem/24cYnRtyClKdm+10KcinXj3DOsEGaOrb1YyBdY37CyeqMjnLCMIv20AkI+2XyW2THGF9CzLmr/pwvQGJygqNNofzDKkP5TF3+MLpuhVOMAhKasgehHjDLk0GxhI+UermcZLTWss1ISb7ZEPV0oRkDZZ3Jh5Fc7YqIi0PySKF+GcReYqc7RZ1OfsunSTwNFeE7SgoUqNrCvi+RHzJbk4XT153wy531LCqAIw7jqd9eKkYUDwo9y/HLS77apoVWuPkv9tjllSLbl1pJvtI0El3lBHXBtWZiQ/U8uTEBcgjwXi0sxbI6f80c8IXgeGloJe10DC7eTzr/3SwPT2k6qfPqebUXMdIaJodTItTWJqXsIkxyXicQyR8qS6XBIHmPGHU2gr9/br10RBgyhuv86hyI4R8RzTFAOJhCseldzjqLlZOFHAuqacMAO7fzHFNgyg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PR0P264MB3032.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(366004)(39830400003)(346002)(136003)(52116002)(316002)(7696005)(478600001)(38350700002)(38100700002)(8676002)(1076003)(4326008)(36756003)(107886003)(2906002)(83380400001)(2616005)(956004)(8936002)(6486002)(186003)(16526019)(6916009)(66556008)(26005)(5660300002)(66946007)(66476007)(86362001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: aRI5bQNcW+rDjX0it4uN5ypqGgZcTaALWQokikIXqPh0/W1D7zclAUKWuSwKzWY6o3ZaYnqbhYrm+SkBzWM6b2zp8kYDid7kMjSTBPrdbn+Xmn9GXRtV8bcCymso7lV+jDARpvXnQ6xFyL/7b8106/Oro3l7warF/TGMOlEBxmAbuuBMDUZf+jNWGEFPBZLJHAQwM/n1J98FMYQyURLKhVnNNsEdeEP3vgAWiMi4bJJGyxNdGLBDZbiXc+kwJyiaq2asWohBMoJtXPKhygwesk+eAuDw7eDUkFL8AIeIZorTBC2/k//2jbxXKe7eeoLWSG0DGg575zleK2wuK28smlFE9j9k0wjOyY6L34OahHqsrjS9cvqMyuu0MmSo3UjEHlZ2tOFOo13FcgyzpoyrrAXN/ik/PNzmZfSXPpzI55ejHHmnnjkMnyqkJ9NDAlYEss5h/WRsWjATdB5MQ9zGVZs0EkMB9b9n1tYKNOFJPX24XOjxFwwsnOSm8t5Fv9Xs35b309MVwndFb0zlIuSmbaFT21KFwxXOxlcjsUpY8AIVW0gl4JwVPftk2EOLZHb1dhZ1H+GsmjZhwbjsQ2oB1Am312j3gMbx3C+ZuhtEUlXwotCN3O3CHjo0GQui5hvsYiov0GZKtEmMfhkG/utqRxP+j2qWd1EU6L6ALqIuHn3vF48gkwLElWGYUI8sWBp8VsULXhlM8u9Si2rK3KApUTZ49kjNXmhzPG00QmefVvBi9RSxnv+v7S/Pk+3+36f+wmUtmiYfUtToGO6UV3LVfT1s77LK/NTqewgVSx7Fv0GRRRGmHVRe3inH2MNQHH6bhb4Qg98Co741kHgWSkKbnml5kGH81kuC0mh/WrTUDhjvjxGPj4Q2MYPu3Y+Q8tmhqXr+hW7aphKicNgKd0B+UeSbbjoba41//OA0kryNxmvfj/xdNyptmyLqKjxqEUjPh2vdHyFN6Uwz8tOywPQ8eGG2dki9wHVpR+1Du9CBFyTScV5hc7LePguHdgbo3Nftnu9Hz++NZPBzXOqOEsrLK2JQlqUnr1cE6N0kfLiUWSvua4WFp943aEZnll33oDh/eEfh0hCRuBSl5VAK9aUpT0LCbIP/Wb/rD3J80+FGVmny5+yRlzqDLE6T0mH94ZiqQwKSWJJP4zRJvuW2zRHIPRybJ9b+E03B+DxZD/4WNaHbMP0Pp+uuRju8Cv+xAcFE9x19PGLlybCO5RVlFHIn7J75kIshzIM58doUDbhgdyOZCBqQ7vNVXVTQlu9X6lOPWFz02+/4AdbHVTdTG2ORFcORcVEQmj9HdVrkBY0jHZBu8r5CUicmw6krFDjcp4im X-OriginatorOrg: softathome.com X-MS-Exchange-CrossTenant-Network-Message-Id: d4fe28a6-dcc4-497b-be1a-08d93bf2ccaa X-MS-Exchange-CrossTenant-AuthSource: PR0P264MB3032.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2021 18:13:45.2796 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: aa10e044-e405-4c10-8353-36b4d0cce511 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NZBTUxRqy8DDtQBzCiZw+UxcII/5qtNFAzyllsuscpG9rY6jo9owvMLy/gOfkjvAuuWCrY9ThiDS3L5+ar+I/RqVMapSrr7IK5D0ykGJNTgYccYMTkUYVxmuA2LAJ5MV X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB2010 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210630_111350_907319_9F4E9291 X-CRM114-Status: GOOD ( 11.32 ) X-Spam-Score: -0.0 (/) 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: Use the correct parameters for list_add_tail when enqueueing a message in the tx_queue. Previously, list_add_tail(list, entry) was used instead of list_add_tail(entry, list). Due to this, the list wou [...] Content analysis details: (-0.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [40.107.12.84 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [40.107.12.84 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -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.0 MSGID_FROM_MTA_HEADER Message-Id was added by a relay X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org Use the correct parameters for list_add_tail when enqueueing a message in the tx_queue. Previously, list_add_tail(list, entry) was used instead of list_add_tail(entry, list). Due to this, the list would only contain the latest entry, and previously inserted entries were left dangling. Reset the tx_queue offset after a message from the tx_queue has been sent completely. Signed-off-by: Alexander Van Parys --- ubusd.c | 2 +- ubusd_main.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ubusd.c b/ubusd.c index 0e1b0c9..1d76b72 100644 --- a/ubusd.c +++ b/ubusd.c @@ -154,7 +154,7 @@ static void ubus_msg_enqueue(struct ubus_client *cl, struct ubus_msg_buf *ub) INIT_LIST_HEAD(&ubl->list); ubl->msg = ubus_msg_ref(ub); - list_add_tail(&cl->tx_queue, &ubl->list); + list_add_tail(&ubl->list, &cl->tx_queue); cl->txq_len += ub->len; } diff --git a/ubusd_main.c b/ubusd_main.c index 4ea5245..d454b1a 100644 --- a/ubusd_main.c +++ b/ubusd_main.c @@ -78,6 +78,7 @@ static void client_cb(struct uloop_fd *sock, unsigned int events) if (cl->txq_ofs < ub->len + sizeof(ub->hdr)) break; + cl->txq_ofs = 0; ubus_msg_list_free(ubl); }