Message ID | 20180628163458.27193-7-guro@fb.com |
---|---|
State | Superseded, archived |
Headers | show
Return-Path: <netdev-owner@vger.kernel.org> X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=<UNKNOWN>) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=fb.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=fb.com header.i=@fb.com header.b="RV7tlr4x"; dkim=pass (1024-bit key; unprotected) header.d=fb.onmicrosoft.com header.i=@fb.onmicrosoft.com header.b="QJDjsQY9"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 41Glld6qNLz9s29 for <patchwork-incoming-netdev@ozlabs.org>; Fri, 29 Jun 2018 02:36:13 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935548AbeF1QgK (ORCPT <rfc822;patchwork-incoming-netdev@ozlabs.org>); Thu, 28 Jun 2018 12:36:10 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:45682 "EHLO mx0b-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752339AbeF1Qfv (ORCPT <rfc822;netdev@vger.kernel.org>); Thu, 28 Jun 2018 12:35:51 -0400 Received: from pps.filterd (m0109332.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w5SGXNNn018209; Thu, 28 Jun 2018 09:35:31 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=facebook; bh=NgXyUaAYyyXPp7pAZXAadjQHufX3Th3SE5gX1R08jVA=; b=RV7tlr4xn4cxd+TS7GbDp6m2STsZJpP5MuZQOGa7ZmY8lMblIVMQbsRvQqgdCGTxn1IO xHZBpvz362GoZ0Utum2o8EbH/LWPKmcy5CpCJ0777UHEP+X0yUj03xHcgnssXi6mXC3l Xd6YV6cxYukj16La5L9QwA0BKk+AKJwTfVE= Received: from maileast.thefacebook.com ([199.201.65.23]) by mx0a-00082601.pphosted.com with ESMTP id 2jw36e81uw-2 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 28 Jun 2018 09:35:31 -0700 Received: from NAM03-BY2-obe.outbound.protection.outlook.com (192.168.183.28) by o365-in.thefacebook.com (192.168.177.29) with Microsoft SMTP Server (TLS) id 14.3.361.1; Thu, 28 Jun 2018 12:35:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector1-fb-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NgXyUaAYyyXPp7pAZXAadjQHufX3Th3SE5gX1R08jVA=; b=QJDjsQY9wi5LXkAjlk40bGM6xcWg8vWARDmdKWQVYRey2DCuBpvwXZmJUBzNKFhxGkxktS4QCCoaFC9cK3AClYxkyVnKIONVYXeOMDsmzxMVoqf1FbqhkOAjwpQNwSg5Cj/pJ45CJ5cNvcR0akkvQlMpPQVyMOm/XljfmFVs974= Received: from castle.thefacebook.com (2620:10d:c090:200::4:4716) by DM3PR15MB1083.namprd15.prod.outlook.com (2603:10b6:0:12::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.24; Thu, 28 Jun 2018 16:35:28 +0000 From: Roman Gushchin <guro@fb.com> To: <netdev@vger.kernel.org> CC: <kernel-team@fb.com>, <tj@kernel.org>, Roman Gushchin <guro@fb.com>, Alexei Starovoitov <ast@kernel.org>, Daniel Borkmann <daniel@iogearbox.net> Subject: [PATCH bpf-net 06/14] bpf/verifier: introduce BPF_PTR_TO_MAP_VALUE Date: Thu, 28 Jun 2018 09:34:50 -0700 Message-ID: <20180628163458.27193-7-guro@fb.com> X-Mailer: git-send-email 2.14.4 In-Reply-To: <20180628163458.27193-1-guro@fb.com> References: <20180628163458.27193-1-guro@fb.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [2620:10d:c090:200::4:4716] X-ClientProxiedBy: MWHPR19CA0024.namprd19.prod.outlook.com (2603:10b6:300:d4::34) To DM3PR15MB1083.namprd15.prod.outlook.com (2603:10b6:0:12::9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 57da8cb4-7608-41b8-92da-08d5dd1528af X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(2017052603328)(7153060)(7193020); SRVR:DM3PR15MB1083; X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB1083; 3:JkYoTL7cYtMoyKXTutqW5pgbBRBNJYFJZo2YlQBvRkIW20czNp+tMdtnDjx21LI2Cnyw4dfQx1ppq1knYz82BD7AZefv45OXJxA8MXSqFsw+GFyv0XCFvqVkfO8tHd6856X8f8JzDtMFmuK1rMs+9jzOc+O1sPW77zY0DfVc0HoX45BOEkeB2sBoNqY4KJ4Ac7BD+gpyUXs/b7QOMjREcEaqGJRzW8m8KIw6e5nm1r2UOEhe0p3b9nM6EB5thh/r; 25:Su8z+Vx46wKzlNUUrRskpAK6F1HzqRdlTr0FJ2/F+QSReLotjjs/MKOzFt/WBAnt02Q5r/7CiMVjdnQ6W06ErBeq4BFD9Flta6WS0zEDNTFGw7XTUTCB5uHMljcAh4mh+OfHjwvfIyumuagkBrcbu/FHLT5SenQrrNL/20mcRD365eI/DrSQs2fQmOdPmXr1A/qaN/295OQov60cDf0gkJdj+ZdWrTbyVqqvjTz7YH/qTXePOQwh7gQLdRDc+PC7U75JJDYwskMtLS/M1vvYbif2MIH/VHFY5qPfcdTQtb3fLdTpdja4n2+qUXbIS/SFkaa3fhZbe5HwlNDmQlACoQ==; 31:hXkEbtmqZn4I0z/AaEZHy8VnQWlzLlUP/xp2PsAJj27JwnEvhIw1aWoh28GGwcTFrAspJSg0G+ovmnl1G7nXSRow8j8Led3Wr1O96w5U1PLkt+++hy7WIyBZp9SwgkoFDcRp6mFD+95DxCijf/0n0iAt0EwSamM8SkiqdwxoGyZMCR0ws1lgvJLKFGRyhVK4FYbybeaB8+H/MVKB0lGGT3FBndylQ/Y5+QkYrZFgSN4= X-MS-TrafficTypeDiagnostic: DM3PR15MB1083: X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB1083; 20:JGtXwmx1fKKSmhcbL9ZEKrQYXmiKV5OA2m7BeFK/hATA00ENyjqEq4m+qNCUJXxnXACOtMFB1Gffy2hMBBQaF4iMIe06bjEqviQmzm6giJHpObfl4KHzDgtTNRp3PORZ45wxoExCD8CRXPH+bjLFNecWl1RkEIk9TcUWg5QtwjDjymaJFGp3O7qmJMXbnU8PEUe0brCf5lZbaTS4KwsIkh/u7shk/yHLH2EuNDDocFPX6mRtuJSELrs3KDBtswbTUz6k0KfHRaGuLNhfEcNCOV0BEmKUftdZ30rS1jTiZObwjtdrcXgdaxn5vAiLDY5WEyTHqd9wXSYShLHlQy6cG7e1oUhFWnNwGITZ+ii579O+umaQZTd1Ey9+K5pLkZWDcW4ydcqPOXU9z9OF43GwqL3GMbrW6SoHBcGSYnesicRf0qYtOtxcU/odoRlz1Xg0mJGRs/HsNEbCc5fAtWgebpj8l21IVqa2KcvoTAGQsMCUrlD9ERElQQ9OQr4LbOA0; 4:IH+sVoX/s0JpwdX/PlR6Bdxn5B/QLSVED3bEWftWy6qzkEsEpUf5DlcD+R4rUt4mCNo2FPwq7ngi3QzrJCkgyVa+BUolAvtHBtMLD+txVqFVVnAZQcrb8OQNrBKX3wcUaG7zTwPS3s+IKR0JiXsvziOtj04iIS1Jw7FUZR8gOdGnCfBamyKDSHJOay/Q7jd3D8WvDAIrpKT3jSzGNKFC5rANicZwPtGdAakhNA6mhTnde2ShNRwNYtwAJ1Uy4dKMNR4ofqnAYiY8eY7cDy990iuQK7hSUk09Lfy6H03W/uWruWbAfIzGOsKKVJYkoIXE X-Microsoft-Antispam-PRVS: <DM3PR15MB108377D4D02C1A463B1B3C08BE4F0@DM3PR15MB1083.namprd15.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(67672495146484); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231254)(11241501184)(944501410)(52105095)(3002001)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DM3PR15MB1083; BCL:0; PCL:0; RULEID:; SRVR:DM3PR15MB1083; X-Forefront-PRVS: 0717E25089 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(376002)(346002)(366004)(396003)(136003)(39860400002)(189003)(199004)(25786009)(36756003)(86362001)(575784001)(486006)(53936002)(11346002)(2616005)(446003)(106356001)(2351001)(16526019)(186003)(7736002)(305945005)(46003)(8676002)(81156014)(81166006)(6116002)(2361001)(68736007)(6916009)(6666003)(1076002)(8936002)(16586007)(4326008)(2906002)(76176011)(54906003)(6506007)(386003)(53416004)(316002)(6512007)(97736004)(5660300001)(52116002)(47776003)(51416003)(69596002)(52396003)(50466002)(476003)(50226002)(478600001)(105586002)(6486002)(14444005)(48376002)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM3PR15MB1083; H:castle.thefacebook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: fb.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB1083; 23:45uTYkXC560C96XOgX4G/O6mcTOX/CrySLc6U1+YXlCnadwoH8CCDC0Rx48YqH4rm2B+0w3yWV7rszEQcZ5f3o+y1DEVfBNKbmsC2cZUtgVhZW2XeYE7rkwZ6EJMnWI2R164VbE1H4e77Y9CfsqFzaGR1UoQfiy4byPbRe9ZRLTNpoyKevcf87RrsqCT9emWvZWHkoZ73Hu3SxlwtqhLfwB9PhDdKTXiISkp1+WGRAeAJ0KXw/eQqeoFezv7YIv9573d+cuSixikxgyJWuHBI1xAZ2hSXybKdVE0ocEIDzB7Yid5eBjAbZsqDEwy1KnW5w6GstpoJuG8x0EULrXUrIIo3IIjGD8ZqtPAsXubb+jzinjEtnOM34FimDjfQw4pkYyKK6O6xMLhdQ61Z3JKIFaiKTGE23VxBzZiEq5beBuW5hDeVdNxmtsF8f/Bs0A5UGaPJG3fREr2E/Ot66yBFZedrpCNRtr6Z33agZwsT6sICmOCNohvEr8rK1HtdzpligFVTar3iqoxjos9uQXKMXdV8dpSq8MDTyvogMl7gosokYYoYVfxuPT4nlKHSiMY9NWaFAqHkdh8AHcwe8gPMsnOXzqN0VbcIVHoNS/WXsNosyd4pFHhGLS8e7g43vCcrL6jYky0XmdYe7+Eey3zvQE5X62ieNHlPuliwwh7Ii4Yv8YD+vJn/YSJyGrK31m5c9kq3NLLcJIX4PGqic/Npan3JrgqU6n8ka0SEhHSRjzo/TLT3ZOItNrQwou+OeBILBWI6eWhVVvknA9HfVtNNEJBUF+GhBWJbJV+7MiLIeq0ZndKpuu+BIoFnUEb5+Gz+bLvDst5qgzcPrtorm1s8erUWj/zojrTFf6nfULW1HW3xK4ymBiD4tuiTL+goEI8dhqsEXmYpAb+ShNqYdSSHOJx0WNzcN3cj0u/CskJ6yIMdUywoCIr6GUb1MhPE1YHapbP4GNg1/Fzm7kMfikATlyE2jCo0nFtHupz8H46TKmeKIDv8qzR8JKlgUNjGnyx2fPCB/tPkHMTDuLl46fLqMX00BjH06aJiaYyWpNEg4YdFOg9XM28nsJXcDzF43gjRogM60vpzNQULRxLVra+I00YW4C+BE3g/kLH7gOyRoEK54iiOeNMVODYnr98NYTrIXIKRDhEDjM0HX5WHVc5UxH0UOO+4PvbWfLY7+Fmts+8L8eTp6RuXgA9W1lGH8D3VXFvw5FSWfTuQcEsvxurqvj2vn5HIbpH7beEo784wLWpwzteOIkLEP9z80+ScG4ZbX+X5EWPQkuSXmA+ioGMSAfNOP7kObCEmSdYOgFdHXQ= X-Microsoft-Antispam-Message-Info: jsFGDjxB5VNoNl7XO8xMTPANsAPZ+2dALMDVVJW5D+2jS9mQak7LEQEzLpyiDBEQYHA7E5rbtdGjgViLFPq8NtvcQllTi7wYkwUvQTMQv0fMTFjxPN6cC5ATBPx79rfliKFXZbw/Z0OF48nW6sX9OPHOxLxGFNI+cmCqegKM94iZF25eOFUgpSKTeJK4EwiTE/v0agjwzCD83AiKsIY/Z2AcyIs5eaD5ZMyezvZMPk851SVUiL52/743Ug3FbQv8A8unvtbZum1lLCktx7ECFsAZG+B0eyk2v8F3w+qowe0lHu30Cwkl7eGrPHJ9xrJUymyrIaL+MtAif04IBq1Nj8WWOBld1+bS8O+HHa4HtdQ= X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB1083; 6:JcfNvAZ897L4gDJjM0LNesh85RY9h4eZ3rJ5PouWHqnwO0l2UFPe22C7FaJRir2Fm+HQvI14af51XmGBKjHgJj9L2byFUmuCAbo0i6MbaapgwXy7jxUuhf4JTlhJcOi0bPUATrpjMP6HIzcHYeZ8N2nRVgayMPEmSuuFmgT6JItg71ChWjs/gCCD7HEUmBeQdMbJwzZ85IoAe47B3Pe7uFfM5UFS2kp6CcU5BQyRjaNjUnDsQDI8dbLKTjcKh9dxa3ZnR9mToxvCmKGo8yCICzdjqp5kr+RM6NPw5Kp1GIS6sIiqCMB56VQb0xI9UWP9egPuN65Ptd67j7m5+9mt9SE1jtsBuDzPJHssxh3eCehn2g5XB86vEmMhiYGUf6EUL10OaNq51FwnI4V4w/Gv/XvaB7s+z7mvPqTUiXHoiQADkzypPtPZpcCs4ZA5nm2Ta5hvlAYBE+Z6hwabAujRkw==; 5:8ov8mV+wvu/s4TRC39AYs6yF4Tz2JlTLN8qqssp7/ds2xEJYqBc6yfnNYRm36LK0q35y6X8CyvnWf+8+hRZHvAu/00LM1u94+1Ssk4bcX3U+R2ypQBr77s0g3I8Vf1jWJn4IUG2hUMMfCMkt3oBTE6ZMqxWomdsMdWtaVgciBCk=; 24:xMH9NwKfNtrjLuuCssmep47Rq6vS0Ljcm8UdoPihiCm95CEOTJOd5bnSEAJhGcpFWE/a3p8SLY4uAIlwdR1fMLZ0PtPuajFO89ocVio1u8k= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB1083; 7:KT21xFBQ1SmX6LzQoispZiS44CCIKxRjMEG4ExbzoJIQyi2m2b3KzbQfRTNuJfvijwXEQOaOcdg6AlXvUBG7wsaHnlUYKDF1Ihl/Rqac8KQODY2IYPi77CC5NrlBizq9n0W/lgsKjPOU3I3gxrrBDK1qSnDW20POHFtpTyvYIhY7LgMT/yRe6XeDY8tGuPsXK5JO6oXQYwVQHFjHvrFCNyG/SrOxK7w+dgsNTkNzdCqAzO83Sw7cWIY+7zrfyhkp; 20:ZGmIlCTqkptLC8byYxJLqIHhXGN5WtngvoG449cxRCkmSKfTwwXcM4XGPniG3YY3nGcDeaE93/6ltLs123PJZGTX/bgKa8J/XtjW/hiEdzdL9A5U9Mbey8rhDvsyw6GG5tjXNnQaKAd3C18KsFvvtSFOK0FmQ2xaiaNBf45cwaI= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2018 16:35:28.1973 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 57da8cb4-7608-41b8-92da-08d5dd1528af X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR15MB1083 X-OriginatorOrg: fb.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-06-28_08:, , signatures=0 X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: <netdev.vger.kernel.org> X-Mailing-List: netdev@vger.kernel.org |
Series |
bpf: cgroup local storage
|
expand
|
diff --git a/include/linux/bpf.h b/include/linux/bpf.h index 709354a0608a..aaaa6d7e0dfc 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h @@ -154,6 +154,7 @@ enum bpf_arg_type { enum bpf_return_type { RET_INTEGER, /* function returns integer */ RET_VOID, /* function doesn't return anything */ + RET_PTR_TO_MAP_VALUE, /* returns a pointer to map elem value */ RET_PTR_TO_MAP_VALUE_OR_NULL, /* returns a pointer to map elem value or NULL */ }; diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index de097a642c3f..cc0c7990f849 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -2545,8 +2545,12 @@ static int check_helper_call(struct bpf_verifier_env *env, int func_id, int insn mark_reg_unknown(env, regs, BPF_REG_0); } else if (fn->ret_type == RET_VOID) { regs[BPF_REG_0].type = NOT_INIT; - } else if (fn->ret_type == RET_PTR_TO_MAP_VALUE_OR_NULL) { - regs[BPF_REG_0].type = PTR_TO_MAP_VALUE_OR_NULL; + } else if (fn->ret_type == RET_PTR_TO_MAP_VALUE_OR_NULL || + fn->ret_type == RET_PTR_TO_MAP_VALUE) { + if (fn->ret_type == RET_PTR_TO_MAP_VALUE) + regs[BPF_REG_0].type = PTR_TO_MAP_VALUE; + else + regs[BPF_REG_0].type = PTR_TO_MAP_VALUE_OR_NULL; /* There is no offset yet applied, variable or fixed */ mark_reg_known_zero(env, regs, BPF_REG_0); regs[BPF_REG_0].off = 0;