* [kdave-btrfs-devel:misc-next 74/75] fs/btrfs/xattr.c:255:17: sparse: sparse: Variable length array is used.
@ 2026-05-16 12:08 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-05-16 12:08 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp
::::::
:::::: Manual check reason: "low confidence static check first_new_problem: fs/btrfs/xattr.c:255:17: sparse: sparse: Variable length array is used."
::::::
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: David Sterba <dsterba@suse.com>
tree: https://github.com/kdave/btrfs-devel.git misc-next
head: 2fddc74b2896a618847bd499927a6e8ebf3114ce
commit: d46116cda48ebb6666ebe47e0d61bb271a944bbe [74/75] btrfs: validate negative error number passed to btrfs_abort_transaction()
:::::: branch date: 11 hours ago
:::::: commit date: 19 hours ago
config: um-randconfig-r112-20260516 (https://download.01.org/0day-ci/archive/20260516/202605162050.wvvnfVKD-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260516/202605162050.wvvnfVKD-lkp@intel.com/reproduce)
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
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202605162050.wvvnfVKD-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> fs/btrfs/xattr.c:255:17: sparse: sparse: Variable length array is used.
fs/btrfs/xattr.c:443:25: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/uuid-tree.c:545:17: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/root-tree.c:153:17: sparse: sparse: Variable length array is used.
fs/btrfs/root-tree.c:172:25: sparse: sparse: Variable length array is used.
fs/btrfs/root-tree.c:178:25: sparse: sparse: Variable length array is used.
fs/btrfs/root-tree.c:185:25: sparse: sparse: Variable length array is used.
fs/btrfs/root-tree.c:420:17: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/reflink.c:48:17: sparse: sparse: Variable length array is used.
fs/btrfs/reflink.c:271:17: sparse: sparse: Variable length array is used.
fs/btrfs/reflink.c:276:17: sparse: sparse: Variable length array is used.
fs/btrfs/reflink.c:288:17: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/verity.c:482:17: sparse: sparse: Variable length array is used.
fs/btrfs/verity.c:487:17: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/raid-stripe-tree.c:365:25: sparse: sparse: Variable length array is used.
fs/btrfs/raid-stripe-tree.c:367:17: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/file-item.c:1055:33: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/inode-item.c:630:33: sparse: sparse: Variable length array is used.
fs/btrfs/inode-item.c:669:33: sparse: sparse: Variable length array is used.
fs/btrfs/inode-item.c:687:41: sparse: sparse: Variable length array is used.
fs/btrfs/inode-item.c:723:25: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/transaction.c:1610:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1750:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1763:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1771:25: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1784:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1790:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1826:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1842:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1854:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1863:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1869:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1892:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1902:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1909:17: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:1933:25: sparse: sparse: Variable length array is used.
fs/btrfs/transaction.c:2069:9: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/free-space-tree.c:1438:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1445:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:230:25: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:265:33: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:272:25: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:281:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:299:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:321:25: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:374:25: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:415:33: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:422:25: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:431:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:456:25: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:472:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:851:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:859:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:867:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1032:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1040:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1048:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1187:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1194:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1205:25: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1298:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1305:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1323:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1352:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1370:25: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1490:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1504:25: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1532:33: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-tree.c:1539:25: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/delayed-inode.c:1027:25: sparse: sparse: Variable length array is used.
fs/btrfs/delayed-inode.c:1055:25: sparse: sparse: Variable length array is used.
fs/btrfs/delayed-inode.c:1080:17: sparse: sparse: Variable length array is used.
fs/btrfs/delayed-inode.c:1161:25: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/free-space-cache.c:362:17: sparse: sparse: Variable length array is used.
fs/btrfs/free-space-cache.c:4194:25: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/file.c:314:41: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:413:41: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:430:33: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:454:25: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:575:17: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:582:17: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:588:17: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:662:25: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:690:25: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:699:33: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:730:25: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:748:25: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:769:25: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:777:17: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:2134:33: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:2462:33: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:2479:33: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:2498:33: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:2512:33: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:2608:25: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:2616:25: sparse: sparse: Variable length array is used.
fs/btrfs/file.c:2626:25: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/extent-tree.c:3315:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3367:33: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3416:33: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3428:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3439:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3490:33: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3552:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:172:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:183:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:896:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:1572:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:1576:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:1608:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:1614:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:1772:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:2247:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3150:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3162:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3171:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3177:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3184:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3192:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:3199:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:4394:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:5678:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:5683:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:5688:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:6091:33: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:6127:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:6384:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:6390:25: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:6417:33: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:6453:17: sparse: sparse: Variable length array is used.
fs/btrfs/extent-tree.c:6461:25: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/block-group.c:1157:17: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:1193:17: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:1230:17: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:1320:25: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:1327:17: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:2939:25: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:2946:33: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:2951:25: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:3441:17: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:3683:33: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:3830:41: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:3832:33: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:4196:25: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:4203:25: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:4209:25: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:4215:25: sparse: sparse: Variable length array is used.
fs/btrfs/block-group.c:4219:17: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/qgroup.c:1079:17: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1086:17: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1097:17: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1133:17: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1152:33: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1159:33: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1167:33: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1173:33: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1190:25: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1201:17: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1215:17: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1417:17: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1423:17: sparse: sparse: Variable length array is used.
fs/btrfs/qgroup.c:1438:17: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/ctree.c:3034:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:2738:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:2743:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:2812:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:2828:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:194:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
fs/btrfs/ctree.c:194:22: sparse: struct extent_buffer [noderef] __rcu *
fs/btrfs/ctree.c:194:22: sparse: struct extent_buffer *
fs/btrfs/ctree.c:292:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:298:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:391:25: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:410:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:527:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:534:25: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:547:25: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:551:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
fs/btrfs/ctree.c:551:17: sparse: struct extent_buffer [noderef] __rcu *
fs/btrfs/ctree.c:551:17: sparse: struct extent_buffer *
fs/btrfs/ctree.c:887:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:890:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
fs/btrfs/ctree.c:890:9: sparse: struct extent_buffer [noderef] __rcu *
fs/btrfs/ctree.c:890:9: sparse: struct extent_buffer *
fs/btrfs/ctree.c:1028:33: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:1037:33: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:1060:25: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:1089:25: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:1099:25: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:1206:33: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:1266:33: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:2898:25: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:2903:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
fs/btrfs/ctree.c:2903:9: sparse: struct extent_buffer [noderef] __rcu *
fs/btrfs/ctree.c:2903:9: sparse: struct extent_buffer *
fs/btrfs/ctree.c:2943:33: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:2956:25: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:3292:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:3403:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:3512:17: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:4389:33: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:4402:25: sparse: sparse: Variable length array is used.
fs/btrfs/ctree.c:4457:17: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/relocation.c:686:9: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:963:25: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:977:25: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:1188:25: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:1201:25: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:1215:25: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:1229:25: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:1654:25: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:1725:25: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:1780:25: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:2321:33: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:3707:17: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:4328:25: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:4723:17: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:4733:25: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:4752:17: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:5038:25: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:5045:17: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:5051:17: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:5057:17: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:5214:17: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:5236:17: sparse: sparse: Variable length array is used.
fs/btrfs/relocation.c:5242:17: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/ioctl.c:381:25: sparse: sparse: Variable length array is used.
fs/btrfs/ioctl.c:387:25: sparse: sparse: Variable length array is used.
fs/btrfs/ioctl.c:636:25: sparse: sparse: Variable length array is used.
fs/btrfs/ioctl.c:647:17: sparse: sparse: Variable length array is used.
fs/btrfs/ioctl.c:657:17: sparse: sparse: Variable length array is used.
fs/btrfs/ioctl.c:664:17: sparse: sparse: Variable length array is used.
fs/btrfs/ioctl.c:672:17: sparse: sparse: Variable length array is used.
fs/btrfs/ioctl.c:3853:17: sparse: sparse: Variable length array is used.
fs/btrfs/ioctl.c:3862:25: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/disk-io.c:4147:25: sparse: sparse: Variable length array is used.
fs/btrfs/disk-io.c:4181:25: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/tree-log.c:191:9: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:445:33: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:456:25: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:463:33: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:2972:25: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:3030:33: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:3049:49: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:3068:33: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:3572:17: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:3583:17: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:3668:33: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:7710:17: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:7725:25: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:7743:25: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:7752:33: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:7769:33: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:7778:25: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:7784:25: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:7795:33: sparse: sparse: Variable length array is used.
fs/btrfs/tree-log.c:7808:33: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/volumes.c:2363:17: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:2900:25: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:2957:25: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:2964:17: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:2971:25: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:3170:17: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:3380:25: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:3470:25: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:3477:25: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:3483:25: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:3489:25: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:3493:17: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:3502:25: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:5363:17: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:6169:17: sparse: sparse: Variable length array is used.
fs/btrfs/volumes.c:6178:17: sparse: sparse: Variable length array is used.
--
>> fs/btrfs/inode.c:643:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:651:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:661:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:3090:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:3099:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:3107:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:3123:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:3130:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:3142:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:3148:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:3166:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:3514:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:4284:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:4293:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:4448:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:4466:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:4479:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:4486:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:4495:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:4657:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:4663:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:4677:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:4685:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:4694:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:5093:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:5100:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:6578:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:6655:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:6663:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:6675:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:6682:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:6746:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:6757:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:6768:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:6774:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:6904:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:6915:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8218:33: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8266:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8274:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8279:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8288:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8296:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8301:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8309:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8316:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8557:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8565:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8570:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8581:33: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8590:33: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8598:33: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8607:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8621:25: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8898:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:8909:17: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:9137:33: sparse: sparse: Variable length array is used.
fs/btrfs/inode.c:9150:25: sparse: sparse: Variable length array is used.
vim +255 fs/btrfs/xattr.c
f34f57a3ab4e73 Yan, Zheng 2009-11-12 210
4815053aba7f23 David Sterba 2011-09-11 211 /*
4815053aba7f23 David Sterba 2011-09-11 212 * @value: "" makes the attribute to empty, NULL removes it
4815053aba7f23 David Sterba 2011-09-11 213 */
e3de9b159a927f Anand Jain 2019-04-12 214 int btrfs_setxattr_trans(struct inode *inode, const char *name,
f34f57a3ab4e73 Yan, Zheng 2009-11-12 215 const void *value, size_t size, int flags)
f34f57a3ab4e73 Yan, Zheng 2009-11-12 216 {
f34f57a3ab4e73 Yan, Zheng 2009-11-12 217 struct btrfs_root *root = BTRFS_I(inode)->root;
e3de9b159a927f Anand Jain 2019-04-12 218 struct btrfs_trans_handle *trans;
fd57a98d6f0c98 Filipe Manana 2021-02-26 219 const bool start_trans = (current->journal_info == NULL);
f34f57a3ab4e73 Yan, Zheng 2009-11-12 220 int ret;
f34f57a3ab4e73 Yan, Zheng 2009-11-12 221
fd57a98d6f0c98 Filipe Manana 2021-02-26 222 if (start_trans) {
fd57a98d6f0c98 Filipe Manana 2021-02-26 223 /*
fd57a98d6f0c98 Filipe Manana 2021-02-26 224 * 1 unit for inserting/updating/deleting the xattr
fd57a98d6f0c98 Filipe Manana 2021-02-26 225 * 1 unit for the inode item update
fd57a98d6f0c98 Filipe Manana 2021-02-26 226 */
a22285a6a32390 Yan, Zheng 2010-05-16 227 trans = btrfs_start_transaction(root, 2);
a22285a6a32390 Yan, Zheng 2010-05-16 228 if (IS_ERR(trans))
a22285a6a32390 Yan, Zheng 2010-05-16 229 return PTR_ERR(trans);
fd57a98d6f0c98 Filipe Manana 2021-02-26 230 } else {
fd57a98d6f0c98 Filipe Manana 2021-02-26 231 /*
fd57a98d6f0c98 Filipe Manana 2021-02-26 232 * This can happen when smack is enabled and a directory is being
fd57a98d6f0c98 Filipe Manana 2021-02-26 233 * created. It happens through d_instantiate_new(), which calls
fd57a98d6f0c98 Filipe Manana 2021-02-26 234 * smack_d_instantiate(), which in turn calls __vfs_setxattr() to
fd57a98d6f0c98 Filipe Manana 2021-02-26 235 * set the transmute xattr (XATTR_NAME_SMACKTRANSMUTE) on the
fd57a98d6f0c98 Filipe Manana 2021-02-26 236 * inode. We have already reserved space for the xattr and inode
fd57a98d6f0c98 Filipe Manana 2021-02-26 237 * update at btrfs_mkdir(), so just use the transaction handle.
fd57a98d6f0c98 Filipe Manana 2021-02-26 238 * We don't join or start a transaction, as that will reset the
fd57a98d6f0c98 Filipe Manana 2021-02-26 239 * block_rsv of the handle and trigger a warning for the start
fd57a98d6f0c98 Filipe Manana 2021-02-26 240 * case.
fd57a98d6f0c98 Filipe Manana 2021-02-26 241 */
fd57a98d6f0c98 Filipe Manana 2021-02-26 242 ASSERT(strncmp(name, XATTR_SECURITY_PREFIX,
fd57a98d6f0c98 Filipe Manana 2021-02-26 243 XATTR_SECURITY_PREFIX_LEN) == 0);
fd57a98d6f0c98 Filipe Manana 2021-02-26 244 trans = current->journal_info;
fd57a98d6f0c98 Filipe Manana 2021-02-26 245 }
f34f57a3ab4e73 Yan, Zheng 2009-11-12 246
2d74fa3efcffe4 Anand Jain 2019-04-12 247 ret = btrfs_setxattr(trans, inode, name, value, size, flags);
5103e947b9b7ac Josef Bacik 2007-11-16 248 if (ret)
5103e947b9b7ac Josef Bacik 2007-11-16 249 goto out;
5103e947b9b7ac Josef Bacik 2007-11-16 250
0c4d2d95d06e92 Josef Bacik 2012-04-05 251 inode_inc_iversion(inode);
2a9462de4352d1 Jeff Layton 2023-07-05 252 inode_set_ctime_current(inode);
8b9d032225be93 Filipe Manana 2023-09-22 253 ret = btrfs_update_inode(trans, BTRFS_I(inode));
193b4e83986d7e Filipe Manana 2022-04-21 254 if (ret)
193b4e83986d7e Filipe Manana 2022-04-21 @255 btrfs_abort_transaction(trans, ret);
f34f57a3ab4e73 Yan, Zheng 2009-11-12 256 out:
fd57a98d6f0c98 Filipe Manana 2021-02-26 257 if (start_trans)
3a45bb207ee2c5 Jeff Mahoney 2016-09-09 258 btrfs_end_transaction(trans);
5103e947b9b7ac Josef Bacik 2007-11-16 259 return ret;
5103e947b9b7ac Josef Bacik 2007-11-16 260 }
5103e947b9b7ac Josef Bacik 2007-11-16 261
:::::: The code at line 255 was first introduced by commit
:::::: 193b4e83986d7ee6caa8ceefb5ee9f58240fbee0 btrfs: do not BUG_ON() on failure to update inode when setting xattr
:::::: TO: Filipe Manana <fdmanana@suse.com>
:::::: CC: David Sterba <dsterba@suse.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-05-16 12:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-16 12:08 [kdave-btrfs-devel:misc-next 74/75] fs/btrfs/xattr.c:255:17: sparse: sparse: Variable length array is used kernel test robot
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.