* [linux-next:master 3533/3772] fs/jfs/jfs_incore.h:86:13: error: type name does not allow function specifier to be specified
@ 2025-10-23 23:34 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-10-23 23:34 UTC (permalink / raw)
To: Rasmus Villemoes; +Cc: llvm, oe-kbuild-all, Nathan Chancellor
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: efb26a23ed5f5dc3554886ab398f559dcb1de96b
commit: 778740ee2d00e5c04d0c8ffd9c3beea89b1ec554 [3533/3772] Kbuild: enable -fms-extensions
:::::: branch date: 15 hours ago
:::::: commit date: 21 hours ago
config: um-allmodconfig (https://download.01.org/0day-ci/archive/20251024/202510240105.5IZwS9F5-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251024/202510240105.5IZwS9F5-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/202510240105.5IZwS9F5-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from fs/jfs/super.c:12:
In file included from include/linux/fs_context.h:14:
In file included from include/linux/security.h:35:
In file included from include/linux/bpf.h:32:
In file included from include/linux/memcontrol.h:13:
In file included from include/linux/cgroup.h:27:
In file included from include/linux/kernel_stat.h:8:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
1209 | return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
| ~~~~~~~~~~ ^
In file included from fs/jfs/super.c:25:
>> fs/jfs/jfs_incore.h:86:13: error: type name does not allow function specifier to be specified
86 | unchar _inline[128];
| ^
>> fs/jfs/jfs_incore.h:86:20: error: expected member name or ';' after declaration specifiers
86 | unchar _inline[128];
| ~~~~~~~~~~~~~~^
1 warning and 2 errors generated.
--
In file included from fs/jfs/file.c:11:
>> fs/jfs/jfs_incore.h:86:13: error: type name does not allow function specifier to be specified
86 | unchar _inline[128];
| ^
>> fs/jfs/jfs_incore.h:86:20: error: expected member name or ';' after declaration specifiers
86 | unchar _inline[128];
| ~~~~~~~~~~~~~~^
2 errors generated.
--
In file included from fs/jfs/inode.c:9:
In file included from include/linux/buffer_head.h:12:
In file included from include/linux/blk_types.h:10:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
1209 | return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
| ~~~~~~~~~~ ^
In file included from fs/jfs/inode.c:14:
>> fs/jfs/jfs_incore.h:86:13: error: type name does not allow function specifier to be specified
86 | unchar _inline[128];
| ^
>> fs/jfs/jfs_incore.h:86:20: error: expected member name or ';' after declaration specifiers
86 | unchar _inline[128];
| ~~~~~~~~~~~~~~^
>> fs/jfs/inode.c:55:35: error: expected identifier
55 | inode->i_link = JFS_IP(inode)->i_inline;
| ^
fs/jfs/jfs_incore.h:104:25: note: expanded from macro 'i_inline'
104 | #define i_inline u.link._inline
| ^
1 warning and 3 errors generated.
--
In file included from fs/jfs/namei.c:12:
>> fs/jfs/jfs_incore.h:86:13: error: type name does not allow function specifier to be specified
86 | unchar _inline[128];
| ^
>> fs/jfs/jfs_incore.h:86:20: error: expected member name or ';' after declaration specifiers
86 | unchar _inline[128];
| ~~~~~~~~~~~~~~^
In file included from fs/jfs/namei.c:18:
In file included from fs/jfs/jfs_metapage.h:9:
In file included from include/linux/pagemap.h:11:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
1209 | return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
| ~~~~~~~~~~ ^
>> fs/jfs/namei.c:963:35: error: expected identifier
963 | if (ssize > sizeof (JFS_IP(ip)->i_inline))
| ^
fs/jfs/jfs_incore.h:104:25: note: expanded from macro 'i_inline'
104 | #define i_inline u.link._inline
| ^
1 warning and 3 errors generated.
--
In file included from fs/jfs/jfs_umount.c:18:
>> fs/jfs/jfs_incore.h:86:13: error: type name does not allow function specifier to be specified
86 | unchar _inline[128];
| ^
>> fs/jfs/jfs_incore.h:86:20: error: expected member name or ';' after declaration specifiers
86 | unchar _inline[128];
| ~~~~~~~~~~~~~~^
In file included from fs/jfs/jfs_umount.c:23:
In file included from fs/jfs/jfs_metapage.h:9:
In file included from include/linux/pagemap.h:11:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
1209 | return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
| ~~~~~~~~~~ ^
1 warning and 2 errors generated.
--
In file included from fs/jfs/jfs_imap.c:32:
In file included from include/linux/buffer_head.h:12:
In file included from include/linux/blk_types.h:10:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
1209 | return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
| ~~~~~~~~~~ ^
In file included from fs/jfs/jfs_imap.c:37:
>> fs/jfs/jfs_incore.h:86:13: error: type name does not allow function specifier to be specified
86 | unchar _inline[128];
| ^
>> fs/jfs/jfs_incore.h:86:20: error: expected member name or ';' after declaration specifiers
86 | unchar _inline[128];
| ~~~~~~~~~~~~~~^
>> fs/jfs/jfs_imap.c:779:36: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
779 | memcpy(&dp->di_inlineea, jfs_ip->i_inline_ea, INODESLOTSIZE);
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
>> fs/jfs/jfs_imap.c:779:36: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
779 | memcpy(&dp->di_inlineea, jfs_ip->i_inline_ea, INODESLOTSIZE);
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
>> fs/jfs/jfs_imap.c:779:36: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
779 | memcpy(&dp->di_inlineea, jfs_ip->i_inline_ea, INODESLOTSIZE);
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/jfs_imap.c:3108:19: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
3108 | memcpy(&jfs_ip->i_inline_ea, &dip->di_inlineea, 128);
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/jfs_imap.c:3108:19: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
3108 | memcpy(&jfs_ip->i_inline_ea, &dip->di_inlineea, 128);
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/jfs_imap.c:3108:19: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
3108 | memcpy(&jfs_ip->i_inline_ea, &dip->di_inlineea, 128);
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
1 warning and 8 errors generated.
--
In file included from fs/jfs/jfs_dtree.c:93:
>> fs/jfs/jfs_incore.h:86:13: error: type name does not allow function specifier to be specified
86 | unchar _inline[128];
| ^
>> fs/jfs/jfs_incore.h:86:20: error: expected member name or ';' after declaration specifiers
86 | unchar _inline[128];
| ~~~~~~~~~~~~~~^
In file included from fs/jfs/jfs_dtree.c:96:
In file included from fs/jfs/jfs_metapage.h:9:
In file included from include/linux/pagemap.h:11:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
1209 | return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
| ~~~~~~~~~~ ^
fs/jfs/jfs_dtree.c:2906:31: warning: result of comparison of constant 128 with expression of type 's8' (aka 'signed char') is always false [-Wtautological-constant-out-of-range-compare]
2906 | if (stbl[i] < 0 || stbl[i] >= DTPAGEMAXSLOT) {
| ~~~~~~~ ^ ~~~~~~~~~~~~~
fs/jfs/jfs_dtree.c:3111:30: warning: result of comparison of constant 128 with expression of type 's8' (aka 'signed char') is always false [-Wtautological-constant-out-of-range-compare]
3111 | if (stbl[0] < 0 || stbl[0] >= DTPAGEMAXSLOT) {
| ~~~~~~~ ^ ~~~~~~~~~~~~~
3 warnings and 2 errors generated.
--
In file included from fs/jfs/xattr.c:13:
In file included from include/linux/security.h:35:
In file included from include/linux/bpf.h:32:
In file included from include/linux/memcontrol.h:13:
In file included from include/linux/cgroup.h:27:
In file included from include/linux/kernel_stat.h:8:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/um/include/asm/hardirq.h:5:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
1209 | return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
| ~~~~~~~~~~ ^
In file included from fs/jfs/xattr.c:14:
>> fs/jfs/jfs_incore.h:86:13: error: type name does not allow function specifier to be specified
86 | unchar _inline[128];
| ^
>> fs/jfs/jfs_incore.h:86:20: error: expected member name or ';' after declaration specifiers
86 | unchar _inline[128];
| ~~~~~~~~~~~~~~^
>> fs/jfs/xattr.c:153:30: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
153 | assert(size <= sizeof (ji->i_inline_ea));
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/xattr.c:165:14: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
165 | memcpy(ji->i_inline_ea, ealist, size);
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/xattr.c:165:14: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
165 | memcpy(ji->i_inline_ea, ealist, size);
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/xattr.c:165:14: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
165 | memcpy(ji->i_inline_ea, ealist, size);
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/xattr.c:219:37: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
219 | if (!ealist || size <= sizeof (ji->i_inline_ea)) {
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/xattr.c:328:38: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
328 | if ((sizeDXD(&ji->ea) > sizeof (ji->i_inline_ea)))
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/xattr.c:330:47: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
330 | if (le32_to_cpu(((struct jfs_ea_list *) &ji->i_inline_ea)->size)
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/xattr.c:334:21: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
334 | memcpy(ealist, ji->i_inline_ea, ea_size);
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/xattr.c:334:21: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
334 | memcpy(ealist, ji->i_inline_ea, ea_size);
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/xattr.c:334:21: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
334 | memcpy(ealist, ji->i_inline_ea, ea_size);
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/xattr.c:450:32: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
450 | if ((min_size <= sizeof (ji->i_inline_ea)) &&
| ^
fs/jfs/jfs_incore.h:105:28: note: expanded from macro 'i_inline_ea'
105 | #define i_inline_ea u.link._inline_ea
| ^
fs/jfs/jfs_incore.h:90:12: note: '_inline_all' declared here
90 | unchar _inline_all[256];
| ^
fs/jfs/xattr.c:453:35: error: no member named '_inline_ea' in 'struct jfs_inode_info::(unnamed at fs/jfs/jfs_incore.h:76:3)'; did you mean '_inline_all'?
453 | ea_buf->max_size = sizeof (ji->i_inline_ea);
vim +86 fs/jfs/jfs_incore.h
^1da177e4c3f41 Linus Torvalds 2005-04-16 23
^1da177e4c3f41 Linus Torvalds 2005-04-16 24 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 25 * JFS-private inode information
^1da177e4c3f41 Linus Torvalds 2005-04-16 26 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 27 struct jfs_inode_info {
^1da177e4c3f41 Linus Torvalds 2005-04-16 28 int fileset; /* fileset number (always 16)*/
^1da177e4c3f41 Linus Torvalds 2005-04-16 29 uint mode2; /* jfs-specific mode */
c18cdc1a3ec643 Eric W. Biederman 2012-02-10 30 kuid_t saved_uid; /* saved for uid mount option */
c18cdc1a3ec643 Eric W. Biederman 2012-02-10 31 kgid_t saved_gid; /* saved for gid mount option */
^1da177e4c3f41 Linus Torvalds 2005-04-16 32 pxd_t ixpxd; /* inode extent descriptor */
^1da177e4c3f41 Linus Torvalds 2005-04-16 33 dxd_t acl; /* dxd describing acl */
^1da177e4c3f41 Linus Torvalds 2005-04-16 34 dxd_t ea; /* dxd describing ea */
bd646104ac5a6b Arnd Bergmann 2018-06-19 35 time64_t otime; /* time created */
^1da177e4c3f41 Linus Torvalds 2005-04-16 36 uint next_index; /* next available directory entry index */
^1da177e4c3f41 Linus Torvalds 2005-04-16 37 int acltype; /* Type of ACL */
^1da177e4c3f41 Linus Torvalds 2005-04-16 38 short btorder; /* access order */
^1da177e4c3f41 Linus Torvalds 2005-04-16 39 short btindex; /* btpage entry index*/
^1da177e4c3f41 Linus Torvalds 2005-04-16 40 struct inode *ipimap; /* inode map */
5ba253313d0143 Al Viro 2007-10-14 41 unsigned long cflag; /* commit flags */
ecc90462b428db Dave Kleikamp 2011-06-20 42 u64 agstart; /* agstart of the containing IAG */
^1da177e4c3f41 Linus Torvalds 2005-04-16 43 u16 bxflag; /* xflag of pseudo buffer? */
d31b53e3cd069e Dave Kleikamp 2011-06-20 44 unchar pad;
^1da177e4c3f41 Linus Torvalds 2005-04-16 45 signed char active_ag; /* ag currently allocating from */
^1da177e4c3f41 Linus Torvalds 2005-04-16 46 lid_t blid; /* lid of pseudo buffer? */
^1da177e4c3f41 Linus Torvalds 2005-04-16 47 lid_t atlhead; /* anonymous tlock list head */
^1da177e4c3f41 Linus Torvalds 2005-04-16 48 lid_t atltail; /* anonymous tlock list tail */
^1da177e4c3f41 Linus Torvalds 2005-04-16 49 spinlock_t ag_lock; /* protects active_ag */
^1da177e4c3f41 Linus Torvalds 2005-04-16 50 struct list_head anon_inode_list; /* inodes having anonymous txns */
^1da177e4c3f41 Linus Torvalds 2005-04-16 51 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 52 * rdwrlock serializes xtree between reads & writes and synchronizes
^1da177e4c3f41 Linus Torvalds 2005-04-16 53 * changes to special inodes. It's use would be redundant on
1b1dcc1b57a491 Jes Sorensen 2006-01-09 54 * directories since the i_mutex taken in the VFS is sufficient.
^1da177e4c3f41 Linus Torvalds 2005-04-16 55 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 56 struct rw_semaphore rdwrlock;
^1da177e4c3f41 Linus Torvalds 2005-04-16 57 /*
1de87444f8f910 Ingo Molnar 2006-01-24 58 * commit_mutex serializes transaction processing on an inode.
^1da177e4c3f41 Linus Torvalds 2005-04-16 59 * It must be taken after beginning a transaction (txBegin), since
^1da177e4c3f41 Linus Torvalds 2005-04-16 60 * dirty inodes may be committed while a new transaction on the
^1da177e4c3f41 Linus Torvalds 2005-04-16 61 * inode is blocked in txBegin or TxBeginAnon
^1da177e4c3f41 Linus Torvalds 2005-04-16 62 */
1de87444f8f910 Ingo Molnar 2006-01-24 63 struct mutex commit_mutex;
1b1dcc1b57a491 Jes Sorensen 2006-01-09 64 /* xattr_sem allows us to access the xattrs without taking i_mutex */
^1da177e4c3f41 Linus Torvalds 2005-04-16 65 struct rw_semaphore xattr_sem;
^1da177e4c3f41 Linus Torvalds 2005-04-16 66 lid_t xtlid; /* lid of xtree lock on directory */
^1da177e4c3f41 Linus Torvalds 2005-04-16 67 union {
^1da177e4c3f41 Linus Torvalds 2005-04-16 68 struct {
a779ed754e52d5 Dave Kleikamp 2023-10-05 69 xtroot_t _xtroot; /* 288: xtree root */
^1da177e4c3f41 Linus Torvalds 2005-04-16 70 struct inomap *_imap; /* 4: inode map header */
^1da177e4c3f41 Linus Torvalds 2005-04-16 71 } file;
^1da177e4c3f41 Linus Torvalds 2005-04-16 72 struct {
^1da177e4c3f41 Linus Torvalds 2005-04-16 73 struct dir_table_slot _table[12]; /* 96: dir index */
^1da177e4c3f41 Linus Torvalds 2005-04-16 74 dtroot_t _dtroot; /* 288: dtree root */
^1da177e4c3f41 Linus Torvalds 2005-04-16 75 } dir;
^1da177e4c3f41 Linus Torvalds 2005-04-16 76 struct {
^1da177e4c3f41 Linus Torvalds 2005-04-16 77 unchar _unused[16]; /* 16: */
^1da177e4c3f41 Linus Torvalds 2005-04-16 78 dxd_t _dxd; /* 16: */
961b33c244e5ba Kees Cook 2018-08-03 79 /* _inline may overflow into _inline_ea when needed */
^1da177e4c3f41 Linus Torvalds 2005-04-16 80 /* _inline_ea may overlay the last part of
^1da177e4c3f41 Linus Torvalds 2005-04-16 81 * file._xtroot if maxentry = XTROOTINITSLOT
^1da177e4c3f41 Linus Torvalds 2005-04-16 82 */
5d299f44d7658f Kees Cook 2021-06-21 83 union {
5d299f44d7658f Kees Cook 2021-06-21 84 struct {
5d299f44d7658f Kees Cook 2021-06-21 85 /* 128: inline symlink */
5d299f44d7658f Kees Cook 2021-06-21 @86 unchar _inline[128];
5d299f44d7658f Kees Cook 2021-06-21 87 /* 128: inline extended attr */
5d299f44d7658f Kees Cook 2021-06-21 88 unchar _inline_ea[128];
5d299f44d7658f Kees Cook 2021-06-21 89 };
5d299f44d7658f Kees Cook 2021-06-21 90 unchar _inline_all[256];
5d299f44d7658f Kees Cook 2021-06-21 91 };
^1da177e4c3f41 Linus Torvalds 2005-04-16 92 } link;
^1da177e4c3f41 Linus Torvalds 2005-04-16 93 } u;
507e1fa697097b Jan Kara 2014-10-01 94 #ifdef CONFIG_QUOTA
ccb49011bb2ebf Jan Kara 2024-02-06 95 struct dquot __rcu *i_dquot[MAXQUOTAS];
507e1fa697097b Jan Kara 2014-10-01 96 #endif
^1da177e4c3f41 Linus Torvalds 2005-04-16 97 u32 dev; /* will die when we get wide dev_t */
^1da177e4c3f41 Linus Torvalds 2005-04-16 98 struct inode vfs_inode;
^1da177e4c3f41 Linus Torvalds 2005-04-16 99 };
^1da177e4c3f41 Linus Torvalds 2005-04-16 100 #define i_xtroot u.file._xtroot
^1da177e4c3f41 Linus Torvalds 2005-04-16 101 #define i_imap u.file._imap
^1da177e4c3f41 Linus Torvalds 2005-04-16 102 #define i_dirtable u.dir._table
^1da177e4c3f41 Linus Torvalds 2005-04-16 103 #define i_dtroot u.dir._dtroot
^1da177e4c3f41 Linus Torvalds 2005-04-16 104 #define i_inline u.link._inline
^1da177e4c3f41 Linus Torvalds 2005-04-16 105 #define i_inline_ea u.link._inline_ea
5d299f44d7658f Kees Cook 2021-06-21 106 #define i_inline_all u.link._inline_all
^1da177e4c3f41 Linus Torvalds 2005-04-16 107
82d5b9a7c63054 Dave Kleikamp 2007-01-09 108 #define IREAD_LOCK(ip, subclass) \
82d5b9a7c63054 Dave Kleikamp 2007-01-09 109 down_read_nested(&JFS_IP(ip)->rdwrlock, subclass)
^1da177e4c3f41 Linus Torvalds 2005-04-16 110 #define IREAD_UNLOCK(ip) up_read(&JFS_IP(ip)->rdwrlock)
82d5b9a7c63054 Dave Kleikamp 2007-01-09 111 #define IWRITE_LOCK(ip, subclass) \
82d5b9a7c63054 Dave Kleikamp 2007-01-09 112 down_write_nested(&JFS_IP(ip)->rdwrlock, subclass)
^1da177e4c3f41 Linus Torvalds 2005-04-16 113 #define IWRITE_UNLOCK(ip) up_write(&JFS_IP(ip)->rdwrlock)
^1da177e4c3f41 Linus Torvalds 2005-04-16 114
^1da177e4c3f41 Linus Torvalds 2005-04-16 115 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 116 * cflag
^1da177e4c3f41 Linus Torvalds 2005-04-16 117 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 118 enum cflags {
^1da177e4c3f41 Linus Torvalds 2005-04-16 119 COMMIT_Nolink, /* inode committed with zero link count */
^1da177e4c3f41 Linus Torvalds 2005-04-16 120 COMMIT_Inlineea, /* commit inode inline EA */
^1da177e4c3f41 Linus Torvalds 2005-04-16 121 COMMIT_Freewmap, /* free WMAP at iClose() */
^1da177e4c3f41 Linus Torvalds 2005-04-16 122 COMMIT_Dirty, /* Inode is really dirty */
^1da177e4c3f41 Linus Torvalds 2005-04-16 123 COMMIT_Dirtable, /* commit changes to di_dirtable */
^1da177e4c3f41 Linus Torvalds 2005-04-16 124 COMMIT_Stale, /* data extent is no longer valid */
^1da177e4c3f41 Linus Torvalds 2005-04-16 125 COMMIT_Synclist, /* metadata pages on group commit synclist */
^1da177e4c3f41 Linus Torvalds 2005-04-16 126 };
^1da177e4c3f41 Linus Torvalds 2005-04-16 127
82d5b9a7c63054 Dave Kleikamp 2007-01-09 128 /*
82d5b9a7c63054 Dave Kleikamp 2007-01-09 129 * commit_mutex nesting subclasses:
82d5b9a7c63054 Dave Kleikamp 2007-01-09 130 */
82d5b9a7c63054 Dave Kleikamp 2007-01-09 131 enum commit_mutex_class
82d5b9a7c63054 Dave Kleikamp 2007-01-09 132 {
82d5b9a7c63054 Dave Kleikamp 2007-01-09 133 COMMIT_MUTEX_PARENT,
82d5b9a7c63054 Dave Kleikamp 2007-01-09 134 COMMIT_MUTEX_CHILD,
82d5b9a7c63054 Dave Kleikamp 2007-01-09 135 COMMIT_MUTEX_SECOND_PARENT, /* Renaming */
82d5b9a7c63054 Dave Kleikamp 2007-01-09 136 COMMIT_MUTEX_VICTIM /* Inode being unlinked due to rename */
82d5b9a7c63054 Dave Kleikamp 2007-01-09 137 };
82d5b9a7c63054 Dave Kleikamp 2007-01-09 138
82d5b9a7c63054 Dave Kleikamp 2007-01-09 139 /*
82d5b9a7c63054 Dave Kleikamp 2007-01-09 140 * rdwrlock subclasses:
82d5b9a7c63054 Dave Kleikamp 2007-01-09 141 * The dmap inode may be locked while a normal inode or the imap inode are
82d5b9a7c63054 Dave Kleikamp 2007-01-09 142 * locked.
82d5b9a7c63054 Dave Kleikamp 2007-01-09 143 */
82d5b9a7c63054 Dave Kleikamp 2007-01-09 144 enum rdwrlock_class
82d5b9a7c63054 Dave Kleikamp 2007-01-09 145 {
82d5b9a7c63054 Dave Kleikamp 2007-01-09 146 RDWRLOCK_NORMAL,
82d5b9a7c63054 Dave Kleikamp 2007-01-09 147 RDWRLOCK_IMAP,
82d5b9a7c63054 Dave Kleikamp 2007-01-09 148 RDWRLOCK_DMAP
82d5b9a7c63054 Dave Kleikamp 2007-01-09 149 };
82d5b9a7c63054 Dave Kleikamp 2007-01-09 150
^1da177e4c3f41 Linus Torvalds 2005-04-16 151 #define set_cflag(flag, ip) set_bit(flag, &(JFS_IP(ip)->cflag))
^1da177e4c3f41 Linus Torvalds 2005-04-16 152 #define clear_cflag(flag, ip) clear_bit(flag, &(JFS_IP(ip)->cflag))
^1da177e4c3f41 Linus Torvalds 2005-04-16 @153 #define test_cflag(flag, ip) test_bit(flag, &(JFS_IP(ip)->cflag))
^1da177e4c3f41 Linus Torvalds 2005-04-16 154 #define test_and_clear_cflag(flag, ip) \
^1da177e4c3f41 Linus Torvalds 2005-04-16 155 test_and_clear_bit(flag, &(JFS_IP(ip)->cflag))
^1da177e4c3f41 Linus Torvalds 2005-04-16 156 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 157 * JFS-private superblock information.
^1da177e4c3f41 Linus Torvalds 2005-04-16 158 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 159 struct jfs_sb_info {
^1da177e4c3f41 Linus Torvalds 2005-04-16 160 struct super_block *sb; /* Point back to vfs super block */
^1da177e4c3f41 Linus Torvalds 2005-04-16 161 unsigned long mntflag; /* aggregate attributes */
^1da177e4c3f41 Linus Torvalds 2005-04-16 162 struct inode *ipbmap; /* block map inode */
^1da177e4c3f41 Linus Torvalds 2005-04-16 163 struct inode *ipaimap; /* aggregate inode map inode */
^1da177e4c3f41 Linus Torvalds 2005-04-16 164 struct inode *ipaimap2; /* secondary aimap inode */
^1da177e4c3f41 Linus Torvalds 2005-04-16 165 struct inode *ipimap; /* aggregate inode map inode */
^1da177e4c3f41 Linus Torvalds 2005-04-16 166 struct jfs_log *log; /* log */
^1da177e4c3f41 Linus Torvalds 2005-04-16 167 struct list_head log_list; /* volumes associated with a journal */
^1da177e4c3f41 Linus Torvalds 2005-04-16 168 short bsize; /* logical block size */
^1da177e4c3f41 Linus Torvalds 2005-04-16 169 short l2bsize; /* log2 logical block size */
^1da177e4c3f41 Linus Torvalds 2005-04-16 170 short nbperpage; /* blocks per page */
^1da177e4c3f41 Linus Torvalds 2005-04-16 171 short l2nbperpage; /* log2 blocks per page */
^1da177e4c3f41 Linus Torvalds 2005-04-16 172 short l2niperblk; /* log2 inodes per page */
^1da177e4c3f41 Linus Torvalds 2005-04-16 173 dev_t logdev; /* external log device */
^1da177e4c3f41 Linus Torvalds 2005-04-16 174 uint aggregate; /* volume identifier in log record */
^1da177e4c3f41 Linus Torvalds 2005-04-16 175 pxd_t logpxd; /* pxd describing log */
^1da177e4c3f41 Linus Torvalds 2005-04-16 176 pxd_t fsckpxd; /* pxd describing fsck wkspc */
^1da177e4c3f41 Linus Torvalds 2005-04-16 177 pxd_t ait2; /* pxd describing AIT copy */
2e3bc6125154c6 Andy Shevchenko 2019-01-10 178 uuid_t uuid; /* 128-bit uuid for volume */
2e3bc6125154c6 Andy Shevchenko 2019-01-10 179 uuid_t loguuid; /* 128-bit uuid for log */
^1da177e4c3f41 Linus Torvalds 2005-04-16 180 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 181 * commit_state is used for synchronization of the jfs_commit
^1da177e4c3f41 Linus Torvalds 2005-04-16 182 * threads. It is protected by LAZY_LOCK().
^1da177e4c3f41 Linus Torvalds 2005-04-16 183 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 184 int commit_state; /* commit state */
^1da177e4c3f41 Linus Torvalds 2005-04-16 185 /* Formerly in ipimap */
^1da177e4c3f41 Linus Torvalds 2005-04-16 186 uint gengen; /* inode generation generator*/
^1da177e4c3f41 Linus Torvalds 2005-04-16 187 uint inostamp; /* shows inode belongs to fileset*/
^1da177e4c3f41 Linus Torvalds 2005-04-16 188
^1da177e4c3f41 Linus Torvalds 2005-04-16 189 /* Formerly in ipbmap */
^1da177e4c3f41 Linus Torvalds 2005-04-16 190 struct bmap *bmap; /* incore bmap descriptor */
^1da177e4c3f41 Linus Torvalds 2005-04-16 191 struct nls_table *nls_tab; /* current codepage */
7fab479bebb96b Dave Kleikamp 2005-05-02 192 struct inode *direct_inode; /* metadata inode */
^1da177e4c3f41 Linus Torvalds 2005-04-16 193 uint state; /* mount/recovery state */
^1da177e4c3f41 Linus Torvalds 2005-04-16 194 unsigned long flag; /* mount time flags */
^1da177e4c3f41 Linus Torvalds 2005-04-16 195 uint p_state; /* state prior to going no integrity */
c18cdc1a3ec643 Eric W. Biederman 2012-02-10 196 kuid_t uid; /* uid to override on-disk uid */
c18cdc1a3ec643 Eric W. Biederman 2012-02-10 197 kgid_t gid; /* gid to override on-disk gid */
69eb66d7da7dba Dave Kleikamp 2006-03-09 198 uint umask; /* umask to override on-disk umask */
b40c2e665cd552 Tino Reichardt 2012-09-17 199 uint minblks_trim; /* minimum blocks, for online trim */
^1da177e4c3f41 Linus Torvalds 2005-04-16 200 };
^1da177e4c3f41 Linus Torvalds 2005-04-16 201
:::::: The code at line 86 was first introduced by commit
:::::: 5d299f44d7658f4423e33a0b9915bc8d81687511 jfs: Avoid field-overflowing memcpy()
:::::: TO: Kees Cook <keescook@chromium.org>
:::::: CC: Dave Kleikamp <dave.kleikamp@oracle.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:[~2025-10-23 23:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-23 23:34 [linux-next:master 3533/3772] fs/jfs/jfs_incore.h:86:13: error: type name does not allow function specifier to be specified kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox