summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-04-22 14:22:26 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2026-04-22 14:22:26 -0700
commit87d03777eb5dff5ea03802933e9045e64ebf004d (patch)
tree631819059c047ac8c13bc47c186e5125e6a4fe62
parent2a4c0c11c0193889446cdb6f1540cc2b9aff97dd (diff)
parent8fc1ad90075f54797197827787ac691bf410b07b (diff)
Merge tag 'tomoyo-pr-20260422' of git://git.code.sf.net/p/tomoyo/tomoyo
Pull tomoyo update from Tetsuo Handa: "Handle 64-bit inode numbers" * tag 'tomoyo-pr-20260422' of git://git.code.sf.net/p/tomoyo/tomoyo: tomoyo: use u64 for holding inode->i_ino value
-rw-r--r--security/tomoyo/audit.c10
-rw-r--r--security/tomoyo/common.h2
-rw-r--r--security/tomoyo/condition.c6
3 files changed, 8 insertions, 10 deletions
diff --git a/security/tomoyo/audit.c b/security/tomoyo/audit.c
index bfacb3f2e2ed..1fba46aa357a 100644
--- a/security/tomoyo/audit.c
+++ b/security/tomoyo/audit.c
@@ -195,21 +195,19 @@ static char *tomoyo_print_header(struct tomoyo_request_info *r)
if (i & 1) {
pos += snprintf(buffer + pos,
tomoyo_buffer_len - 1 - pos,
- " path%u.parent={ uid=%u gid=%u ino=%lu perm=0%o }",
+ " path%u.parent={ uid=%u gid=%u ino=%llu perm=0%o }",
(i >> 1) + 1,
from_kuid(&init_user_ns, stat->uid),
from_kgid(&init_user_ns, stat->gid),
- (unsigned long)stat->ino,
- stat->mode & S_IALLUGO);
+ stat->ino, stat->mode & S_IALLUGO);
continue;
}
pos += snprintf(buffer + pos, tomoyo_buffer_len - 1 - pos,
- " path%u={ uid=%u gid=%u ino=%lu major=%u minor=%u perm=0%o type=%s",
+ " path%u={ uid=%u gid=%u ino=%llu major=%u minor=%u perm=0%o type=%s",
(i >> 1) + 1,
from_kuid(&init_user_ns, stat->uid),
from_kgid(&init_user_ns, stat->gid),
- (unsigned long)stat->ino,
- MAJOR(dev), MINOR(dev),
+ stat->ino, MAJOR(dev), MINOR(dev),
mode & S_IALLUGO, tomoyo_filetype(mode));
if (S_ISCHR(mode) || S_ISBLK(mode)) {
dev = stat->rdev;
diff --git a/security/tomoyo/common.h b/security/tomoyo/common.h
index 4f1704c911ef..d098cf8aae61 100644
--- a/security/tomoyo/common.h
+++ b/security/tomoyo/common.h
@@ -567,7 +567,7 @@ struct tomoyo_address_group {
struct tomoyo_mini_stat {
kuid_t uid;
kgid_t gid;
- ino_t ino;
+ u64 ino;
umode_t mode;
dev_t dev;
dev_t rdev;
diff --git a/security/tomoyo/condition.c b/security/tomoyo/condition.c
index f8bcc083bb0d..8b107b1ffdab 100644
--- a/security/tomoyo/condition.c
+++ b/security/tomoyo/condition.c
@@ -766,8 +766,8 @@ bool tomoyo_condition(struct tomoyo_request_info *r,
const struct tomoyo_condition *cond)
{
u32 i;
- unsigned long min_v[2] = { 0, 0 };
- unsigned long max_v[2] = { 0, 0 };
+ u64 min_v[2] = { 0, 0 };
+ u64 max_v[2] = { 0, 0 };
const struct tomoyo_condition_element *condp;
const struct tomoyo_number_union *numbers_p;
const struct tomoyo_name_union *names_p;
@@ -834,7 +834,7 @@ bool tomoyo_condition(struct tomoyo_request_info *r,
/* Check numeric or bit-op expressions. */
for (j = 0; j < 2; j++) {
const u8 index = j ? right : left;
- unsigned long value = 0;
+ u64 value = 0;
switch (index) {
case TOMOYO_TASK_UID: