Merge android11-5.4.161+ (5d7a491) into msm-5.4

* refs/heads/tmp-5d7a491:
  UPSTREAM: lib/iov_iter: initialize "flags" in new pipe_buffer
  Revert "ANDROID: incremental-fs: remove index and incomplete dir on umount"
  Revert "ANDROID: incremental-fs: fix mount_fs issue"
  FROMGIT: f2fs: avoid EINVAL by SBI_NEED_FSCK when pinning a file
  UPSTREAM: usb: gadget: rndis: check size of RNDIS_MSG_SET command
  UPSTREAM: USB: gadget: validate interface OS descriptor requests
  Revert "tracefs: Have tracefs directories not set OTH permission bits by default"
  UPSTREAM: tipc: improve size validations for received domain records
  ANDROID: GKI: Enable CONFIG_SERIAL_8250_RUNTIME_UARTS=0
  ANDROID: GKI: db845c: Update symbols list and ABI
  ANDROID: Increase x86 cmdline size to 4k
  UPSTREAM: cgroup-v1: Require capabilities to set release_agent
  ANDROID: incremental-fs: remove index and incomplete dir on umount
  UPSTREAM: binder: fix async_free_space accounting for empty parcels
  UPSTREAM: tee: handle lookup of shm with reference count 0
  UPSTREAM: bpf: Fix integer overflow in argument calculation for bpf_map_area_alloc

Change-Id: Icb1c0295b7d7da25c37c21a2580ea4d246069039
Signed-off-by: Srinivasarao Pathipati <[email protected]>
This commit is contained in:
Srinivasarao Pathipati 2022-03-01 10:30:39 +05:30
commit c256d34783
21 changed files with 2010 additions and 2010 deletions

View file

@ -552,6 +552,14 @@ static ssize_t cgroup_release_agent_write(struct kernfs_open_file *of,
BUILD_BUG_ON(sizeof(cgrp->root->release_agent_path) < PATH_MAX);
/*
* Release agent gets called with all capabilities,
* require capabilities to set release agent.
*/
if ((of->file->f_cred->user_ns != &init_user_ns) ||
!capable(CAP_SYS_ADMIN))
return -EPERM;
cgrp = cgroup_kn_lock_live(of->kn, false);
if (!cgrp)
return -ENODEV;
@ -964,6 +972,12 @@ int cgroup1_parse_param(struct fs_context *fc, struct fs_parameter *param)
/* Specifying two release agents is forbidden */
if (ctx->release_agent)
return cg_invalf(fc, "cgroup1: release_agent respecified");
/*
* Release agent gets called with all capabilities,
* require capabilities to set release agent.
*/
if ((fc->user_ns != &init_user_ns) || !capable(CAP_SYS_ADMIN))
return cg_invalf(fc, "cgroup1: Setting release_agent not allowed");
ctx->release_agent = param->string;
param->string = NULL;
break;