fs/ntfs/namei.c:360 ntfs_sd_add_everyone() warn: assigning (-32764) to unsigned variable 'sd->control'
kernel test robot <[email protected]> Fri, 31 Jul 2026 02:22:53 +0800
| Newsgroups | dev.linux.lists.oe-kbuild |
|---|---|
| Message-ID | <[email protected]> |
BCC: [email protected] CC: [email protected] CC: [email protected] TO: Namjae Jeon <[email protected]> CC: Amir Goldstein <[email protected]> CC: Christoph Hellwig <[email protected]> Hi Namjae, First bad commit (maybe != root cause): tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 11028ab62899e4191e074ee364c712b77823a9c4 commit: 47503f989736d6c4c9f8bfca1c28d267473ccd4b ntfs: add Kconfig and Makefile date: 5 months ago :::::: branch date: 18 hours ago :::::: commit date: 5 months ago config: x86_64-randconfig-161-20260730 (https://download.01.org/0day-ci/archive/20260731/[email protected]/config) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 smatch: v0.5.0-9187-g5189e3fb If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Fixes: 47503f989736 ("ntfs: add Kconfig and Makefile") | Reported-by: kernel test robot <[email protected]> | Reported-by: Dan Carpenter <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ New smatch warnings: fs/ntfs/namei.c:360 ntfs_sd_add_everyone() warn: assigning (-32764) to unsigned variable 'sd->control' Old smatch warnings: fs/ntfs/namei.c:239 ntfs_lookup() warn: passing zero to 'ERR_PTR' fs/ntfs/namei.c:1091 ntfs_mkdir() warn: passing zero to 'ERR_PTR' fs/ntfs/namei.c:1175 __ntfs_link() warn: impossible condition '(name_len > 255) => (0-255 > 255)' vim +360 fs/ntfs/namei.c 1e9ea7e04472d4 Namjae Jeon 2025-12-30 338 af0db57d4293cc Namjae Jeon 2026-02-13 339 static int ntfs_sd_add_everyone(struct ntfs_inode *ni) af0db57d4293cc Namjae Jeon 2026-02-13 340 { af0db57d4293cc Namjae Jeon 2026-02-13 341 struct security_descriptor_relative *sd; af0db57d4293cc Namjae Jeon 2026-02-13 342 struct ntfs_acl *acl; af0db57d4293cc Namjae Jeon 2026-02-13 343 struct ntfs_ace *ace; af0db57d4293cc Namjae Jeon 2026-02-13 344 struct ntfs_sid *sid; af0db57d4293cc Namjae Jeon 2026-02-13 345 int ret, sd_len; af0db57d4293cc Namjae Jeon 2026-02-13 346 af0db57d4293cc Namjae Jeon 2026-02-13 347 /* Create SECURITY_DESCRIPTOR attribute (everyone has full access). */ af0db57d4293cc Namjae Jeon 2026-02-13 348 /* af0db57d4293cc Namjae Jeon 2026-02-13 349 * Calculate security descriptor length. We have 2 sub-authorities in af0db57d4293cc Namjae Jeon 2026-02-13 350 * owner and group SIDs, So add 8 bytes to every SID. af0db57d4293cc Namjae Jeon 2026-02-13 351 */ af0db57d4293cc Namjae Jeon 2026-02-13 352 sd_len = sizeof(struct security_descriptor_relative) + 2 * af0db57d4293cc Namjae Jeon 2026-02-13 353 (sizeof(struct ntfs_sid) + 8) + sizeof(struct ntfs_acl) + af0db57d4293cc Namjae Jeon 2026-02-13 354 sizeof(struct ntfs_ace) + 4; af0db57d4293cc Namjae Jeon 2026-02-13 355 sd = kmalloc(sd_len, GFP_NOFS); af0db57d4293cc Namjae Jeon 2026-02-13 356 if (!sd) af0db57d4293cc Namjae Jeon 2026-02-13 357 return -1; af0db57d4293cc Namjae Jeon 2026-02-13 358 af0db57d4293cc Namjae Jeon 2026-02-13 359 sd->revision = 1; af0db57d4293cc Namjae Jeon 2026-02-13 @360 sd->control = SE_DACL_PRESENT | SE_SELF_RELATIVE; af0db57d4293cc Namjae Jeon 2026-02-13 361 af0db57d4293cc Namjae Jeon 2026-02-13 362 sid = (struct ntfs_sid *)((u8 *)sd + sizeof(struct security_descriptor_relative)); af0db57d4293cc Namjae Jeon 2026-02-13 363 sid->revision = 1; af0db57d4293cc Namjae Jeon 2026-02-13 364 sid->sub_authority_count = 2; af0db57d4293cc Namjae Jeon 2026-02-13 365 sid->sub_authority[0] = cpu_to_le32(SECURITY_BUILTIN_DOMAIN_RID); af0db57d4293cc Namjae Jeon 2026-02-13 366 sid->sub_authority[1] = cpu_to_le32(DOMAIN_ALIAS_RID_ADMINS); af0db57d4293cc Namjae Jeon 2026-02-13 367 sid->identifier_authority.value[5] = 5; af0db57d4293cc Namjae Jeon 2026-02-13 368 sd->owner = cpu_to_le32((u8 *)sid - (u8 *)sd); af0db57d4293cc Namjae Jeon 2026-02-13 369 af0db57d4293cc Namjae Jeon 2026-02-13 370 sid = (struct ntfs_sid *)((u8 *)sid + sizeof(struct ntfs_sid) + 8); af0db57d4293cc Namjae Jeon 2026-02-13 371 sid->revision = 1; af0db57d4293cc Namjae Jeon 2026-02-13 372 sid->sub_authority_count = 2; af0db57d4293cc Namjae Jeon 2026-02-13 373 sid->sub_authority[0] = cpu_to_le32(SECURITY_BUILTIN_DOMAIN_RID); af0db57d4293cc Namjae Jeon 2026-02-13 374 sid->sub_authority[1] = cpu_to_le32(DOMAIN_ALIAS_RID_ADMINS); af0db57d4293cc Namjae Jeon 2026-02-13 375 sid->identifier_authority.value[5] = 5; af0db57d4293cc Namjae Jeon 2026-02-13 376 sd->group = cpu_to_le32((u8 *)sid - (u8 *)sd); af0db57d4293cc Namjae Jeon 2026-02-13 377 af0db57d4293cc Namjae Jeon 2026-02-13 378 acl = (struct ntfs_acl *)((u8 *)sid + sizeof(struct ntfs_sid) + 8); af0db57d4293cc Namjae Jeon 2026-02-13 379 acl->revision = 2; af0db57d4293cc Namjae Jeon 2026-02-13 380 acl->size = cpu_to_le16(sizeof(struct ntfs_acl) + sizeof(struct ntfs_ace) + 4); af0db57d4293cc Namjae Jeon 2026-02-13 381 acl->ace_count = cpu_to_le16(1); af0db57d4293cc Namjae Jeon 2026-02-13 382 sd->dacl = cpu_to_le32((u8 *)acl - (u8 *)sd); af0db57d4293cc Namjae Jeon 2026-02-13 383 af0db57d4293cc Namjae Jeon 2026-02-13 384 ace = (struct ntfs_ace *)((u8 *)acl + sizeof(struct ntfs_acl)); af0db57d4293cc Namjae Jeon 2026-02-13 385 ace->type = ACCESS_ALLOWED_ACE_TYPE; af0db57d4293cc Namjae Jeon 2026-02-13 386 ace->flags = OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE; af0db57d4293cc Namjae Jeon 2026-02-13 387 ace->size = cpu_to_le16(sizeof(struct ntfs_ace) + 4); af0db57d4293cc Namjae Jeon 2026-02-13 388 ace->mask = cpu_to_le32(0x1f01ff); af0db57d4293cc Namjae Jeon 2026-02-13 389 ace->sid.revision = 1; af0db57d4293cc Namjae Jeon 2026-02-13 390 ace->sid.sub_authority_count = 1; af0db57d4293cc Namjae Jeon 2026-02-13 391 ace->sid.sub_authority[0] = 0; af0db57d4293cc Namjae Jeon 2026-02-13 392 ace->sid.identifier_authority.value[5] = 1; af0db57d4293cc Namjae Jeon 2026-02-13 393 af0db57d4293cc Namjae Jeon 2026-02-13 394 ret = ntfs_attr_add(ni, AT_SECURITY_DESCRIPTOR, AT_UNNAMED, 0, (u8 *)sd, af0db57d4293cc Namjae Jeon 2026-02-13 395 sd_len); af0db57d4293cc Namjae Jeon 2026-02-13 396 if (ret) af0db57d4293cc Namjae Jeon 2026-02-13 397 ntfs_error(ni->vol->sb, "Failed to add SECURITY_DESCRIPTOR\n"); af0db57d4293cc Namjae Jeon 2026-02-13 398 af0db57d4293cc Namjae Jeon 2026-02-13 399 kfree(sd); af0db57d4293cc Namjae Jeon 2026-02-13 400 return ret; af0db57d4293cc Namjae Jeon 2026-02-13 401 } af0db57d4293cc Namjae Jeon 2026-02-13 402 :::::: The code at line 360 was first introduced by commit :::::: af0db57d4293cc9fe6ce99fb5592dc2652228c9d ntfs: update inode operations :::::: TO: Namjae Jeon <[email protected]> :::::: CC: Namjae Jeon <[email protected]> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki