[tip: timers/urgent] ucount: Make sure ucounts in /proc/sys/user don't regress again

From: tip-bot2 for Jan Kara
Date: Tue Apr 07 2020 - 15:54:35 EST


The following commit has been merged into the timers/urgent branch of tip:

Commit-ID: 0f538e3e712a517bd351607de50cd298102c7c08
Gitweb: https://git.kernel.org/tip/0f538e3e712a517bd351607de50cd298102c7c08
Author: Jan Kara <jack@xxxxxxx>
AuthorDate: Tue, 07 Apr 2020 17:46:43 +02:00
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitterDate: Tue, 07 Apr 2020 21:51:27 +02:00

ucount: Make sure ucounts in /proc/sys/user don't regress again

Commit 769071ac9f20 "ns: Introduce Time Namespace" broke reporting of
inotify ucounts (max_inotify_instances, max_inotify_watches) in
/proc/sys/user because it has added UCOUNT_TIME_NAMESPACES into enum
ucount_type but didn't properly update reporting in
kernel/ucount.c:setup_userns_sysctls(). This problem got fixed in commit
eeec26d5da82 "time/namespace: Add max_time_namespaces ucount".

Add BUILD_BUG_ON to catch a similar problem in the future.

Signed-off-by: Jan Kara <jack@xxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Acked-by: Andrei Vagin <avagin@xxxxxxxxx>
Link: https://lkml.kernel.org/r/20200407154643.10102-1-jack@xxxxxxx

---
kernel/ucount.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/kernel/ucount.c b/kernel/ucount.c
index 29c60eb..11b1596 100644
--- a/kernel/ucount.c
+++ b/kernel/ucount.c
@@ -82,6 +82,8 @@ bool setup_userns_sysctls(struct user_namespace *ns)
{
#ifdef CONFIG_SYSCTL
struct ctl_table *tbl;
+
+ BUILD_BUG_ON(ARRAY_SIZE(user_table) != UCOUNT_COUNTS + 1);
setup_sysctl_set(&ns->set, &set_root, set_is_seen);
tbl = kmemdup(user_table, sizeof(user_table), GFP_KERNEL);
if (tbl) {