From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754026AbdLMTu4 (ORCPT ); Wed, 13 Dec 2017 14:50:56 -0500 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:54824 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753684AbdLMTuv (ORCPT ); Wed, 13 Dec 2017 14:50:51 -0500 From: Roman Gushchin To: CC: Roman Gushchin , Alexei Starovoitov , , , , Subject: [PATCH] cgroup, docs: document cgroup v2 device controller Date: Wed, 13 Dec 2017 19:49:03 +0000 Message-ID: <20171213194903.1265-1-guro@fb.com> X-Mailer: git-send-email 2.14.3 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [2620:10d:c092:180::1:f726] X-ClientProxiedBy: AM3PR03CA0060.eurprd03.prod.outlook.com (2603:10a6:207:5::18) To CO1PR15MB1077.namprd15.prod.outlook.com (2a01:111:e400:7b66::7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c57bcf20-a7b7-471e-b4c5-08d54262a025 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307);SRVR:CO1PR15MB1077; X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;3:9GG/8lwc4mOTS3wZ33SmkzPRuFjJL10HRXPwjgb87oJZEMY6DwIi+lV04bJHSm7UzlJL7LhagwfBzaJaNC9LlyrrWSb4hWNnXUwSxu1E1pklAhxhJ0C9uf44dyE2rxW+CA+CChzNVFWUPU1r1ECEfO4Kff666lu7TPngQIw/j/KvXCReAneUo0El2mBguAaaoRAcbBK+j0jbPzPfdSi5ZeBGYlwEqt8Zy5Y9nrCFJx5jCNleFW1d6K6zdhoZosCI;25:D+cRlZzo+7OECdoVnghPp5vdKYiI68ax+K2XnHDub7y5TyJiymiVPcWfDlP30z6wH0Vl2F2UFRO9hsN3bbw2dn36rSkRZhISnb9/aWj6Q1xlg01h2aKFUXEeXmkpv7y8sHGWH/DQvT9Fo+2xaFWI0k+Zg3/ak0Uo/Xn5Nh51UF2Ny/G004UDWmy3jiz8vw9gaUqTsvxzhO5ktdo7gAUyIMfoHxApTLVbXgmROKCuZ1063JQ2qjRICfUw8c7m3+KUSW/cWI1isQ7Sp9snyvd3u8Ijlh4M3jZ7KjY6HRd0+vjP02ZWu1SuCUoJamv6ruAbw5Tv0JMlSXdX3CsqRlwRXA==;31:svKZyGdIgUyxfccrBRNg2TLUu67ecBw15Hp1rCEolO9yM0D33hFTec9AdwurnEziRCqhpjfLOl+DISHfrrAu7MR4HMnI22OhaWPlGMjckkVDUIdKFwdH8tuZp9SNQBQOkoJEeq94ApYvg2/oliP7JJXdTzbQXWQovfStLzrMpD9MPoreK06BNF4Lzg1bn3lP/w6aRJWxh0CcGdvNG/xllR2pVA5CHms8LcGwXJdzKmg= X-MS-TrafficTypeDiagnostic: CO1PR15MB1077: X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;20:tgnXiPvBDUkcwXBB1fKnBsPSqbsITdzX05xQi4boRXB22cfLKHTJzdok/zrDWQoNw2pGkdUDw/B1vIIh6fogjyYgdyJalJd2cbfPh6oiZGhh4vXBSOhY54Fe8aIg+MdDhBjXaVLiO2icrCklGhVEUOJ8diPOWU6aYHSEUEFj9lf8g06w2N4IeACE0y7+l4LTo4DyCrEsQjUHHnbXbC5b96QNccSoSmMpKejbkna1ZVdhf/DFeWnoiNSX5sWrPsuLWbjX2bEqwdCGlwoS0Qrd9M48yC6TGq1kQqqJGYjaFrfk3jDk6LzzM9Rs3Jw1sOObA5RyaP+8d1ti5qd8VeyGp4/SBl3jzg8s9TIELBZT38V0IVXXlNZnb62KUF8/YMWXCUlqAdDNWICrLXBGIU5HOlE6Ldiaon3nRUXWdUw+c97vmEyWRkV2pUMRyQd6nnWFUeztLTxryU/wCAdPGeH22UZKxJdJyucTlxmmO5c11EqYYgWmobdam+CXfIZ/dSI7;4:I1+9IBfdWMZ+G9CVfmg4mTrn75wSTMd0YfVmB9afWv3LMzA0JB6pWbuYibFoWDJOj1h8qtTamMSuWtJhaUnIvMotL9/SZPk9Dtw3LxtDIepB0uNESBnYsBDvtUTXThDAA0Z1P3IL+EMrqXkbsAqBXVM+b2AoMYP3Lj/cjZhh9rSiD1nnWtsjwxox1hePkVh7f34sj6cIUCkbYESjp1Y1jEXsNJsrBX8cmVh0psxQ98XfCZYd1p+4X9D+P/nuVNWiLUD8p+acAXUwHsYUuih3Sye9u6t3ab0Z6kwoSjXOA1Or59XgJuEjX3Kb5FkvCkE7+dGw1NkLiZYzIhDOEy5fIuzDqDa60FXNg4TOzi2K3q8= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(67672495146484); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(2401047)(5005006)(8121501046)(3002001)(10201501046)(3231023)(11241501184)(93006095)(93001095)(6041248)(20161123564025)(20161123555025)(20161123558100)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6072148)(201708071742011);SRVR:CO1PR15MB1077;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:CO1PR15MB1077; X-Forefront-PRVS: 052017CAF1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(39860400002)(376002)(346002)(366004)(189003)(199004)(6916009)(86362001)(2351001)(51416003)(316002)(52116002)(52396003)(68736007)(105586002)(53416004)(305945005)(7736002)(2361001)(81166006)(106356001)(47776003)(50466002)(36756003)(1076002)(16586007)(6506007)(386003)(6486002)(2906002)(69596002)(48376002)(5890100001)(6116002)(54906003)(50226002)(81156014)(53936002)(6512007)(59450400001)(25786009)(4326008)(5660300001)(6666003)(478600001)(8676002)(8936002)(97736004)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:CO1PR15MB1077;H:castle.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CO1PR15MB1077;23:xavG7KWC10y7L6ZNVnct9f4uiN8ltSSHgMbxeX2Po?= =?us-ascii?Q?UK90eUrqNAx4eJkuAIaYGd4ckVAM9BtA7dW9ZeF02bYpz1nswpIQodKVdEoz?= =?us-ascii?Q?g+AQ8udHBysjvhk58x9Vkb9Cz2vfmTUEvp0K6StljKKrkNPZGnj+9WLbxEHv?= =?us-ascii?Q?yLfE3h3B4PQBsXq6wh8F2Gdcn3HXznCEOccFZFDAEyk+83oR8YHB+1DVYHDQ?= =?us-ascii?Q?5W3xjA5rQYDQ/Heko6b1hg39uAaSEek6VPH3igl97ZO4hSMNfRr5KfUTY8Ag?= =?us-ascii?Q?RzRyo5iB9KZB/bUoZssEYnsbTc1tuqnL9Va1jZM2yhQVkyNhwPiXii18oivW?= =?us-ascii?Q?pKh/Yh8SkogL04UYzmR481VAe/Vn70Wg+TJMXxuLx7UVVECadPi0q9HaRFVO?= =?us-ascii?Q?k6XM6jQzixNdq9+RVOU/OtslouwaJWs8/KoVjLNHtnkx4ogou2VwiQBifL6c?= =?us-ascii?Q?3Cz5aldlLTnA4mw9Yt38/rLFFsc/8aAWtJB54uacj03nTPCFsbP5dpqg8uLt?= =?us-ascii?Q?IxtNJ2lSxa5W48JhZzc+Eok14iGtN+62AL4G4XsDY24vpMBLd6kAjYY7+wCc?= =?us-ascii?Q?OpDBGbfyWhOwhD20addxoRfQlWBmCDSzhshXS+U7Lt523dzdTwHmaW0/LITT?= =?us-ascii?Q?cNLX8XuOrXf8QAjTKK//K8ToHGmuB2EeX+2EzfjZDrJhqNGkYzKs2qafzHDX?= =?us-ascii?Q?8SCGNEYQqX1aKd/s3HqWFnWLwB1iB9cIx3i7r5/zVj7pUd011u5gj+jLMV4h?= =?us-ascii?Q?Vwbcy4YbVHsOCG7w/aCm1wH7O4VzuqvbIZs8GCOITBIpTWSaduCgrDrtpgal?= =?us-ascii?Q?xkawXGSoxUI6XeKWy7ZmQExCsk4C01HX7p9pFiLVCDMZlNYiPigud1ULHtml?= =?us-ascii?Q?+2ME6TSla1KGV99NWyzW6S7hnqOrIhejg5ThndVDFZYFajQlhAhk+NFztE1r?= =?us-ascii?Q?TEdEWfbSobjDEA6oKRuY3kcXlZzqJ6pWmVgXyWCi8hWPZxSyeFM5lFWY8Ggp?= =?us-ascii?Q?3jzL41gjQ+OauAPONEt3HIJ7T7rkXSCzUwgdwI0ySjJ+u1Gmm9tTtS43fTzk?= =?us-ascii?Q?lgO384QRVmqd3w+v406Rld5r0yaXN98RltU/8JamxaJjjKp4DKRwNG8e7b8i?= =?us-ascii?Q?P+01XpvOR+5wR+Je7eCyrPnhHSenXPj?= X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;6:RjwmXeYbWZjUnxD/daixuBYAr4c0ukji4u/Ovj7bspoIeYiEsRLw1nQxkzLJdYXWXdu752uya00qAtINs3HruQbK0QQY0EhCjrxoultY/tx4zQQRoFXYpWUj+5HI897gQFRuskGgwuz0eugA8qU2Mao3oKdjsSvzTRTy/QZtaelb7eD8Hc2h8tNZ2bZjjDmUG3vD4mCpExCBfxv/Y2p+zkpQoJDs2DkQa/Ibudy7anCjFxLtY8UDNUCI5+RGtJuZMmOy61C4et+WhOyW/aST38L00enYbbDUtWwUXmBugNYtMqBiK72BYxBLjrpWjtJ/Mj4DYWHxYxu6Cqy/JIBu1CnprE4TwC3SePzmEwgn4A8=;5:asrPZZe2HL2wYgnvSatqN/zRteT58q1qj3l6Asaf/23vSDwhm7vvIVP1+zcjX0c7suNWLIsTQopaxg8Jres+CJ2v3q2jigwMj1ZFYfn3WLYxgu9jCyuLwTaizkpS+CApT+FkCa4aveQzU5oTm1pNI39Xo5KhzPioUEo8BHA6i0s=;24:XUZ3YMARUswBr3n1nbso/7z7GGO0jXyGj8CL8YgZerATAjDHqcQVnqA1pahtGRcmM/wt76WcJrOYIKcX6nIe+RQHlQE7rFSSo/Y2tjESlZI=;7:NajIkBKrKpwrK2dMWThYpLBvvgcifnamDbZmqytVzWeXk7BDxtCsh3I1+cB1O659tQmWOUbC79TUIiLA1N7ShWU10uv7qBkBcZbFJm3oVEG10VZQ9us+66qh4gWMzarPAyXl+4URyuD27fq53iKVbS0VgY3iuAQrySik7QToYoyo3OWqkHcde9L4H/HxTOMumAK6J2xJ12dKfZAKHFQtjbhLMxw700ZrN9bD2z1PcOYTIDnMTgRaTBx1UCMlOJ6r SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CO1PR15MB1077;20:eoHDpIkjshIYs4xQom/+RSq1M2sUvLXSRZVK9TfmnaT9EQGj+w/HW9TgQ3jpR+n4xJ8UM9eARJsfsrdFDcKZJKN0VmFmHlM63ol1hV2d47bjwOLbEJibGlQ8GoWcnlexQWiqnKOJSrgkST8OBK9eO6FHbcw5DZ1gTnQHK8HL5D8= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2017 19:49:28.5565 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c57bcf20-a7b7-471e-b4c5-08d54262a025 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR15MB1077 X-OriginatorOrg: fb.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-12-13_11:,, signatures=0 X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add the corresponding section in cgroup v2 documentation. Signed-off-by: Roman Gushchin Cc: Tejun Heo Cc: Alexei Starovoitov Cc: kernel-team@fb.com Cc: cgroups@vger.kernel.org Cc: linux-doc@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- Documentation/cgroup-v2.txt | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/Documentation/cgroup-v2.txt b/Documentation/cgroup-v2.txt index 2cddab7efb20..d6efabb487e3 100644 --- a/Documentation/cgroup-v2.txt +++ b/Documentation/cgroup-v2.txt @@ -53,10 +53,11 @@ v1 is available under Documentation/cgroup-v1/. 5-3-2. Writeback 5-4. PID 5-4-1. PID Interface Files - 5-5. RDMA - 5-5-1. RDMA Interface Files - 5-6. Misc - 5-6-1. perf_event + 5-5. Device + 5-6. RDMA + 5-6-1. RDMA Interface Files + 5-7. Misc + 5-7-1. perf_event 6. Namespace 6-1. Basics 6-2. The Root and Views @@ -1429,6 +1430,30 @@ through fork() or clone(). These will return -EAGAIN if the creation of a new process would cause a cgroup policy to be violated. +Device controller +----------------- + +Device controller manages access to device files. It includes both +creation of new device files (using mknod), and access to the +existing device files. + +Cgroup v2 device controller has no interface files and is implemented +on top of cgroup BPF. To control access to device files, a user may +create bpf programs of the BPF_CGROUP_DEVICE type and attach them +to cgroups. On an attempt to access a device file, corresponding +BPF programs will be executed, and depending on the return value +the attempt will succeed or fail with -EPERM. + +A BPF_CGROUP_DEVICE program takes a pointer to the bpf_cgroup_dev_ctx +structure, which describes the device access attempt: access type +(mknod/read/write) and device (type, major and minor numbers). +If the program returns 0, the attempt fails with -EPERM, otherwise +it succeeds. + +An example of BPF_CGROUP_DEVICE program may be found in the kernel +source tree in the tools/testing/selftests/bpf/dev_cgroup.c file. + + RDMA ---- -- 2.14.3