[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202601240851.tTtFq786-lkp@intel.com>
Date: Sat, 24 Jan 2026 08:27:00 +0800
From: kernel test robot <lkp@...el.com>
To: Parvathi Pudi <parvathi@...thit.com>, andrew+netdev@...n.ch,
davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, danishanwar@...com, rogerq@...nel.org,
pmohan@...thit.com, basharath@...thit.com, afd@...com
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
alok.a.tiwari@...cle.com, horms@...nel.org, pratheesh@...com,
j-rameshbabu@...com, vigneshr@...com, praneeth@...com, srk@...com,
rogerq@...com, krishna@...thit.com
Subject: Re: [PATCH net-next v12 2/3] net: ti: icssm-prueth: Add switchdev
support for icssm_prueth driver
Hi Parvathi,
kernel test robot noticed the following build errors:
[auto build test ERROR on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Parvathi-Pudi/net-ti-icssm-prueth-Add-helper-functions-to-configure-and-maintain-FDB/20260123-220750
base: net-next/main
patch link: https://lore.kernel.org/r/20260123135932.535735-3-parvathi%40couthit.com
patch subject: [PATCH net-next v12 2/3] net: ti: icssm-prueth: Add switchdev support for icssm_prueth driver
config: csky-allmodconfig (https://download.01.org/0day-ci/archive/20260124/202601240851.tTtFq786-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260124/202601240851.tTtFq786-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202601240851.tTtFq786-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c: In function 'icssm_prueth_sw_init_fdb_table':
drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c:581:27: error: implicit declaration of function 'kmalloc_obj'; did you mean 'kmalloc_node'? [-Wimplicit-function-declaration]
581 | prueth->fdb_tbl = kmalloc_obj(*prueth->fdb_tbl, GFP_KERNEL);
| ^~~~~~~~~~~
| kmalloc_node
drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c:581:25: error: assignment to 'struct fdb_tbl *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
581 | prueth->fdb_tbl = kmalloc_obj(*prueth->fdb_tbl, GFP_KERNEL);
| ^
drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c: In function 'icssm_prueth_sw_learn_fdb':
>> drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c:649:20: error: implicit declaration of function 'kzalloc_obj'; did you mean 'kzalloc_node'? [-Wimplicit-function-declaration]
649 | fdb_work = kzalloc_obj(*fdb_work, GFP_ATOMIC);
| ^~~~~~~~~~~
| kzalloc_node
>> drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c:649:18: error: assignment to 'struct icssm_prueth_sw_fdb_work *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
649 | fdb_work = kzalloc_obj(*fdb_work, GFP_ATOMIC);
| ^
drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c: In function 'icssm_prueth_sw_purge_fdb':
drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c:668:18: error: assignment to 'struct icssm_prueth_sw_fdb_work *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
668 | fdb_work = kzalloc_obj(*fdb_work, GFP_ATOMIC);
| ^
--
drivers/net/ethernet/ti/icssm/icssm_switchdev.c: In function 'icssm_prueth_sw_switchdev_event':
>> drivers/net/ethernet/ti/icssm/icssm_switchdev.c:170:26: error: implicit declaration of function 'kzalloc_obj'; did you mean 'kzalloc_node'? [-Wimplicit-function-declaration]
170 | switchdev_work = kzalloc_obj(*switchdev_work, GFP_ATOMIC);
| ^~~~~~~~~~~
| kzalloc_node
>> drivers/net/ethernet/ti/icssm/icssm_switchdev.c:170:24: error: assignment to 'struct icssm_sw_event_work *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
170 | switchdev_work = kzalloc_obj(*switchdev_work, GFP_ATOMIC);
| ^
vim +649 drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c
575
576 int icssm_prueth_sw_init_fdb_table(struct prueth *prueth)
577 {
578 if (prueth->emac_configured)
579 return 0;
580
> 581 prueth->fdb_tbl = kmalloc_obj(*prueth->fdb_tbl, GFP_KERNEL);
582 if (!prueth->fdb_tbl)
583 return -ENOMEM;
584
585 icssm_prueth_sw_fdb_tbl_init(prueth);
586
587 return 0;
588 }
589
590 /**
591 * icssm_prueth_sw_fdb_add - insert fdb entry
592 *
593 * @emac: EMAC data structure
594 * @fdb: fdb info
595 *
596 */
597 void icssm_prueth_sw_fdb_add(struct prueth_emac *emac,
598 struct switchdev_notifier_fdb_info *fdb)
599 {
600 icssm_prueth_sw_insert_fdb_entry(emac, fdb->addr, 1);
601 }
602
603 /**
604 * icssm_prueth_sw_fdb_del - delete fdb entry
605 *
606 * @emac: EMAC data structure
607 * @fdb: fdb info
608 *
609 */
610 void icssm_prueth_sw_fdb_del(struct prueth_emac *emac,
611 struct switchdev_notifier_fdb_info *fdb)
612 {
613 icssm_prueth_sw_delete_fdb_entry(emac, fdb->addr, 1);
614 }
615
616 static void icssm_prueth_sw_fdb_work(struct work_struct *work)
617 {
618 struct icssm_prueth_sw_fdb_work *fdb_work =
619 container_of(work, struct icssm_prueth_sw_fdb_work, work);
620 struct prueth_emac *emac = fdb_work->emac;
621
622 rtnl_lock();
623
624 /* Interface is not up */
625 if (!emac->prueth->fdb_tbl)
626 goto free;
627
628 switch (fdb_work->event) {
629 case FDB_LEARN:
630 icssm_prueth_sw_insert_fdb_entry(emac, fdb_work->addr, 0);
631 break;
632 case FDB_PURGE:
633 icssm_prueth_sw_do_purge_fdb(emac);
634 break;
635 default:
636 break;
637 }
638
639 free:
640 rtnl_unlock();
641 netdev_put(emac->ndev, &fdb_work->ndev_tracker);
642 kfree(fdb_work);
643 }
644
645 int icssm_prueth_sw_learn_fdb(struct prueth_emac *emac, u8 *src_mac)
646 {
647 struct icssm_prueth_sw_fdb_work *fdb_work;
648
> 649 fdb_work = kzalloc_obj(*fdb_work, GFP_ATOMIC);
650 if (WARN_ON(!fdb_work))
651 return -ENOMEM;
652
653 INIT_WORK(&fdb_work->work, icssm_prueth_sw_fdb_work);
654
655 fdb_work->event = FDB_LEARN;
656 fdb_work->emac = emac;
657 ether_addr_copy(fdb_work->addr, src_mac);
658
659 netdev_hold(emac->ndev, &fdb_work->ndev_tracker, GFP_ATOMIC);
660 queue_work(system_long_wq, &fdb_work->work);
661 return 0;
662 }
663
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists