From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A4A9DA0471 for ; Mon, 12 Aug 2019 12:34:20 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 900681BDFD; Mon, 12 Aug 2019 12:34:19 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id A22681B952; Mon, 12 Aug 2019 12:34:18 +0200 (CEST) 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 x7CAVIdO003930; Mon, 12 Aug 2019 03:34:17 -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-transfer-encoding : mime-version; s=pfpt0818; bh=t4q7ESR6TrQAH3Vh64vg9JOVZSPQG96bO9ResD5hy3s=; b=UFqHgMQ75Tvi9a27Z67x55RbeVnp+reopK3GQdKpvbrjD9/cv+GwtjPPmAcaGOjzmBxI qZlHC3xMDiGaTWeestkzSCt1PB9pomiUMblBHKu8k8qXFlTM/TM7JGcS+uIaBlSOP0JR aBydWXKMNDNQxjU232K9xq1vY4Nk3zUXvGjMvXTGLWIqsYDXNw4EModYaMeusqKaqAm2 rni2HLDKAfYu7ZNyVfwQg2y/HZdepiEPhK21CacdWeb9TMSG6CAn68LbygAa/cgmJa/F xEgRdDw46jPxyEsEGBmIvWdkbbJ918m7Jz0SuIX34wDzk17ScIMS9tJI8HLwDSMHc4QS SQ== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 2u9wem5ggt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 12 Aug 2019 03:34:17 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Mon, 12 Aug 2019 03:34:16 -0700 Received: from NAM03-DM3-obe.outbound.protection.outlook.com (104.47.41.55) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Mon, 12 Aug 2019 03:34:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kwizQWb0/r7nk+NUNk+93cwdIMDNVTCAc2XU36wRiHiWrGkn5c6KtNPw7zdQhnC4cQlCfmgP1MVhXBhWYpy8l4oQMcfoA4tifrjN0VA2tik9mqAHDYqI9SQE+xMD4mHAg1dZNi0Lb3LdQWQ0hY7F3YAl3GinfVIB9w5xRX5OLTrTMRPH20Cd3Xb0CUlgn4pMTpkemfGniVp5L0GZIQJzDP0Zb+ZkG93IHPVHol+FV2wNA49Zi1cvEeC37JtZipMXGV+INUwevOWaD4pvjy5wosllbpPSrPiO6nkhy0fH2NOpy5whemL644D71B59mb6xKgETjULQV3Qt01p9SqXnbQ== 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=t4q7ESR6TrQAH3Vh64vg9JOVZSPQG96bO9ResD5hy3s=; b=SjOPF2zXX48bfRsEKv54XJ7YP+Ea6HbsWu6EIeRsTsKPH5jSvXre6CxFbqhYavFKU5UvDX7hDUVtQzmrLOb14EmLyndrqpnZ7phPJ0yFZYRoGRgH1++u/nauibUFR3KK2PJh6XVVa1yJMD6AmPV7LdN/qo/s2/Z5s17J23iecXBv4gkkJN+IwJJAtfFf8wAUL4yiD2bDXUwykpEqaTJVLD7dwqNtuhbALJWZe8bYoNh+8Z1TsYEo1l5o9DztacgllcKxOFPmvyZ+uyER2tu0hgM9dcZNB5gn/e1Vsdna5tpHKb//ntkvAK3VkXllNr0/SZtxaAlfKwX1R2g+xNYSHA== 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=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t4q7ESR6TrQAH3Vh64vg9JOVZSPQG96bO9ResD5hy3s=; b=raHLKUMojypcLhgzN+/LOxfLra7tajiymdmQN9eRNu8mFith+2J95sBYaINh/Dgm3eC1LX8AxIry6eKsbTO7C9ZYikuA0hsxRWp5SLNBwhaQIOaTh8mADZcdHYpADfJBZsyb1GBiq6oNN+ahzT5+Iq1wFaRVF8kuOmDlzrIsLfE= Received: from BYAPR18MB2424.namprd18.prod.outlook.com (20.179.91.149) by BYAPR18MB3080.namprd18.prod.outlook.com (20.179.59.76) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2136.16; Mon, 12 Aug 2019 10:34:10 +0000 Received: from BYAPR18MB2424.namprd18.prod.outlook.com ([fe80::5877:72b7:40cf:2013]) by BYAPR18MB2424.namprd18.prod.outlook.com ([fe80::5877:72b7:40cf:2013%3]) with mapi id 15.20.2157.015; Mon, 12 Aug 2019 10:34:10 +0000 From: Jerin Jacob Kollanukkaran To: "Ananyev, Konstantin" , "dev@dpdk.org" CC: "thomas@monjalon.net" , "stable@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] bpf: fix to allow ptr stack program type Thread-Index: AQHVTs+nMWveRMsge0ityptSWsh8rqb3OBoAgAAa2tA= Date: Mon, 12 Aug 2019 10:34:10 +0000 Message-ID: References: <20190809162919.5967-1-jerinj@marvell.com> <2601191342CEEE43887BDE71AB977258018115CEAE@irsmsx105.ger.corp.intel.com> In-Reply-To: <2601191342CEEE43887BDE71AB977258018115CEAE@irsmsx105.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [14.140.231.66] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bee1daa5-5cf2-4db5-6d63-08d71f109cf5 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:BYAPR18MB3080; x-ms-traffictypediagnostic: BYAPR18MB3080: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-forefront-prvs: 012792EC17 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(376002)(346002)(39850400004)(366004)(199004)(189003)(13464003)(2501003)(256004)(478600001)(6116002)(14454004)(25786009)(3846002)(66066001)(6246003)(14444005)(76176011)(2906002)(4326008)(11346002)(8936002)(476003)(81156014)(9686003)(229853002)(52536014)(33656002)(186003)(7736002)(316002)(6436002)(81166006)(55016002)(55236004)(102836004)(8676002)(26005)(6506007)(53546011)(446003)(486006)(7696005)(71190400001)(71200400001)(305945005)(74316002)(54906003)(66476007)(66946007)(99286004)(66446008)(53936002)(66556008)(64756008)(76116006)(5660300002)(110136005)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR18MB3080; H:BYAPR18MB2424.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: q26YWgjuwSlsZnLQo2GGKpp3zSbyDIPBFejAGa/v/bFuNVFu+4727u9uTMxSrssqaYXwR5lyj+kg5dJrqy4iqRwi6PbaViiKa29up7zbRdPCWY7RplbiuJhpZ3KsCdWPzI6VInaNHNsWfHo2oKh0FbpEvCXhDgp0uONtlrUHTXEsrhzFgyXfOfI0+t63A4B9UsC78DXOcwqHqZpAVltG63oVpPDTr+S8jNIbgpHseaHYGdfWTJtHuX+sWnIab79etCdeTQ0KlWxhzMDrf8Mii1uXF0JLw4lNSEly9N19q5Po+oAB2n98241Ji8px6FeMIrbWIX7KOW5A16omjkYdez/pdo7PZ/7Og6s3bbsU0bXe7rh0KE10o74AuzXEOgJrimu3tzTHosYw+R4vTI28NTQgvH8fpb1DpxIbgkzle+c= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: bee1daa5-5cf2-4db5-6d63-08d71f109cf5 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2019 10:34:10.7673 (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: MnFCpcHPO1wj9Z6QG7pQF42N0PZxm5vG58BPtW19a/AtqBv+oaSR5w8q8Z7F1rjQWqPx77fFk8nRppGhEAHkXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR18MB3080 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:5.22.84,1.0.8 definitions=2019-08-12_04:2019-08-09,2019-08-12 signatures=0 Subject: Re: [dpdk-dev] [PATCH] bpf: fix to allow ptr stack program type X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > -----Original Message----- > From: Ananyev, Konstantin > Sent: Monday, August 12, 2019 2:20 PM > To: Jerin Jacob Kollanukkaran ; dev@dpdk.org > Cc: thomas@monjalon.net; stable@dpdk.org > Subject: [EXT] RE: [dpdk-dev] [PATCH] bpf: fix to allow ptr stack program > type >=20 > ---------------------------------------------------------------------- > Hi Jerin, Hi Konstantin, >=20 > > > > bpf_validate does not allow to execute RTE_BPF_ARG_PTR_STACK for no > > reason. >=20 > I believe there is a reason, > ARG_PTR_STACK is reserved for memory within BPF program internal stack > only. > User that calls BPF program should never pass parameter with that type. OK. Shouldn't we remove that from public header file (lib/librte_bpf/rte_bpf.h) then ? > If the user allocates parameter for bpf function on the stack, he can sti= ll use > RTE_BPF_ARG_PTR for it. I see the _stack_ is only allocated under RTE_BPF_ARG_PTR_STACK checks in b= pf_validate.c. Can you check? I agree that stack should be allocated for RTE_BPF_ARG_PTR a= s well. I am writing the arm64 JIT support now, I see always stack of size of 0. I = did not spend much Time on the generic piece of ebpf code(Focusing only on JIT side now). Can you share more detail the stack allocation scheme, Is validate code par= se the eBPF opcode and Figure out the stack depth it by its own and pass to JIT function where Arc= h code can allocate enough stack. > Konstantin >=20 > > Fix it by enhancing the prog_arg.type check. > > > > Fixes: 6e12ec4c4d6d ("bpf: add more checks") > > Cc: stable@dpdk.org > > > > Signed-off-by: Jerin Jacob > > --- > > lib/librte_bpf/bpf_validate.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/lib/librte_bpf/bpf_validate.c > > b/lib/librte_bpf/bpf_validate.c index 0cf41fa27..c75777b6d 100644 > > --- a/lib/librte_bpf/bpf_validate.c > > +++ b/lib/librte_bpf/bpf_validate.c > > @@ -2216,6 +2216,7 @@ bpf_validate(struct rte_bpf *bpf) > > > > /* check input argument type, don't allow mbuf ptr on 32-bit */ > > if (bpf->prm.prog_arg.type !=3D RTE_BPF_ARG_RAW && > > + bpf->prm.prog_arg.type !=3D > RTE_BPF_ARG_PTR_STACK && > > bpf->prm.prog_arg.type !=3D RTE_BPF_ARG_PTR && > > (sizeof(uint64_t) !=3D sizeof(uintptr_t) || > > bpf->prm.prog_arg.type !=3D > RTE_BPF_ARG_PTR_MBUF)) { > > -- > > 2.22.0