* fs/bcachefs/quota.c:130:15: warning: arithmetic between different enumeration types ('enum quota_types' and 'enum quota_counters')
@ 2024-03-01 0:35 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2024-03-01 0:35 UTC (permalink / raw)
To: Kent Overstreet; +Cc: llvm, oe-kbuild-all, linux-kernel
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 87adedeba51a822533649b143232418b9e26d08b
commit: 1c6fdbd8f2465ddfb73a01ec620cbf3d14044e1a bcachefs: Initial commit
date: 4 months ago
config: hexagon-randconfig-001-20240229 (https://download.01.org/0day-ci/archive/20240301/202403010825.qnve2eAU-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project edd4aee4dd9b5b98b2576a6f783e4086173d902a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240301/202403010825.qnve2eAU-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/oe-kbuild-all/202403010825.qnve2eAU-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from fs/bcachefs/quota.c:2:
In file included from fs/bcachefs/bcachefs.h:184:
In file included from include/linux/bio.h:10:
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:10:
In file included from include/linux/mm.h:2168:
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
In file included from fs/bcachefs/quota.c:2:
In file included from fs/bcachefs/bcachefs.h:184:
In file included from include/linux/bio.h:10:
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/hexagon/include/generated/asm/hardirq.h:1:
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:13:
In file included from arch/hexagon/include/asm/io.h:337:
include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
547 | val = __raw_readb(PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
560 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
| ^
In file included from fs/bcachefs/quota.c:2:
In file included from fs/bcachefs/bcachefs.h:184:
In file included from include/linux/bio.h:10:
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/hexagon/include/generated/asm/hardirq.h:1:
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:13:
In file included from arch/hexagon/include/asm/io.h:337:
include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
573 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
| ^
In file included from fs/bcachefs/quota.c:2:
In file included from fs/bcachefs/bcachefs.h:184:
In file included from include/linux/bio.h:10:
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/hexagon/include/generated/asm/hardirq.h:1:
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:13:
In file included from arch/hexagon/include/asm/io.h:337:
include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
584 | __raw_writeb(value, PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
594 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
604 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
fs/bcachefs/quota.c:25:24: warning: variable 'dq' set but not used [-Wunused-but-set-variable]
25 | struct bkey_s_c_quota dq;
| ^
>> fs/bcachefs/quota.c:130:15: warning: arithmetic between different enumeration types ('enum quota_types' and 'enum quota_counters') [-Wenum-enum-conversion]
130 | } m[QTYP_NR * Q_COUNTERS];
| ~~~~~~~ ^ ~~~~~~~~~~
fs/bcachefs/quota.c:612:28: warning: variable 'q' set but not used [-Wunused-but-set-variable]
612 | struct bch_memquota_type *q;
| ^
fs/bcachefs/quota.c:765:8: error: call to undeclared function 'COUNT_ARGS'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
765 | ret = bch2_btree_insert_at(c, NULL, NULL, NULL, 0,
| ^
fs/bcachefs/btree_update.h:72:10: note: expanded from macro 'bch2_btree_insert_at'
72 | .nr = COUNT_ARGS(__VA_ARGS__), \
| ^
10 warnings and 1 error generated.
vim +130 fs/bcachefs/quota.c
124
125 struct quota_msgs {
126 u8 nr;
127 struct {
128 u8 qtype;
129 u8 msg;
> 130 } m[QTYP_NR * Q_COUNTERS];
131 };
132
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
* fs/bcachefs/quota.c:130:15: warning: arithmetic between different enumeration types ('enum quota_types' and 'enum quota_counters')
@ 2025-03-02 15:42 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2025-03-02 15:42 UTC (permalink / raw)
Cc: oe-kbuild-all, llvm
CC: linux-kernel@vger.kernel.org
TO: Kent Overstreet <kent.overstreet@linux.dev>
Hi Kent,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 1973160c90d7886c523e52e1f56164e6a74f0474
commit: 1c6fdbd8f2465ddfb73a01ec620cbf3d14044e1a bcachefs: Initial commit
date: 1 year, 4 months ago
config: x86_64-buildonly-randconfig-004-20241224 (https://download.01.org/0day-ci/archive/20250302/202503022349.eydi1bf1-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250302/202503022349.eydi1bf1-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/oe-kbuild-all/202503022349.eydi1bf1-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from fs/bcachefs/quota.c:2:
In file included from fs/bcachefs/bcachefs.h:184:
In file included from include/linux/bio.h:10:
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:8:
In file included from include/linux/cacheflush.h:5:
In file included from arch/x86/include/asm/cacheflush.h:5:
In file included from include/linux/mm.h:2168:
include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
fs/bcachefs/quota.c:25:24: warning: variable 'dq' set but not used [-Wunused-but-set-variable]
25 | struct bkey_s_c_quota dq;
| ^
>> fs/bcachefs/quota.c:130:15: warning: arithmetic between different enumeration types ('enum quota_types' and 'enum quota_counters') [-Wenum-enum-conversion]
130 | } m[QTYP_NR * Q_COUNTERS];
| ~~~~~~~ ^ ~~~~~~~~~~
fs/bcachefs/quota.c:612:28: warning: variable 'q' set but not used [-Wunused-but-set-variable]
612 | struct bch_memquota_type *q;
| ^
7 warnings generated.
vim +130 fs/bcachefs/quota.c
22
23 const char *bch2_quota_invalid(const struct bch_fs *c, struct bkey_s_c k)
24 {
> 25 struct bkey_s_c_quota dq;
26
27 if (k.k->p.inode >= QTYP_NR)
28 return "invalid quota type";
29
30 switch (k.k->type) {
31 case BCH_QUOTA: {
32 dq = bkey_s_c_to_quota(k);
33
34 if (bkey_val_bytes(k.k) != sizeof(struct bch_quota))
35 return "incorrect value size";
36
37 return NULL;
38 }
39 default:
40 return "invalid type";
41 }
42 }
43
44 static const char * const bch2_quota_counters[] = {
45 "space",
46 "inodes",
47 };
48
49 void bch2_quota_to_text(struct bch_fs *c, char *buf,
50 size_t size, struct bkey_s_c k)
51 {
52 char *out = buf, *end= buf + size;
53 struct bkey_s_c_quota dq;
54 unsigned i;
55
56 switch (k.k->type) {
57 case BCH_QUOTA:
58 dq = bkey_s_c_to_quota(k);
59
60 for (i = 0; i < Q_COUNTERS; i++)
61 out += scnprintf(out, end - out, "%s hardlimit %llu softlimit %llu",
62 bch2_quota_counters[i],
63 le64_to_cpu(dq.v->c[i].hardlimit),
64 le64_to_cpu(dq.v->c[i].softlimit));
65 break;
66 }
67 }
68
69 #ifdef CONFIG_BCACHEFS_QUOTA
70
71 #include <linux/cred.h>
72 #include <linux/fs.h>
73 #include <linux/quota.h>
74
75 static inline unsigned __next_qtype(unsigned i, unsigned qtypes)
76 {
77 qtypes >>= i;
78 return qtypes ? i + __ffs(qtypes) : QTYP_NR;
79 }
80
81 #define for_each_set_qtype(_c, _i, _q, _qtypes) \
82 for (_i = 0; \
83 (_i = __next_qtype(_i, _qtypes), \
84 _q = &(_c)->quotas[_i], \
85 _i < QTYP_NR); \
86 _i++)
87
88 static bool ignore_hardlimit(struct bch_memquota_type *q)
89 {
90 if (capable(CAP_SYS_RESOURCE))
91 return true;
92 #if 0
93 struct mem_dqinfo *info = &sb_dqopt(dquot->dq_sb)->info[dquot->dq_id.type];
94
95 return capable(CAP_SYS_RESOURCE) &&
96 (info->dqi_format->qf_fmt_id != QFMT_VFS_OLD ||
97 !(info->dqi_flags & DQF_ROOT_SQUASH));
98 #endif
99 return false;
100 }
101
102 enum quota_msg {
103 SOFTWARN, /* Softlimit reached */
104 SOFTLONGWARN, /* Grace time expired */
105 HARDWARN, /* Hardlimit reached */
106
107 HARDBELOW, /* Usage got below inode hardlimit */
108 SOFTBELOW, /* Usage got below inode softlimit */
109 };
110
111 static int quota_nl[][Q_COUNTERS] = {
112 [HARDWARN][Q_SPC] = QUOTA_NL_BHARDWARN,
113 [SOFTLONGWARN][Q_SPC] = QUOTA_NL_BSOFTLONGWARN,
114 [SOFTWARN][Q_SPC] = QUOTA_NL_BSOFTWARN,
115 [HARDBELOW][Q_SPC] = QUOTA_NL_BHARDBELOW,
116 [SOFTBELOW][Q_SPC] = QUOTA_NL_BSOFTBELOW,
117
118 [HARDWARN][Q_INO] = QUOTA_NL_IHARDWARN,
119 [SOFTLONGWARN][Q_INO] = QUOTA_NL_ISOFTLONGWARN,
120 [SOFTWARN][Q_INO] = QUOTA_NL_ISOFTWARN,
121 [HARDBELOW][Q_INO] = QUOTA_NL_IHARDBELOW,
122 [SOFTBELOW][Q_INO] = QUOTA_NL_ISOFTBELOW,
123 };
124
125 struct quota_msgs {
126 u8 nr;
127 struct {
128 u8 qtype;
129 u8 msg;
> 130 } m[QTYP_NR * Q_COUNTERS];
131 };
132
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-03-02 15:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-02 15:42 fs/bcachefs/quota.c:130:15: warning: arithmetic between different enumeration types ('enum quota_types' and 'enum quota_counters') kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2024-03-01 0:35 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.