From patchwork Wed Jul 22 14:53:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Belits X-Patchwork-Id: 1333926 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=marvell.com Authentication-Results: ozlabs.org; dkim=fail reason="key not found in DNS" header.d=marvell.com header.i=@marvell.com header.a=rsa-sha256 header.s=pfpt0818 header.b=MjhfU9Nt; dkim=pass (1024-bit key; unprotected) header.d=marvell.onmicrosoft.com header.i=@marvell.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-marvell-onmicrosoft-com header.b=t12xrwfT; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BBdkt4qfDz9sSt for ; Thu, 23 Jul 2020 00:53:42 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732702AbgGVOxk (ORCPT ); Wed, 22 Jul 2020 10:53:40 -0400 Received: from mx0b-0016f401.pphosted.com ([67.231.156.173]:33912 "EHLO mx0b-0016f401.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731856AbgGVOxj (ORCPT ); Wed, 22 Jul 2020 10:53:39 -0400 Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 06MEnMNS012667; Wed, 22 Jul 2020 07:53:03 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=pfpt0818; bh=rlCXkoep0UYBt/xn1VMY0GqZr1LqNLBz/I0H/s5wz4E=; b=MjhfU9Nt2ufW+1bfPMrlXZJGKuncVotU/GzcLWmzZ7Uv4uM6yU+QmPeQcXcYKW5UGGyQ nugjHB+qlZ8ldo2nDj6ej+m2FiLdwhW3JGN1TscRDzTBrvMz/evpyP/0NvglaBgOSUhV HhNe3u3yUPdNnBE81Gl00gfltG4pZmwKhb7wi6rf49LsNTDPpoXtvDeLkR0xDLC9eILT Y6qaO667jdpuU5Paj2wiysbjFYxbOpjtzJwugfVHYHB9e0FndUgYWvdJbZxRsmyeKMXQ 77QiCSl862lNwop8qne9viVEc6j41dotFdDf4JkRU7X4DfziYvGusQfJPdkGuOSfrFO8 YQ== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0b-0016f401.pphosted.com with ESMTP id 32c0kkrb3k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 22 Jul 2020 07:53:03 -0700 Received: from SC-EXCH04.marvell.com (10.93.176.84) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 22 Jul 2020 07:53:01 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.175) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 22 Jul 2020 07:53:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fk5un9GZrx5RJVEdctPysT0WIHSlBjlHLuVrMrX/ukc3oAq0UyBRXANFYlmTcK7ut+eBk4235J35gEcbV5jg+ElNH4HIZcnqeSbGVSCCYYjyWIA3ell7iBVpfd66fX7ZbmkKdHTtV4yk/YrmFCntw9txhLlAko84Ds2x1AfMaVS2OSvLWJqLr9F2kPlzubPs9ceouU8vPpR7xfkt/vl0jugTjfmvn2Nnf/BgW1OpJBHgBZpq4nn8wxnFLXrbVmV9PmAAYzv4VpdCptB2CBJzdzJhyxMsE0gmim4SQsrHeMCXcbG5DDQjbw4iQJdN7vcelBeYaCeQ2/4iSN1Vl7Rrpw== 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=rlCXkoep0UYBt/xn1VMY0GqZr1LqNLBz/I0H/s5wz4E=; b=S/vjIW3Wy4zB00bS7ScmOrd92/94o8VnBYP0w4bxIGntKrDuPCfs+ZcgZVlH8XmzULBRsMc2mvT5OxmigSHuAA9AYqqZuK+zcXOFRKl0ZTfSCbafkBiFq1LGTHifkg6oI5CITJojOwKGZKwGxxZpWpcJwC6ac6fYcjB+o8q7U4a4GWkChjJObUvYzfT8XGNKh+X82fGVtRrR1PK9Pa3+w3cCBaBiKCFth+1UC7xNPHrlUYYCUN4djvd9+8ENF5Ku5Y55rAaOvgBpZVqA4jFQGp1/h0cH+iaXdjll98tvYzj8cgabwrMeYQWaC3fXtj4px88/i8O42ysfB+4bNlwzXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rlCXkoep0UYBt/xn1VMY0GqZr1LqNLBz/I0H/s5wz4E=; b=t12xrwfTxsDqP45/4k5EgaU0k3ATC3mqRoEVR5qNqn/AxqdwS5ZmcCaU94jiqKxzEiImfp6b+UrWrZA2mB59DGAK/C2/hUiP67EC45Bc6SaDkqo3JYKxO63Vng6a061x233Sf+fjHRZZ9AK0KSX/uoVIbjE3/TwX/Z4hiHRyG2M= Received: from MW2PR18MB2267.namprd18.prod.outlook.com (2603:10b6:907:3::11) by MW2PR18MB2156.namprd18.prod.outlook.com (2603:10b6:907:a::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.24; Wed, 22 Jul 2020 14:53:00 +0000 Received: from MW2PR18MB2267.namprd18.prod.outlook.com ([fe80::b9a6:a3f2:2263:dc32]) by MW2PR18MB2267.namprd18.prod.outlook.com ([fe80::b9a6:a3f2:2263:dc32%4]) with mapi id 15.20.3195.026; Wed, 22 Jul 2020 14:53:00 +0000 From: Alex Belits To: "frederic@kernel.org" , "rostedt@goodmis.org" CC: Prasun Kapoor , "mingo@kernel.org" , "davem@davemloft.net" , "linux-api@vger.kernel.org" , "peterz@infradead.org" , "linux-arch@vger.kernel.org" , "catalin.marinas@arm.com" , "tglx@linutronix.de" , "will@kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "netdev@vger.kernel.org" Subject: [PATCH 06/13] task_isolation: Add driver-specific hooks Thread-Topic: [PATCH 06/13] task_isolation: Add driver-specific hooks Thread-Index: AQHWYDfLEWm/FvU9QkyARg4LLZWHYw== Date: Wed, 22 Jul 2020 14:53:00 +0000 Message-ID: References: <04be044c1bcd76b7438b7563edc35383417f12c8.camel@marvell.com> In-Reply-To: <04be044c1bcd76b7438b7563edc35383417f12c8.camel@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=marvell.com; x-originating-ip: [173.228.7.197] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 941caea6-85ae-48c4-c967-08d82e4eedac x-ms-traffictypediagnostic: MW2PR18MB2156: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1265; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: e+/lkENi//xP0xCnYw/iMnLdYw/4LHjp/pHNBdvRUrZIfi4Eu8cPrGkcN0MZd3c6ho0KeZHeHveR7V9Z6/WMydBP/teOVeS4Swh+x4XgqNiu+MuSH3ksEfKJ3M7vIIPtZkvjhTQtVRjIOj5PSpYGeEar+awDwVXOc85ytuwb4tPIF6/0wv7vMpf+CdB2N+8tTb3yQGtparWOe0cZeQrSB0Utomq3+Rrg7cq+MrxkXPLI/yENZGSmJDVxUOw/ILDV2zQuAH5X+WH0XL1WcCBCnhYkOVlyWxPMqMnFTIG2yHLGA/psvVK5e3N9PK4SgdcG x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW2PR18MB2267.namprd18.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(39860400002)(366004)(376002)(396003)(136003)(346002)(110136005)(6486002)(2906002)(6506007)(54906003)(66476007)(478600001)(6512007)(8936002)(2616005)(8676002)(316002)(4326008)(66946007)(186003)(64756008)(86362001)(83380400001)(76116006)(91956017)(5660300002)(66446008)(36756003)(66556008)(26005)(71200400001)(7416002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: ierTVGVynEljc2zjIfdxUxy1AnLyVWKAspNPOj6U+tUY+NtiNXpGkBQNen/J02bZPvjDT/7PkL6B3mFmN85pXPNGg/G3LH88VA/ecEksHEOS6t7VCto0M+Bq5Wt5Ke5eiUquQWy/X4dm/LeTGrqO2XNqfT09a9CcDg7nsEsNtIXiusd3XzlwfmEwtriT+LPBoSuVBybD+puZS/M31en1FXlr1uerCXmPN0e6TEE1v6vfcAknMpdIP2ZRNEsgdMaHqiHS/6XKMcWW3KqsO8iKCvZ9ydOT578yiTQcEwGR9g95NEV2qurdgO9Wa5WMIWIAvGjRckqVu4qAbGuMOAMbhUiFbFzz9flHA9znmYe4VtdbOVVvqGmwIpQrDs/TehbksfeJ57wKqsHjxJ7V8+0MilrK6/woLQKPL27MDwbUKxNMS5RtkzqcH7fFxJo3rUZO+r0kH6DKLYwK/ocy1cw/7Ea56d7ev8wNbmGV/vHdgkI= Content-ID: <29DE6F6283742246B93D47862FFA4D3C@namprd18.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR18MB2267.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 941caea6-85ae-48c4-c967-08d82e4eedac X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jul 2020 14:53:00.1246 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: i6spHPWJA0C7NEFTOGUFpdp3ix0iQwF+RWr2Ma5BSII6XObz4fXOkBST2aIuddXSgebnWAvBPHsoTJ8ZBT2BYQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR18MB2156 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235,18.0.687 definitions=2020-07-22_08:2020-07-22,2020-07-22 signatures=0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Some drivers don't call functions that call task_isolation_kernel_enter() in interrupt handlers. Call it directly. Signed-off-by: Alex Belits --- drivers/irqchip/irq-armada-370-xp.c | 6 ++++++ drivers/irqchip/irq-gic-v3.c | 3 +++ drivers/irqchip/irq-gic.c | 3 +++ drivers/s390/cio/cio.c | 3 +++ 4 files changed, 15 insertions(+) diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c index c9bdc5221b82..df7f2cce3a54 100644 --- a/drivers/irqchip/irq-armada-370-xp.c +++ b/drivers/irqchip/irq-armada-370-xp.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -473,6 +474,7 @@ static const struct irq_domain_ops armada_370_xp_mpic_irq_ops = { static void armada_370_xp_handle_msi_irq(struct pt_regs *regs, bool is_chained) { u32 msimask, msinr; + int isol_entered = 0; msimask = readl_relaxed(per_cpu_int_base + ARMADA_370_XP_IN_DRBEL_CAUSE_OFFS) @@ -489,6 +491,10 @@ static void armada_370_xp_handle_msi_irq(struct pt_regs *regs, bool is_chained) continue; if (is_chained) { + if (!isol_entered) { + task_isolation_kernel_enter(); + isol_entered = 1; + } irq = irq_find_mapping(armada_370_xp_msi_inner_domain, msinr - PCI_MSI_DOORBELL_START); generic_handle_irq(irq); diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c index cc46bc2d634b..be0e0ffa0fb7 100644 --- a/drivers/irqchip/irq-gic-v3.c +++ b/drivers/irqchip/irq-gic-v3.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -629,6 +630,8 @@ static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs { u32 irqnr; + task_isolation_kernel_enter(); + irqnr = gic_read_iar(); if (gic_supports_nmi() && diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index c17fabd6741e..fde547a31566 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -353,6 +354,8 @@ static void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) struct gic_chip_data *gic = &gic_data[0]; void __iomem *cpu_base = gic_data_cpu_base(gic); + task_isolation_kernel_enter(); + do { irqstat = readl_relaxed(cpu_base + GIC_CPU_INTACK); irqnr = irqstat & GICC_IAR_INT_ID_MASK; diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index 6d716db2a46a..beab88881b6d 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -584,6 +585,8 @@ void cio_tsch(struct subchannel *sch) struct irb *irb; int irq_context; + task_isolation_kernel_enter(); + irb = this_cpu_ptr(&cio_irb); /* Store interrupt response block to lowcore. */ if (tsch(sch->schid, irb) != 0)