Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp6107794ybf; Thu, 5 Mar 2020 13:17:34 -0800 (PST) X-Google-Smtp-Source: ADFU+vvaM9bAvl5rH4h6CCwCv14/h2FNFmYfVMi4aw7NdVS8v9ghSirzofdyrpoqePDVFRpFdgbY X-Received: by 2002:a9d:6753:: with SMTP id w19mr403694otm.6.1583443054771; Thu, 05 Mar 2020 13:17:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1583443054; cv=none; d=google.com; s=arc-20160816; b=NMCxGKT1olWK4f1K3PuhgF0IZqdDdyz3Cws+H0AIz6pOs94KwqthkNCEfAGpHmoflY YHTMWtfmKk0Plm60rP3TKqtSVcJ0YKr1B8axPpjT/jq2+khW1vnpvF6bZOU/+dWnLYuQ jmJCZdrxAKW5pvGpofFKf9WBwmWmyZCyhAjRy6IrM9Q3bHKka9tSU/Y1bDv7oIL3llBy uMg/wjN/oUzfLyFxWf2BfaFmACHOncQ3vhEuNieUZBtuqxDAYg7LaNAtSVdnX0oI1w+w Nf8U8tYGwOvqk1ITMED2iS9AQW2KHa7qBtYOckbQsPZbi5bkcUHNZ7Lf/W7z9lrB4gR0 tQvg== 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 :message-id:date:subject:cc:to:from:dkim-signature:dkim-signature; bh=XdQ+RswJL5NMl40GJb5WlNSbRsqA/OCEL8OeWLu2sac=; b=V+h0pQmsmw+MGpDlYlryc1xbukwdbHlrJ4RmfOOsCY4sJG6Tt1vtwYxBKbGUoUSx85 S2qPZAptbIM76/gstMUo7+R9C3JXX7/Qi73eU9CyOk6gT9KVPltXcd7Auh/ZUZ6r1j8k K3vMxHZP25O2ERGQus6OoieldJn+HgmYB1BCe1HT553/iY/tdv8ESS3GTz8OehiS2Y80 rs64RjGI1eWWgdD2TiusCi5Kbgeaszlkcf9k7q+rQ17Or2ETlAKw+td45YV417v4fpRu GgwkL/DMqdZcrBB0/Oud6vyexMHxJmCOpV3qIyWiGqCYfLzGZtT4p1Xi+kYXOjOSSK1J WLDw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@dxuuu.xyz header.s=fm2 header.b=1DIq3i5M; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=0OTpwfoc; 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 f10si114492oij.109.2020.03.05.13.17.22; Thu, 05 Mar 2020 13:17:34 -0800 (PST) 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=@dxuuu.xyz header.s=fm2 header.b=1DIq3i5M; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=0OTpwfoc; 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 S1726368AbgCEVQy (ORCPT + 99 others); Thu, 5 Mar 2020 16:16:54 -0500 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:42779 "EHLO out4-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726067AbgCEVQw (ORCPT ); Thu, 5 Mar 2020 16:16:52 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 2C24221F30; Thu, 5 Mar 2020 16:16:51 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 05 Mar 2020 16:16:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dxuuu.xyz; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; s=fm2; bh=XdQ+RswJL5NMl40GJb5WlNSbRs qA/OCEL8OeWLu2sac=; b=1DIq3i5Mt+pRb3sS1NWiHTIjIc5XjG+qFV/shkSg7t 5ImiieuJc4T4WVs/zoYa7Opp1+m7pH9G1ywxke1GdTvSA0D6G96Ypqyn224PyUdS Dt0umj6zdkKMZ2YGrmwIAWok2NXr9Tku7MZZtrV7BF9vat0KOt2ivalobkI+wEso /LLMrwm9UlLUAeBQBqRUIcfQ6o83Sh+jJT+f7KkmmIRKgglgu3duqYD56XcrfG68 wv9M2S9gYjpsDSJC90uC2Yog1ruukVZKUc4ItroCh99rAi4mD/I9mMc8Ly+b4GYP 1wErySk6oWNXkoObGVZnuPKyPUbfTkgGwPotTBU0tczw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=XdQ+RswJL5NMl40GJ b5WlNSbRsqA/OCEL8OeWLu2sac=; b=0OTpwfocD7+OQI1L/9PVGL6W/rkk4lJ5y v1IhvdOz0k7PzDsjzl/lDBL7ZRH4VLbYmc7cy7u3SGOEvXfKEiP63tOzyLWPu270 bbgUhagy20rsMqAc962xRxJWU5KjqJn6TPwNSh7KvCeu/EvMU5wgzXiZDMzGnapu 286DLXK2xBiqxQAlitIsFKACqGingzdu0HEuZkA43ztVr7xD2U6ALuvefGASqIhr 9J1fdZOLlmJacgqwjZdHv9qXxFBF5qbEZzkpRvAozkJhetGr6MWhbHXbztqnQWiq zbkIILNl6BCnf/PEXKGRjRSOE7gqQUHkQsl/Q7mh7y677UxS1AF0A== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedruddutddgudehudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecufghrlhcuvffnffculdejtddmnecujfgurhephf fvufffkffoggfgsedtkeertdertddtnecuhfhrohhmpeffrghnihgvlhcuighuuceougig uhesugiguhhuuhdrgiihiieqnecukfhppeduieefrdduudegrddufedvrddunecuvehluh hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepugiguhesugiguhhu uhdrgiihii X-ME-Proxy: Received: from dlxu-fedora-R90QNFJV.thefacebook.com (unknown [163.114.132.1]) by mail.messagingengine.com (Postfix) with ESMTPA id E630B30612AF; Thu, 5 Mar 2020 16:16:48 -0500 (EST) From: Daniel Xu To: cgroups@vger.kernel.org, tj@kernel.org, lizefan@huawei.com, hannes@cmpxchg.org Cc: Daniel Xu , shakeelb@google.com, linux-kernel@vger.kernel.org, gregkh@linuxfoundation.org, kernel-team@fb.com Subject: [PATCH v2 0/4] Support user xattrs in cgroupfs Date: Thu, 5 Mar 2020 13:16:28 -0800 Message-Id: <20200305211632.15369-1-dxu@dxuuu.xyz> X-Mailer: git-send-email 2.21.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org User extended attributes are useful as metadata storage for kernfs consumers like cgroups. Especially in the case of cgroups, it is useful to have a central metadata store that multiple processes/services can use to coordinate actions. A concrete example is for userspace out of memory killers. We want to let delegated cgroup subtree owners (running as non-root) to be able to say "please avoid killing this cgroup". This is especially important for desktop linux as delegated subtrees owners are less likely to run as root. The first two commits set up some stuff for the third commit which intro introduce a new flag, KERNFS_ROOT_SUPPORT_USER_XATTR, that lets kernfs consumers enable user xattr support. The final commit turns on user xattr support for cgroupfs. Changes from v1: - use kvmalloc for xattr values - modify simple_xattr_set to return removed size - add accounting for total user xattr size per cgroup Daniel Xu (4): kernfs: kvmalloc xattr value instead of kmalloc kernfs: Add removed_size out param for simple_xattr_set kernfs: Add option to enable user xattrs cgroupfs: Support user xattrs fs/kernfs/inode.c | 91 ++++++++++++++++++++++++++++++++++++- fs/kernfs/kernfs-internal.h | 2 + fs/xattr.c | 17 +++++-- include/linux/kernfs.h | 11 ++++- include/linux/xattr.h | 3 +- kernel/cgroup/cgroup.c | 3 +- mm/shmem.c | 2 +- 7 files changed, 119 insertions(+), 10 deletions(-) -- 2.21.1