From: Sven Schnelle <svens@linux.ibm.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Alexey Gladkov <legion@kernel.org>,
linux-kernel@vger.kernel.org, Sven Schnelle <svens@linux.ibm.com>
Subject: [PATCH] ucounts: add missing data type changes
Date: Wed, 21 Jul 2021 13:58:00 +0200 [thread overview]
Message-ID: <20210721115800.910778-1-svens@linux.ibm.com> (raw)
commit f9c82a4ea89c3 ("Increase size of ucounts to atomic_long_t")
changed the data type of ucounts/ucounts_max to long, but missed to
adjust a few other places. This is noticeable on big endian platforms
from user space because the /proc/sys/user/max_*_names files all
contain 0.
Fixes: f9c82a4ea89c ("Increase size of ucounts to atomic_long_t")
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
---
fs/notify/fanotify/fanotify_user.c | 11 +++++++----
kernel/ucount.c | 18 ++++++++++--------
kernel/user_namespace.c | 2 +-
3 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c
index 64864fb40b40..995379ddce86 100644
--- a/fs/notify/fanotify/fanotify_user.c
+++ b/fs/notify/fanotify/fanotify_user.c
@@ -54,22 +54,25 @@ static int fanotify_max_queued_events __read_mostly;
#include <linux/sysctl.h>
+static unsigned long long_max = LONG_MAX;
struct ctl_table fanotify_table[] = {
{
.procname = "max_user_groups",
.data = &init_user_ns.ucount_max[UCOUNT_FANOTIFY_GROUPS],
- .maxlen = sizeof(int),
+ .maxlen = sizeof(long),
.mode = 0644,
- .proc_handler = proc_dointvec_minmax,
+ .proc_handler = proc_doulongvec_minmax,
.extra1 = SYSCTL_ZERO,
+ .extra2 = &long_max,
},
{
.procname = "max_user_marks",
.data = &init_user_ns.ucount_max[UCOUNT_FANOTIFY_MARKS],
- .maxlen = sizeof(int),
+ .maxlen = sizeof(long),
.mode = 0644,
- .proc_handler = proc_dointvec_minmax,
+ .proc_handler = proc_doulongvec_minmax,
.extra1 = SYSCTL_ZERO,
+ .extra2 = &long_max,
},
{
.procname = "max_queued_events",
diff --git a/kernel/ucount.c b/kernel/ucount.c
index 87799e2379bd..681ea1b1a06f 100644
--- a/kernel/ucount.c
+++ b/kernel/ucount.c
@@ -58,14 +58,16 @@ static struct ctl_table_root set_root = {
.permissions = set_permissions,
};
-#define UCOUNT_ENTRY(name) \
- { \
- .procname = name, \
- .maxlen = sizeof(int), \
- .mode = 0644, \
- .proc_handler = proc_dointvec_minmax, \
- .extra1 = SYSCTL_ZERO, \
- .extra2 = SYSCTL_INT_MAX, \
+static unsigned long long_max = LONG_MAX;
+
+#define UCOUNT_ENTRY(name) \
+ { \
+ .procname = name, \
+ .maxlen = sizeof(long), \
+ .mode = 0644, \
+ .proc_handler = proc_doulongvec_minmax, \
+ .extra1 = SYSCTL_ZERO, \
+ .extra2 = &long_max, \
}
static struct ctl_table user_table[] = {
UCOUNT_ENTRY("max_user_namespaces"),
diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
index ef82d401dde8..d8ad4c261253 100644
--- a/kernel/user_namespace.c
+++ b/kernel/user_namespace.c
@@ -120,7 +120,7 @@ int create_user_ns(struct cred *new)
ns->group = group;
INIT_WORK(&ns->work, free_user_ns);
for (i = 0; i < MAX_PER_NAMESPACE_UCOUNTS; i++) {
- ns->ucount_max[i] = INT_MAX;
+ ns->ucount_max[i] = LONG_MAX;
}
set_rlimit_ucount_max(ns, UCOUNT_RLIMIT_NPROC, rlimit(RLIMIT_NPROC));
set_rlimit_ucount_max(ns, UCOUNT_RLIMIT_MSGQUEUE, rlimit(RLIMIT_MSGQUEUE));
--
2.25.1
next reply other threads:[~2021-07-21 12:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-21 11:58 Sven Schnelle [this message]
2021-07-21 12:27 ` [PATCH] ucounts: add missing data type changes Alexey Gladkov
2021-07-21 12:32 ` Sven Schnelle
2021-07-21 12:43 ` Alexey Gladkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210721115800.910778-1-svens@linux.ibm.com \
--to=svens@linux.ibm.com \
--cc=ebiederm@xmission.com \
--cc=legion@kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.