Re: [PATCH 30/46] of: reserved_mem: Add code to use unflattened DT for reserved_mem nodes

From: kernel test robot
Date: Mon Jan 29 2024 - 13:58:27 EST


Hi Oreoluwa,

kernel test robot noticed the following build warnings:

[auto build test WARNING on robh/for-next]
[also build test WARNING on arm64/for-next/core vgupta-arc/for-curr powerpc/next powerpc/fixes jcmvbkbc-xtensa/xtensa-for-next linus/master v6.8-rc2 next-20240129]
[cannot apply to vgupta-arc/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Oreoluwa-Babatunde/of-reserved_mem-Change-the-order-that-reserved_mem-regions-are-stored/20240127-081735
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20240126235425.12233-31-quic_obabatun%40quicinc.com
patch subject: [PATCH 30/46] of: reserved_mem: Add code to use unflattened DT for reserved_mem nodes
config: i386-randconfig-141-20240128 (https://download.01.org/0day-ci/archive/20240130/202401300258.xkXVxP8C-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)

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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401300258.xkXVxP8C-lkp@xxxxxxxxx/

smatch warnings:
drivers/of/of_reserved_mem.c:111 dt_scan_reserved_mem_reg_nodes() warn: unsigned 'node' is never less than zero.

vim +/node +111 drivers/of/of_reserved_mem.c

98
99 /*
100 * Save the reserved_mem reg nodes in the reserved_mem array
101 */
102 static void __init dt_scan_reserved_mem_reg_nodes(void)
103 {
104 int t_len = (dt_root_addr_cells + dt_root_size_cells) * sizeof(__be32);
105 struct device_node *node, *child;
106 phys_addr_t base, size;
107 const __be32 *prop;
108 int len;
109
110 node = of_find_node_by_path("/reserved-memory");
> 111 if (node < 0) {
112 pr_err("Reserved memory: Did not find reserved-memory node\n");
113 return;
114 }
115
116 for_each_child_of_node(node, child) {
117 const char *uname;
118 struct reserved_mem *rmem;
119
120 if (!of_device_is_available(child))
121 continue;
122
123 prop = of_get_property(child, "reg", &len);
124 if (!prop) {
125 rmem = of_reserved_mem_lookup(child);
126 if (rmem)
127 rmem->dev_node = child;
128 continue;
129 }
130
131 uname = of_node_full_name(child);
132 if (len && len % t_len != 0) {
133 pr_err("Reserved memory: invalid reg property in '%s', skipping node.\n",
134 uname);
135 continue;
136 }
137
138 base = dt_mem_next_cell(dt_root_addr_cells, &prop);
139 size = dt_mem_next_cell(dt_root_size_cells, &prop);
140
141 if (size)
142 fdt_reserved_mem_save_node(child, uname, base, size);
143 }
144 }
145

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki