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

From: Jan Kara
Date: Tue Apr 07 2020 - 11:46:50 EST


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>
---
kernel/ucount.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/kernel/ucount.c b/kernel/ucount.c
index a53cc2b4179c..3da4d868e452 100644
--- a/kernel/ucount.c
+++ b/kernel/ucount.c
@@ -81,6 +81,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) {
--
2.16.4