Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3787451pxv; Mon, 26 Jul 2021 12:04:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzro0zsFpcWZw0KGtdbwpPnj/sBrW78b1E01Dh3I8D/nR1jxZ2Zz2kGTqxIvd8tVgn8amVU X-Received: by 2002:a05:6e02:c87:: with SMTP id b7mr14108350ile.210.1627326245117; Mon, 26 Jul 2021 12:04:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627326245; cv=none; d=google.com; s=arc-20160816; b=uvjtVLpXQ8vHj6dZGeE64woOdBRAH0vG7JpCRwsXWkBJXmusc/CmC4TYfAylohFqbi ExDr48Ry6S14AobC2VVRzs4g9WGX5PCqGJa3/cH8EjXe+iVffNbQradPjeg8qpaZwre2 EwJAsvlDEEwS9ZjcdyKNemuTPUjePbitKSzozJ9B42FYIOF+RNzUxW787ju40mOAtFwJ NwW5ZcRVJK/QBCa7/AjvpbKyTrWgroKRe+pVPOMaBQdxtUlj5nqcOKFJ7t6tkhr8YIme XM5o9/Yhy3d/qs508gCwE1Xg+KWfqti68CqxYQBYIKn6UTzxLPllWiQu33zTckkMBNJR JciQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:references:cc :to:subject:from:dkim-signature; bh=m1Yqt1TCkby1yY+UxZYHx7vylpAQ4AaVAE17J3Ni/4s=; b=j8RRCVtPGSabRl2VAFi49weIS/ge4bAQYvjuY/c5RxRqIMmA4NGjaXQ/5G5y61WtPO jV30hxPphczrRQ0/OTbtOg8yEkabBdkYvt2ch2ViMXi03F9kIyx3//jvZj3ulByrXP2O +pbLxfzwX1nnTo3/1G2+BvEOc2XRWL6x39O9xU7dHhXj6FUmXSKHr+BC4lFZkOsXSQ7d mNb1CVf8uCYvq9N7DbgLObJ+uayOXp35jppUT53+4SgQnbx31Hm3AOapnJfqHc541ahn zkB4wkpJuLs2uoKnsB6hXicuFolMa6AmKBnSxZsfJnJW/Tka9pXFRyGDHHzY4LZY3mZM 5MuA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=a2olerWv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v5si753523jan.37.2021.07.26.12.03.53; Mon, 26 Jul 2021 12:04:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=a2olerWv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232862AbhGZSVW (ORCPT + 99 others); Mon, 26 Jul 2021 14:21:22 -0400 Received: from relay.sw.ru ([185.231.240.75]:55414 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233195AbhGZSVI (ORCPT ); Mon, 26 Jul 2021 14:21:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Content-Type:MIME-Version:Date:Message-ID:Subject :From; bh=m1Yqt1TCkby1yY+UxZYHx7vylpAQ4AaVAE17J3Ni/4s=; b=a2olerWv25wmUP7Og2J xxn+l4C9hWQ8HuViIORIXy9FJCVTjbzZbZKMvucCSH6/0LU9R1YkAwmy4FVmDzht9vDQpSESavJT+ QzeEBXuqb5PQ33Wa/SQ0TrvDZHOu0uLeGJLKgkKfjcDr6CMI/x9YR7Yw9pPLjCh6QJ8qRZZqyIE=; Received: from [10.93.0.56] by relay.sw.ru with esmtp (Exim 4.94.2) (envelope-from ) id 1m85r5-005JWi-50; Mon, 26 Jul 2021 22:01:35 +0300 From: Vasily Averin Subject: [PATCH v6 13/16] memcg: enable accounting for signals To: Andrew Morton Cc: cgroups@vger.kernel.org, Michal Hocko , Shakeel Butt , Johannes Weiner , Vladimir Davydov , Roman Gushchin , Jens Axboe , "Eric W. Biederman" , Oleg Nesterov , linux-kernel@vger.kernel.org References: <9bf9d9bd-03b1-2adb-17b4-5d59a86a9394@virtuozzo.com> Message-ID: <95d0c9ac-114c-4133-ad06-495b907d77ee@virtuozzo.com> Date: Mon, 26 Jul 2021 22:01:34 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When a user send a signal to any another processes it forces the kernel to allocate memory for 'struct sigqueue' objects. The number of signals is limited by RLIMIT_SIGPENDING resource limit, but even the default settings allow each user to consume up to several megabytes of memory. It makes sense to account for these allocations to restrict the host's memory consumption from inside the memcg-limited container. Signed-off-by: Vasily Averin Reviewed-by: Shakeel Butt --- kernel/signal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/signal.c b/kernel/signal.c index a3229ad..8921c4a 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -4663,7 +4663,7 @@ void __init signals_init(void) { siginfo_buildtime_checks(); - sigqueue_cachep = KMEM_CACHE(sigqueue, SLAB_PANIC); + sigqueue_cachep = KMEM_CACHE(sigqueue, SLAB_PANIC | SLAB_ACCOUNT); } #ifdef CONFIG_KGDB_KDB -- 1.8.3.1