[xlnx:xlnx_rebase_v5.4 1721/1762] drivers/pinctrl/core.c:1273:6: warning: 'ret' may be used uninitialized in this function
by kernel test robot
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4
head: d128303e4c53bcf7775c46771bf64c71596f3303
commit: c82e9765704a437b642de708cdf3c06535e07a89 [1721/1762] pinctrl: core: Handling pinmux and pinconf separately
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/Xilinx/linux-xlnx/commit/c82e9765704a437b642de708cdf3c...
git remote add xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx xlnx_rebase_v5.4
git checkout c82e9765704a437b642de708cdf3c06535e07a89
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings
All warnings (new ones prefixed by >>):
drivers/pinctrl/core.c: In function 'pinctrl_commit_state':
>> drivers/pinctrl/core.c:1273:6: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
1273 | if (ret < 0)
| ^
vim +/ret +1273 drivers/pinctrl/core.c
1231
1232 /**
1233 * pinctrl_commit_state() - select/activate/program a pinctrl state to HW
1234 * @p: the pinctrl handle for the device that requests configuration
1235 * @state: the state handle to select/activate/program
1236 */
1237 static int pinctrl_commit_state(struct pinctrl *p, struct pinctrl_state *state)
1238 {
1239 struct pinctrl_setting *setting, *setting2;
1240 struct pinctrl_state *old_state = p->state;
1241 int ret;
1242
1243 if (p->state) {
1244 /*
1245 * For each pinmux setting in the old state, forget SW's record
1246 * of mux owner for that pingroup. Any pingroups which are
1247 * still owned by the new state will be re-acquired by the call
1248 * to pinmux_enable_setting() in the loop below.
1249 */
1250 list_for_each_entry(setting, &p->state->settings, node) {
1251 if (setting->type != PIN_MAP_TYPE_MUX_GROUP)
1252 continue;
1253 pinmux_disable_setting(setting);
1254 }
1255 }
1256
1257 p->state = NULL;
1258
1259 /* Apply all the settings for the new state - pinmux first */
1260 list_for_each_entry(setting, &state->settings, node) {
1261 switch (setting->type) {
1262 case PIN_MAP_TYPE_MUX_GROUP:
1263 ret = pinmux_enable_setting(setting);
1264 break;
1265 case PIN_MAP_TYPE_CONFIGS_PIN:
1266 case PIN_MAP_TYPE_CONFIGS_GROUP:
1267 break;
1268 default:
1269 ret = -EINVAL;
1270 break;
1271 }
1272
> 1273 if (ret < 0)
1274 goto unapply_new_state;
1275
1276 /* Do not link hogs (circular dependency) */
1277 if (p != setting->pctldev->p)
1278 pinctrl_link_add(setting->pctldev, p->dev);
1279 }
1280
1281 /* Apply all the settings for the new state - pinconf after */
1282 list_for_each_entry(setting, &state->settings, node) {
1283 switch (setting->type) {
1284 case PIN_MAP_TYPE_MUX_GROUP:
1285 break;
1286 case PIN_MAP_TYPE_CONFIGS_PIN:
1287 case PIN_MAP_TYPE_CONFIGS_GROUP:
1288 ret = pinconf_apply_setting(setting);
1289 break;
1290 default:
1291 ret = -EINVAL;
1292 break;
1293 }
1294
1295 if (ret < 0) {
1296 goto unapply_new_state;
1297 }
1298
1299 /* Do not link hogs (circular dependency) */
1300 if (p != setting->pctldev->p)
1301 pinctrl_link_add(setting->pctldev, p->dev);
1302 }
1303
1304 p->state = state;
1305
1306 return 0;
1307
1308 unapply_new_state:
1309 dev_err(p->dev, "Error applying setting, reverse things back\n");
1310
1311 list_for_each_entry(setting2, &state->settings, node) {
1312 if (&setting2->node == &setting->node)
1313 break;
1314 /*
1315 * All we can do here is pinmux_disable_setting.
1316 * That means that some pins are muxed differently now
1317 * than they were before applying the setting (We can't
1318 * "unmux a pin"!), but it's not a big deal since the pins
1319 * are free to be muxed by another apply_setting.
1320 */
1321 if (setting2->type == PIN_MAP_TYPE_MUX_GROUP)
1322 pinmux_disable_setting(setting2);
1323 }
1324
1325 /* There's no infinite recursive loop here because p->state is NULL */
1326 if (old_state)
1327 pinctrl_select_state(p, old_state);
1328
1329 return ret;
1330 }
1331
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
arch/mips/n64/init.c:57:38: sparse: sparse: incorrect type in argument 2 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 94f0b2d4a1d0c52035aef425da5e022bd2cb1c71
commit: baec970aa5ba11099ad7a91773350c91fb2113f0 mips: Add N64 machine type
date: 5 months ago
config: mips-randconfig-s032-20210615 (attached as .config)
compiler: mips64-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout baec970aa5ba11099ad7a91773350c91fb2113f0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
command-line: note: in included file:
builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
builtin:0:0: sparse: this was the original definition
builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
builtin:0:0: sparse: this was the original definition
builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
builtin:0:0: sparse: this was the original definition
builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
builtin:0:0: sparse: this was the original definition
>> arch/mips/n64/init.c:57:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned int [usertype] * @@
arch/mips/n64/init.c:57:38: sparse: expected void volatile [noderef] __iomem *mem
arch/mips/n64/init.c:57:38: sparse: got unsigned int [usertype] *
vim +57 arch/mips/n64/init.c
54
55 static void __init n64rdp_write_reg(const u8 reg, const u32 value)
56 {
> 57 __raw_writel(value, REG_BASE + reg);
58 }
59
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[staging:greybus 356/357] drivers/staging/greybus/vibrator.c:224: undefined reference to `input_ff_create_memless'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git greybus
head: cab4d7cd1ee96333007cb5d539286cd41ee99dde
commit: 43fd84431f464681bc88b0d62367dcf86f93cdf1 [356/357] staging: greybus: vibrator: use proper API for vibrator devices
config: x86_64-randconfig-s022-20210615 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit...
git remote add staging https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
git fetch --no-tags staging greybus
git checkout 43fd84431f464681bc88b0d62367dcf86f93cdf1
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: drivers/staging/greybus/vibrator.o: in function `gb_vibrator_probe':
>> drivers/staging/greybus/vibrator.c:224: undefined reference to `input_ff_create_memless'
vim +224 drivers/staging/greybus/vibrator.c
158
159 static int gb_vibrator_probe(struct gb_bundle *bundle,
160 const struct greybus_bundle_id *id)
161 {
162 struct greybus_descriptor_cport *cport_desc;
163 struct gb_connection *connection;
164 struct gb_vibrator_device *vib;
165 struct device *dev;
166 int retval;
167
168 if (bundle->num_cports != 1)
169 return -ENODEV;
170
171 cport_desc = &bundle->cport_desc[0];
172 if (cport_desc->protocol_id != GREYBUS_PROTOCOL_VIBRATOR)
173 return -ENODEV;
174
175 vib = kzalloc(sizeof(*vib), GFP_KERNEL);
176 if (!vib)
177 return -ENOMEM;
178
179 connection = gb_connection_create(bundle, le16_to_cpu(cport_desc->id),
180 NULL);
181 if (IS_ERR(connection)) {
182 retval = PTR_ERR(connection);
183 goto err_free_vib;
184 }
185 gb_connection_set_data(connection, vib);
186
187 vib->connection = connection;
188
189 greybus_set_drvdata(bundle, vib);
190
191 retval = gb_connection_enable(connection);
192 if (retval)
193 goto err_connection_destroy;
194
195 /*
196 * For now we create a device in sysfs for the vibrator, but odds are
197 * there is a "real" device somewhere in the kernel for this, but I
198 * can't find it at the moment...
199 */
200 vib->minor = ida_simple_get(&minors, 0, 0, GFP_KERNEL);
201 if (vib->minor < 0) {
202 retval = vib->minor;
203 goto err_connection_disable;
204 }
205 dev = device_create(&vibrator_class, &bundle->dev,
206 MKDEV(0, 0), vib, "vibrator%d", vib->minor);
207 if (IS_ERR(dev)) {
208 retval = -EINVAL;
209 goto err_ida_remove;
210 }
211 vib->dev = dev;
212
213 INIT_DELAYED_WORK(&vib->delayed_work, gb_vibrator_worker);
214
215 INIT_WORK(&vib->play_work, gb_vibrator_play_work);
216 vib->input->name = "greybus-vibrator";
217 vib->input->close = gb_vibrator_close;
218 vib->input->dev.parent = &bundle->dev;
219 vib->input->id.bustype = BUS_HOST;
220
221 input_set_drvdata(vib->input, vib);
222 input_set_capability(vib->input, EV_FF, FF_RUMBLE);
223
> 224 retval = input_ff_create_memless(vib->input, NULL,
225 gb_vibrator_play_effect);
226 if (retval)
227 goto err_device_remove;
228
229 gb_pm_runtime_put_autosuspend(bundle);
230
231 return 0;
232
233 err_device_remove:
234 device_unregister(vib->dev);
235 err_ida_remove:
236 ida_simple_remove(&minors, vib->minor);
237 err_connection_disable:
238 gb_connection_disable(connection);
239 err_connection_destroy:
240 gb_connection_destroy(connection);
241 err_free_vib:
242 kfree(vib);
243
244 return retval;
245 }
246
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[xlnx:xlnx_rebase_v5.4 478/1762] drivers/media/platform/xilinx/xilinx-csi2rxss.c:326:27: warning: conversion from 'long long unsigned int' to 'long unsigned int' changes value from '200000000000' to '2431504384'
by kernel test robot
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4
head: d128303e4c53bcf7775c46771bf64c71596f3303
commit: 8caa8fb47aa0429f2a25100cf4f957463ba00801 [478/1762] v4l: xilinx: xcsi2rxss: Add support for clock framework
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/Xilinx/linux-xlnx/commit/8caa8fb47aa0429f2a25100cf4f95...
git remote add xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx xlnx_rebase_v5.4
git checkout 8caa8fb47aa0429f2a25100cf4f957463ba00801
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/media/platform/xilinx/xilinx-csi2rxss.c: In function 'xcsi2rxss_probe':
>> drivers/media/platform/xilinx/xilinx-csi2rxss.c:326:27: warning: conversion from 'long long unsigned int' to 'long unsigned int' changes value from '200000000000' to '2431504384' [-Woverflow]
326 | #define XCSI_DPHY_CLK_REQ 200000000000UL
| ^~~~~~~~~~~~~~
drivers/media/platform/xilinx/xilinx-csi2rxss.c:1819:8: note: in expansion of macro 'XCSI_DPHY_CLK_REQ'
1819 | XCSI_DPHY_CLK_REQ);
| ^~~~~~~~~~~~~~~~~
drivers/media/platform/xilinx/xilinx-csi2rxss.c:1828:12: warning: comparison is always true due to limited range of data type [-Wtype-limits]
1828 | if (rate < XCSI_DPHY_CLK_MIN && rate > XCSI_DPHY_CLK_MAX) {
| ^
drivers/media/platform/xilinx/xilinx-csi2rxss.c:1828:40: warning: comparison is always false due to limited range of data type [-Wtype-limits]
1828 | if (rate < XCSI_DPHY_CLK_MIN && rate > XCSI_DPHY_CLK_MAX) {
| ^
vim +326 drivers/media/platform/xilinx/xilinx-csi2rxss.c
323
324 #define XCSI_DPHY_CLK_MIN 197000000000UL
325 #define XCSI_DPHY_CLK_MAX 203000000000UL
> 326 #define XCSI_DPHY_CLK_REQ 200000000000UL
327
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[riscv:for-next 24/26] arch/riscv/kernel/traps.c:210:26: warning: no previous prototype for function 'get_overflow_stack'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git for-next
head: 514e9eea526920608dcd6383e79b369f8ce55174
commit: 7b9dbbb41e1e6579d21fbec1d85ed04a392f73e9 [24/26] riscv: add VMAP_STACK overflow detection
config: riscv-randconfig-r015-20210615 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git/commit/?i...
git remote add riscv https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git
git fetch --no-tags riscv for-next
git checkout 7b9dbbb41e1e6579d21fbec1d85ed04a392f73e9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> arch/riscv/kernel/traps.c:210:26: warning: no previous prototype for function 'get_overflow_stack' [-Wmissing-prototypes]
asmlinkage unsigned long get_overflow_stack(void)
^
arch/riscv/kernel/traps.c:210:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage unsigned long get_overflow_stack(void)
^
static
>> arch/riscv/kernel/traps.c:216:17: warning: no previous prototype for function 'handle_bad_stack' [-Wmissing-prototypes]
asmlinkage void handle_bad_stack(struct pt_regs *regs)
^
arch/riscv/kernel/traps.c:216:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage void handle_bad_stack(struct pt_regs *regs)
^
static
2 warnings generated.
vim +/get_overflow_stack +210 arch/riscv/kernel/traps.c
201
202 #ifdef CONFIG_VMAP_STACK
203 DEFINE_PER_CPU(unsigned long [OVERFLOW_STACK_SIZE/sizeof(long)], overflow_stack)
204 __aligned(16);
205 /*
206 * shadow stack, handled_ kernel_ stack_ overflow(in kernel/entry.S) is used
207 * to get per-cpu overflow stack(get_overflow_stack).
208 */
209 long shadow_stack[SHADOW_OVERFLOW_STACK_SIZE/sizeof(long)];
> 210 asmlinkage unsigned long get_overflow_stack(void)
211 {
212 return (unsigned long)this_cpu_ptr(overflow_stack) +
213 OVERFLOW_STACK_SIZE;
214 }
215
> 216 asmlinkage void handle_bad_stack(struct pt_regs *regs)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[linux-nvme:nvme-5.14 32/32] drivers/nvme/target/zns.c:257:6: warning: no previous prototype for 'nvmet_bdev_zone_zmgmt_recv_work'
by kernel test robot
tree: git://git.infradead.org/nvme.git nvme-5.14
head: 9653e01d9c3c46930da3f007a39a2aaf230bd8ff
commit: 9653e01d9c3c46930da3f007a39a2aaf230bd8ff [32/32] nvmet: add ZBD over ZNS backend support
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add linux-nvme git://git.infradead.org/nvme.git
git fetch --no-tags linux-nvme nvme-5.14
git checkout 9653e01d9c3c46930da3f007a39a2aaf230bd8ff
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/nvme/target/zns.c:257:6: warning: no previous prototype for 'nvmet_bdev_zone_zmgmt_recv_work' [-Wmissing-prototypes]
257 | void nvmet_bdev_zone_zmgmt_recv_work(struct work_struct *w)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/nvmet_bdev_zone_zmgmt_recv_work +257 drivers/nvme/target/zns.c
256
> 257 void nvmet_bdev_zone_zmgmt_recv_work(struct work_struct *w)
258 {
259 struct nvmet_req *req = container_of(w, struct nvmet_req, z.zmgmt_work);
260 sector_t start_sect = nvmet_lba_to_sect(req->ns, req->cmd->zmr.slba);
261 unsigned long req_slba_nr_zones = nvmet_req_nr_zones_from_slba(req);
262 u32 out_bufsize = (le32_to_cpu(req->cmd->zmr.numd) + 1) << 2;
263 __le64 nr_zones;
264 u16 status;
265 int ret;
266 struct nvmet_report_zone_data rz_data = {
267 .out_nr_zones = get_nr_zones_from_buf(req, out_bufsize),
268 /* leave the place for report zone header */
269 .out_buf_offset = sizeof(struct nvme_zone_report),
270 .zrasf = req->cmd->zmr.zrasf,
271 .nr_zones = 0,
272 .req = req,
273 };
274
275 status = nvmet_bdev_validate_zone_mgmt_recv(req);
276 if (status)
277 goto out;
278
279 if (!req_slba_nr_zones) {
280 status = NVME_SC_SUCCESS;
281 goto out;
282 }
283
284 ret = blkdev_report_zones(req->ns->bdev, start_sect, req_slba_nr_zones,
285 nvmet_bdev_report_zone_cb, &rz_data);
286 if (ret < 0) {
287 status = NVME_SC_INTERNAL;
288 goto out;
289 }
290
291 /*
292 * When partial bit is set nr_zones must indicate the number of zone
293 * descriptors actually transferred.
294 */
295 if (req->cmd->zmr.pr)
296 rz_data.nr_zones = min(rz_data.nr_zones, rz_data.out_nr_zones);
297
298 nr_zones = cpu_to_le64(rz_data.nr_zones);
299 status = nvmet_copy_to_sgl(req, 0, &nr_zones, sizeof(nr_zones));
300
301 out:
302 nvmet_req_complete(req, status);
303 }
304
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[powerpc:next-test 119/124] arch/powerpc/kernel/interrupt.c:378:23: warning: no previous prototype for 'syscall_exit_restart'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next-test
head: 103bf32b0d2dd8b8a4d3d9ebdded5ba4e8263e6a
commit: 88a293b28ae07acc86b09ebbe8715bcee412a63e [119/124] powerpc/64: use interrupt restart table to speed up return from interrupt
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/...
git remote add powerpc https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
git fetch --no-tags powerpc next-test
git checkout 88a293b28ae07acc86b09ebbe8715bcee412a63e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
arch/powerpc/kernel/interrupt.c:246:23: warning: no previous prototype for 'syscall_exit_prepare_main' [-Wmissing-prototypes]
246 | notrace unsigned long syscall_exit_prepare_main(unsigned long r3,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/powerpc/kernel/interrupt.c:378:23: warning: no previous prototype for 'syscall_exit_restart' [-Wmissing-prototypes]
378 | notrace unsigned long syscall_exit_restart(unsigned long r3, struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~~
>> arch/powerpc/kernel/interrupt.c:581:23: warning: no previous prototype for 'interrupt_exit_user_restart' [-Wmissing-prototypes]
581 | notrace unsigned long interrupt_exit_user_restart(struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/powerpc/kernel/interrupt.c:601:23: warning: no previous prototype for 'interrupt_exit_kernel_restart' [-Wmissing-prototypes]
601 | notrace unsigned long interrupt_exit_kernel_restart(struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/syscall_exit_restart +378 arch/powerpc/kernel/interrupt.c
376
377 #ifdef CONFIG_PPC64
> 378 notrace unsigned long syscall_exit_restart(unsigned long r3, struct pt_regs *regs)
379 {
380 /*
381 * This is called when detecting a soft-pending interrupt as well as
382 * an alternate-return interrupt. So we can't just have the alternate
383 * return path clear SRR1[MSR] and set PACA_IRQ_HARD_DIS (unless
384 * the soft-pending case were to fix things up as well). RI might be
385 * disabled, in which case it gets re-enabled by __hard_irq_disable().
386 */
387 __hard_irq_disable();
388 local_paca->irq_happened |= PACA_IRQ_HARD_DIS;
389
390 trace_hardirqs_off();
391 user_exit_irqoff();
392 account_cpu_user_entry();
393
394 BUG_ON(!user_mode(regs));
395
396 regs->exit_result |= syscall_exit_prepare_main(r3, regs);
397
398 return regs->exit_result;
399 }
400 #endif
401
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[xlnx:xlnx_rebase_v5.4 864/1762] drivers/fpga/fpga-mgr.c:693: undefined reference to `dma_buf_get'
by kernel test robot
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4
head: d128303e4c53bcf7775c46771bf64c71596f3303
commit: 1a0c556193a3d81ff6bde4c571c38b2c19bbb443 [864/1762] fpga: support loading from a pre-allocated buffer
config: i386-randconfig-a002-20210615 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/Xilinx/linux-xlnx/commit/1a0c556193a3d81ff6bde4c571c38...
git remote add xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx xlnx_rebase_v5.4
git checkout 1a0c556193a3d81ff6bde4c571c38b2c19bbb443
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: drivers/fpga/fpga-mgr.o: in function `fpga_dmabuf_fd_get':
>> drivers/fpga/fpga-mgr.c:693: undefined reference to `dma_buf_get'
ld: drivers/fpga/fpga-mgr.o: in function `fpga_dmabuf_load':
>> drivers/fpga/fpga-mgr.c:315: undefined reference to `dma_buf_attach'
>> ld: drivers/fpga/fpga-mgr.c:322: undefined reference to `dma_buf_map_attachment'
>> ld: drivers/fpga/fpga-mgr.c:330: undefined reference to `dma_buf_unmap_attachment'
>> ld: drivers/fpga/fpga-mgr.c:333: undefined reference to `dma_buf_detach'
>> ld: drivers/fpga/fpga-mgr.c:335: undefined reference to `dma_buf_put'
vim +693 drivers/fpga/fpga-mgr.c
684
685 static int fpga_dmabuf_fd_get(struct file *file, char __user *argp)
686 {
687 struct fpga_manager *mgr = (struct fpga_manager *)(file->private_data);
688 int buffd;
689
690 if (copy_from_user(&buffd, argp, sizeof(buffd)))
691 return -EFAULT;
692
> 693 mgr->dmabuf = dma_buf_get(buffd);
694 if (IS_ERR_OR_NULL(mgr->dmabuf))
695 return -EINVAL;
696
697 return 0;
698 }
699
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months