Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp2302349imc; Tue, 12 Mar 2019 10:58:02 -0700 (PDT) X-Google-Smtp-Source: APXvYqzki5+2AQ64fSRa0RJSr3N66qjXkmz/bcdG5rqtt3+2JD6YQinkhPqFTqmoFd22hKlyqy2T X-Received: by 2002:a17:902:788d:: with SMTP id q13mr41634614pll.154.1552413482758; Tue, 12 Mar 2019 10:58:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552413482; cv=none; d=google.com; s=arc-20160816; b=JpVh9aX17AZaoSgp/XbTRO+hhN5OHVTl+T3ymRB4r+w4c5EizNGafS2ZuNmtG/S3+O XKmVVzHE5jyb2L9jHAWwuxXFo2TuNJVBr04VvUVAPwZO6cnT8MTC7evz9yUebRnkC0ls zX8C0qWC3OJdko3vFPjgo3aUERD9mZIVWwFHa8wmQFHGjCa1pDqIp7yx5lrghEoqn4e2 ni8RgyeEvdJ1Jg6iaWJg1ZvxqQ0pDdejNr0Hn63bo7e/wSD3TGUvJuQA3TTK+MMgQpGm b7HBJggcGtZVgDaiJCrU4FdcM79IYDIlGOXXvKduB2rRjWpArKoGimv4amGc4XXmM5dl wVXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=KLEdho/QZ3M4r9LdWhykUN2ZRom3+RnN/DhNZSSLg/A=; b=XykY5TDeQXDrZp28450hVaA+AfROt0Ptau7SD/0eI+LdHsy2Tnla8m+OSPvJhbgQZH hOu4Md2Rs603jWzLwdeyXiP2ogWZ91Cx2NAT9d9na/LdyaVEb773bmZm+v+ASMzjA2qr WTbVNg4laivSrMVc3JC5HJ+V6NVOjC0viW6HR3+QBCMBRSFt3/rzxZwwhbD1xKwAzEXN vJLlbJEtiMxfPaGa7X7raUeHvJhZurjMdnrIfGHQGcO9ZeZrDdjqT+jFc0Awn65VokBz 9xrxMkvGomCzTuyJ0ugAGi5JVCn7idjRgUiqbYW7f/XQhWrlSDiIdZSmOOzjypW40Twl vRNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FTET5TOv; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a7si8230843pfn.167.2019.03.12.10.57.46; Tue, 12 Mar 2019 10:58:02 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FTET5TOv; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728123AbfCLRNv (ORCPT + 99 others); Tue, 12 Mar 2019 13:13:51 -0400 Received: from mail.kernel.org ([198.145.29.99]:49744 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727879AbfCLRNT (ORCPT ); Tue, 12 Mar 2019 13:13:19 -0400 Received: from localhost (unknown [104.133.8.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4BDCF217D4; Tue, 12 Mar 2019 17:13:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1552410798; bh=kOtjHQJl66byfjxpcZ8qcknYhXokst2XzUsEMKpldJA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FTET5TOvpsjK4bUIz6c+pIY2c2wvW7EArxmo5DL0UEffwEXKLz/QnI1fvXkOvAQaU UK2fUpcM8IyKE4t2w06WZ7Nlm5R91KActXTbXPf4ALyiY1smWKdpv3upc/duWYebsJ FTo+gVe196kbTT07xldXB2dvSLmmMqC2SuK7G8bc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Julian Wiedmann , "David S. Miller" , Sasha Levin Subject: [PATCH 4.20 127/171] s390/qeth: cancel close_dev work before removing a card Date: Tue, 12 Mar 2019 10:08:27 -0700 Message-Id: <20190312170358.679237737@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190312170347.868927101@linuxfoundation.org> References: <20190312170347.868927101@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.20-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit c2780c1a3fb724560b1d44f7976e0de17bf153c7 ] A card's close_dev work is scheduled on a driver-wide workqueue. If the card is removed and freed while the work is still active, this causes a use-after-free. So make sure that the work is completed before freeing the card. Fixes: 0f54761d167f ("qeth: Support VEPA mode") Signed-off-by: Julian Wiedmann Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/s390/net/qeth_core.h | 1 + drivers/s390/net/qeth_l2_main.c | 2 ++ drivers/s390/net/qeth_l3_main.c | 1 + 3 files changed, 4 insertions(+) diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h index 99af1a0a3314..8999be74c545 100644 --- a/drivers/s390/net/qeth_core.h +++ b/drivers/s390/net/qeth_core.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c index 8d3601891c62..49fa09c67d49 100644 --- a/drivers/s390/net/qeth_l2_main.c +++ b/drivers/s390/net/qeth_l2_main.c @@ -823,6 +823,8 @@ static void qeth_l2_remove_device(struct ccwgroup_device *cgdev) if (cgdev->state == CCWGROUP_ONLINE) qeth_l2_set_offline(cgdev); + + cancel_work_sync(&card->close_dev_work); if (qeth_netdev_is_registered(card->dev)) unregister_netdev(card->dev); } diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c index f08b745c2007..d1bf55b5c8e1 100644 --- a/drivers/s390/net/qeth_l3_main.c +++ b/drivers/s390/net/qeth_l3_main.c @@ -2428,6 +2428,7 @@ static void qeth_l3_remove_device(struct ccwgroup_device *cgdev) if (cgdev->state == CCWGROUP_ONLINE) qeth_l3_set_offline(cgdev); + cancel_work_sync(&card->close_dev_work); if (qeth_netdev_is_registered(card->dev)) unregister_netdev(card->dev); qeth_l3_clear_ip_htable(card, 0); -- 2.19.1