Message ID | 58E3AD4A020000780014C9C9@prv-mh.provo.novell.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show
Return-Path: <xen-devel-bounces@lists.xen.org> Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 2D1836032D for <patchwork-xen-devel@patchwork.kernel.org>; Tue, 4 Apr 2017 12:29:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 262D427D0E for <patchwork-xen-devel@patchwork.kernel.org>; Tue, 4 Apr 2017 12:29:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 193A02833B; Tue, 4 Apr 2017 12:29:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id AAD8927D0E for <patchwork-xen-devel@patchwork.kernel.org>; Tue, 4 Apr 2017 12:29:51 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from <xen-devel-bounces@lists.xen.org>) id 1cvNYX-0001Fp-1C; Tue, 04 Apr 2017 12:27:29 +0000 Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from <JBeulich@suse.com>) id 1cvNYW-0001Fj-Ah for xen-devel@lists.xenproject.org; Tue, 04 Apr 2017 12:27:28 +0000 Received: from [193.109.254.147] by server-9.bemta-6.messagelabs.com id 65/B4-03420-F2193E85; Tue, 04 Apr 2017 12:27:27 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrBIsWRWlGSWpSXmKPExsXS6fjDS1d/4uM Ig4YfbBbft0xmcmD0OPzhCksAYxRrZl5SfkUCa8bUGa+ZCjrZKza+6WVsYOxm62Lk5BASyJN4 2rcOzOYVsJN43tjGAmJLCBhKPH1/HSzOIqAqce/NBFYQm01AXaLt2XYwW0QgTGL3vy4gm4ODW cBA4u53ExBTWMBHYtu/WhBTCGjir4WxICavgKDE3x3CIH3MAloSD3/dYoGwtSWWLXzNDDFDWm L5P44JjLyzEBpmIWmYhaRhFkLDAkaWVYwaxalFZalFuoameklFmekZJbmJmTm6hgZmermpxcW J6ak5iUnFesn5uZsYgeHFAAQ7GL8tCzjEKMnBpCTKe9jzcYQQX1J+SmVGYnFGfFFpTmrxIUYZ Dg4lCV6bCUA5waLU9NSKtMwcYKDDpCU4eJREeL/0A6V5iwsSc4sz0yFSpxiNOebM3v2GiePG8 QNvmIRY8vLzUqXEef+BlAqAlGaU5sENgkXgJUZZKWFeRqDThHgKUotyM0tQ5V8xinMwKgnz7g CZwpOZVwK37xXQKUxApzy58xDklJJEhJRUA6NQjeXchcwMl8qXrPvre0puZYLlHP95HnFJPLK bAw739Fw51mfomHbH7fanle9zDPIqK6/u8msyt/dv7Zh1a88xQVm7GyW/ah4tntC0kp2pc0kN W6NJbdu7B6rFu9tTrt7m3ScXdaK55s4UF0WOpwxfbeyyeKX2KLLP5TzyIy6o5t+JOa8Y+JRYi jMSDbWYi4oTAegSk0m7AgAA X-Env-Sender: JBeulich@suse.com X-Msg-Ref: server-15.tower-27.messagelabs.com!1491308845!42661176!1 X-Originating-IP: [137.65.248.74] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 9.2.3; banners=-,-,- X-VirusChecked: Checked Received: (qmail 55677 invoked from network); 4 Apr 2017 12:27:26 -0000 Received: from prv-mh.provo.novell.com (HELO prv-mh.provo.novell.com) (137.65.248.74) by server-15.tower-27.messagelabs.com with DHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 4 Apr 2017 12:27:26 -0000 Received: from INET-PRV-MTA by prv-mh.provo.novell.com with Novell_GroupWise; Tue, 04 Apr 2017 06:27:24 -0600 Message-Id: <58E3AD4A020000780014C9C9@prv-mh.provo.novell.com> X-Mailer: Novell GroupWise Internet Agent 14.2.1 Date: Tue, 04 Apr 2017 06:27:22 -0600 From: "Jan Beulich" <JBeulich@suse.com> To: "Boris Ostrovsky" <boris.ostrovsky@oracle.com>, "Juergen Gross" <jgross@suse.com> References: <58E3AD4A020000780014C9C9@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Disposition: inline Cc: xen-devel <xen-devel@lists.xenproject.org> Subject: [Xen-devel] [PATCH] xenbus: remove transaction holder from list before freeing X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion <xen-devel.lists.xen.org> List-Unsubscribe: <https://lists.xen.org/cgi-bin/mailman/options/xen-devel>, <mailto:xen-devel-request@lists.xen.org?subject=unsubscribe> List-Post: <mailto:xen-devel@lists.xen.org> List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help> List-Subscribe: <https://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xen.org?subject=subscribe> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" <xen-devel-bounces@lists.xen.org> X-Virus-Scanned: ClamAV using ClamSMTP |
--- 4.11-rc5/drivers/xen/xenbus/xenbus_dev_frontend.c +++ 4.11-rc5-xenbus-del-trans/drivers/xen/xenbus/xenbus_dev_frontend.c @@ -442,8 +442,10 @@ static int xenbus_write_transaction(unsi return xenbus_command_reply(u, XS_ERROR, "ENOENT"); rc = xenbus_dev_request_and_reply(&u->u.msg, u); - if (rc) + if (rc && trans) { + list_del(&trans->list); kfree(trans); + } out: return rc;
After allocation the item is being placed on the list right away. Consequently it needs to be taken off the list before freeing in the case xenbus_dev_request_and_reply() failed, as in that case the callback (xenbus_dev_queue_reply()) is not being called (and if it was called, it should do both). Fixes: 5584ea250ae44f929feb4c7bd3877d1c5edbf813 Signed-off-by: Jan Beulich <jbeulich@suse.com> --- drivers/xen/xenbus/xenbus_dev_frontend.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)