[linux-next:master 7132/11526] drivers/bluetooth/btusb.c:3775 btusb_mtk_setup() error: uninitialized symbol 'fw_version'.
by Dan Carpenter
[ Why is linux-mm CC'd on these patches??? - dan ]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 6553715b6db5ff5d4898895dad1b2926cfe406cf
commit: fc342c4dc408754f50f19dc832152fbb4b73f1e6 [7132/11526] Bluetooth: btusb: Add protocol support for MediaTek MT7921U USB devices
config: parisc-randconfig-m031-20210216 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/bluetooth/btusb.c:3775 btusb_mtk_setup() error: uninitialized symbol 'fw_version'.
Old smatch warnings:
drivers/bluetooth/btusb.c:2201 btusb_setup_intel() warn: inconsistent indenting
vim +/fw_version +3775 drivers/bluetooth/btusb.c
a1c49c434e15050 Sean Wang 2019-06-02 3729 static int btusb_mtk_setup(struct hci_dev *hdev)
a1c49c434e15050 Sean Wang 2019-06-02 3730 {
a1c49c434e15050 Sean Wang 2019-06-02 3731 struct btusb_data *data = hci_get_drvdata(hdev);
a1c49c434e15050 Sean Wang 2019-06-02 3732 struct btmtk_hci_wmt_params wmt_params;
a1c49c434e15050 Sean Wang 2019-06-02 3733 ktime_t calltime, delta, rettime;
a1c49c434e15050 Sean Wang 2019-06-02 3734 struct btmtk_tci_sleep tci_sleep;
a1c49c434e15050 Sean Wang 2019-06-02 3735 unsigned long long duration;
a1c49c434e15050 Sean Wang 2019-06-02 3736 struct sk_buff *skb;
a1c49c434e15050 Sean Wang 2019-06-02 3737 const char *fwname;
a1c49c434e15050 Sean Wang 2019-06-02 3738 int err, status;
a1c49c434e15050 Sean Wang 2019-06-02 3739 u32 dev_id;
fc342c4dc408754 Mark Chen 2021-02-02 3740 char fw_bin_name[64];
fc342c4dc408754 Mark Chen 2021-02-02 3741 u32 fw_version;
a1c49c434e15050 Sean Wang 2019-06-02 3742 u8 param;
a1c49c434e15050 Sean Wang 2019-06-02 3743
a1c49c434e15050 Sean Wang 2019-06-02 3744 calltime = ktime_get();
a1c49c434e15050 Sean Wang 2019-06-02 3745
48c13301e6baba5 Mark Chen 2021-02-02 3746 err = btusb_mtk_id_get(data, 0x80000008, &dev_id);
a1c49c434e15050 Sean Wang 2019-06-02 3747 if (err < 0) {
a1c49c434e15050 Sean Wang 2019-06-02 3748 bt_dev_err(hdev, "Failed to get device id (%d)", err);
a1c49c434e15050 Sean Wang 2019-06-02 3749 return err;
a1c49c434e15050 Sean Wang 2019-06-02 3750 }
a1c49c434e15050 Sean Wang 2019-06-02 3751
fc342c4dc408754 Mark Chen 2021-02-02 3752 if (!dev_id) {
fc342c4dc408754 Mark Chen 2021-02-02 3753 err = btusb_mtk_id_get(data, 0x70010200, &dev_id);
fc342c4dc408754 Mark Chen 2021-02-02 3754 if (err < 0) {
fc342c4dc408754 Mark Chen 2021-02-02 3755 bt_dev_err(hdev, "Failed to get device id (%d)", err);
fc342c4dc408754 Mark Chen 2021-02-02 3756 return err;
fc342c4dc408754 Mark Chen 2021-02-02 3757 }
fc342c4dc408754 Mark Chen 2021-02-02 3758 err = btusb_mtk_id_get(data, 0x80021004, &fw_version);
fc342c4dc408754 Mark Chen 2021-02-02 3759 if (err < 0) {
fc342c4dc408754 Mark Chen 2021-02-02 3760 bt_dev_err(hdev, "Failed to get fw version (%d)", err);
fc342c4dc408754 Mark Chen 2021-02-02 3761 return err;
fc342c4dc408754 Mark Chen 2021-02-02 3762 }
fc342c4dc408754 Mark Chen 2021-02-02 3763 }
"fw_version" not initialized on else path.
fc342c4dc408754 Mark Chen 2021-02-02 3764
a1c49c434e15050 Sean Wang 2019-06-02 3765 switch (dev_id) {
9ce67c3235be71e Sean Wang 2019-06-02 3766 case 0x7663:
9ce67c3235be71e Sean Wang 2019-06-02 3767 fwname = FIRMWARE_MT7663;
9ce67c3235be71e Sean Wang 2019-06-02 3768 break;
a1c49c434e15050 Sean Wang 2019-06-02 3769 case 0x7668:
a1c49c434e15050 Sean Wang 2019-06-02 3770 fwname = FIRMWARE_MT7668;
a1c49c434e15050 Sean Wang 2019-06-02 3771 break;
fc342c4dc408754 Mark Chen 2021-02-02 3772 case 0x7961:
fc342c4dc408754 Mark Chen 2021-02-02 3773 snprintf(fw_bin_name, sizeof(fw_bin_name),
fc342c4dc408754 Mark Chen 2021-02-02 3774 "mediatek/BT_RAM_CODE_MT%04x_1_%x_hdr.bin",
fc342c4dc408754 Mark Chen 2021-02-02 @3775 dev_id & 0xffff, (fw_version & 0xff) + 1);
^^^^^^^^^^
fc342c4dc408754 Mark Chen 2021-02-02 3776 err = btusb_mtk_setup_firmware_79xx(hdev, fw_bin_name);
fc342c4dc408754 Mark Chen 2021-02-02 3777
fc342c4dc408754 Mark Chen 2021-02-02 3778 /* Enable Bluetooth protocol */
fc342c4dc408754 Mark Chen 2021-02-02 3779 param = 1;
fc342c4dc408754 Mark Chen 2021-02-02 3780 wmt_params.op = BTMTK_WMT_FUNC_CTRL;
fc342c4dc408754 Mark Chen 2021-02-02 3781 wmt_params.flag = 0;
fc342c4dc408754 Mark Chen 2021-02-02 3782 wmt_params.dlen = sizeof(param);
fc342c4dc408754 Mark Chen 2021-02-02 3783 wmt_params.data = ¶m;
fc342c4dc408754 Mark Chen 2021-02-02 3784 wmt_params.status = NULL;
fc342c4dc408754 Mark Chen 2021-02-02 3785
fc342c4dc408754 Mark Chen 2021-02-02 3786 err = btusb_mtk_hci_wmt_sync(hdev, &wmt_params);
fc342c4dc408754 Mark Chen 2021-02-02 3787 if (err < 0) {
fc342c4dc408754 Mark Chen 2021-02-02 3788 bt_dev_err(hdev, "Failed to send wmt func ctrl (%d)", err);
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
kbuild mailing list -- kbuild(a)lists.01.org
To unsubscribe send an email to kbuild-leave(a)lists.01.org
1 year
drivers/net/ethernet/intel/igb/igb_main.c:8425 igb_run_xdp() error: (-2147483647) too low for ERR_PTR
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Sven Auhagen <sven.auhagen(a)voleatech.de>
CC: Tony Nguyen <anthony.l.nguyen(a)intel.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d19cc4bfbff1ae72c3505a00fb8ce0d3fa519e6c
commit: 9cbc948b5a20c9c054d9631099c0426c16da546b igb: add XDP support
date: 6 months ago
:::::: branch date: 6 hours ago
:::::: commit date: 6 months ago
config: i386-randconfig-m021-20210401 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/net/ethernet/intel/igb/igb_main.c:8425 igb_run_xdp() error: (-2147483647) too low for ERR_PTR
drivers/net/ethernet/intel/igb/igb_main.c:8755 igb_clean_rx_irq() error: 'skb' dereferencing possible ERR_PTR()
vim +8425 drivers/net/ethernet/intel/igb/igb_main.c
b1bb2eb0a0deb0 Alexander Duyck 2017-02-06 8382
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8383 static struct sk_buff *igb_run_xdp(struct igb_adapter *adapter,
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8384 struct igb_ring *rx_ring,
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8385 struct xdp_buff *xdp)
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8386 {
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8387 int err, result = IGB_XDP_PASS;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8388 struct bpf_prog *xdp_prog;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8389 u32 act;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8390
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8391 rcu_read_lock();
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8392 xdp_prog = READ_ONCE(rx_ring->xdp_prog);
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8393
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8394 if (!xdp_prog)
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8395 goto xdp_out;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8396
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8397 prefetchw(xdp->data_hard_start); /* xdp_frame write */
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8398
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8399 act = bpf_prog_run_xdp(xdp_prog, xdp);
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8400 switch (act) {
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8401 case XDP_PASS:
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8402 break;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8403 case XDP_TX:
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8404 result = igb_xdp_xmit_back(adapter, xdp);
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8405 break;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8406 case XDP_REDIRECT:
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8407 err = xdp_do_redirect(adapter->netdev, xdp, xdp_prog);
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8408 if (!err)
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8409 result = IGB_XDP_REDIR;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8410 else
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8411 result = IGB_XDP_CONSUMED;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8412 break;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8413 default:
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8414 bpf_warn_invalid_xdp_action(act);
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8415 fallthrough;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8416 case XDP_ABORTED:
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8417 trace_xdp_exception(rx_ring->netdev, xdp_prog, act);
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8418 fallthrough;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8419 case XDP_DROP:
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8420 result = IGB_XDP_CONSUMED;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8421 break;
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8422 }
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8423 xdp_out:
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8424 rcu_read_unlock();
9cbc948b5a20c9 Sven Auhagen 2020-09-02 @8425 return ERR_PTR(-result);
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8426 }
9cbc948b5a20c9 Sven Auhagen 2020-09-02 8427
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
drivers/scsi/ipr.c:4209:61-62: WARNING opportunity for kobj_to_dev()
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Denis Efremov <efremov(a)linux.com>
CC: Julia Lawall <Julia.Lawall(a)lip6.fr>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5e46d1b78a03d52306f21f77a4e4a144b6d31486
commit: a2fc3718bc22e85378085568ecc5765fb28cabce coccinelle: api: add kobj_to_dev.cocci script
date: 7 months ago
:::::: branch date: 23 hours ago
:::::: commit date: 7 months ago
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Julia Lawall <julia.lawall(a)lip6.fr>
cocci warnings: (new ones prefixed by >>)
>> drivers/scsi/ipr.c:4209:61-62: WARNING opportunity for kobj_to_dev()
drivers/scsi/ipr.c:4185:61-62: WARNING opportunity for kobj_to_dev()
drivers/scsi/ipr.c:4268:61-62: WARNING opportunity for kobj_to_dev()
drivers/scsi/ipr.c:3459:60-61: WARNING opportunity for kobj_to_dev()
drivers/scsi/ipr.c:4457:61-62: WARNING opportunity for kobj_to_dev()
Please review and possibly fold the followup patch.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
Re: [PATCH] fix NULL pointer deference crash
by Dan Carpenter
Hi Hassan,
url: https://github.com/0day-ci/linux/commits/Hassan-Shahbazi/fix-NULL-pointer...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 5e46d1b78a03d52306f21f77a4e4a144b6d31486
config: x86_64-randconfig-m001-20210330 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/video/fbdev/core/fbcon.c:1336 fbcon_cursor() warn: variable dereferenced before check 'ops' (see line 1324)
Old smatch warnings:
drivers/video/fbdev/core/fbcon.c:3028 fbcon_get_con2fb_map_ioctl() warn: potential spectre issue 'con2fb_map' [r]
vim +/ops +1336 drivers/video/fbdev/core/fbcon.c
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1318 static void fbcon_cursor(struct vc_data *vc, int mode)
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1319 {
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1320 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1321 struct fbcon_ops *ops = info->fbcon_par;
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1322 int c = scr_readw((u16 *) vc->vc_pos);
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1323
2a17d7e80f1df44 drivers/video/console/fbcon.c Scot Doyle 2015-08-04 @1324 ops->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms);
2a17d7e80f1df44 drivers/video/console/fbcon.c Scot Doyle 2015-08-04 1325
d1e2306681ad3cb drivers/video/console/fbcon.c Michal Januszewski 2007-05-08 1326 if (fbcon_is_inactive(vc, info) || vc->vc_deccm != 1)
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1327 return;
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1328
c0e4b3ad67997a6 drivers/video/fbdev/core/fbcon.c Jiri Slaby 2020-06-15 1329 if (vc->vc_cursor_type & CUR_SW)
acba9cd01974353 drivers/video/console/fbcon.c Antonino A. Daplas 2007-07-17 1330 fbcon_del_cursor_timer(info);
a5edce421848442 drivers/video/console/fbcon.c Thierry Reding 2015-05-21 1331 else
acba9cd01974353 drivers/video/console/fbcon.c Antonino A. Daplas 2007-07-17 1332 fbcon_add_cursor_timer(info);
acba9cd01974353 drivers/video/console/fbcon.c Antonino A. Daplas 2007-07-17 1333
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1334 ops->cursor_flash = (mode == CM_ERASE) ? 0 : 1;
^^^^^^^^^^^^^^^^^
Dereferenced
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1335
1d73453653c6d4f drivers/video/fbdev/core/fbcon.c Hassan Shahbazi 2021-03-31 @1336 if (ops && ops->cursor)
^^^
Checked too late
06a0df4d1b8b13b drivers/video/fbdev/core/fbcon.c Linus Torvalds 2020-09-08 1337 ops->cursor(vc, info, mode, get_color(vc, info, c, 1),
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1338 get_color(vc, info, c, 0));
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1339 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
Re: [PATCH] fix NULL pointer deference crash
by kernel test robot
CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210331163425.8092-1-h.shahbazi.git(a)gmail.com>
References: <20210331163425.8092-1-h.shahbazi.git(a)gmail.com>
TO: Hassan Shahbazi <h.shahbazi.git(a)gmail.com>
TO: gregkh(a)linuxfoundation.org
TO: daniel.vetter(a)ffwll.ch
TO: jirislaby(a)kernel.org
TO: yepeilin.cs(a)gmail.com
CC: linux-fbdev(a)vger.kernel.org
CC: dri-devel(a)lists.freedesktop.org
CC: linux-kernel(a)vger.kernel.org
CC: Hassan Shahbazi <h.shahbazi.git(a)gmail.com>
Hi Hassan,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.12-rc5]
[cannot apply to next-20210331]
[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]
url: https://github.com/0day-ci/linux/commits/Hassan-Shahbazi/fix-NULL-pointer...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 5e46d1b78a03d52306f21f77a4e4a144b6d31486
:::::: branch date: 3 hours ago
:::::: commit date: 3 hours ago
config: x86_64-randconfig-m001-20210330 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/video/fbdev/core/fbcon.c:1336 fbcon_cursor() warn: variable dereferenced before check 'ops' (see line 1324)
Old smatch warnings:
drivers/video/fbdev/core/fbcon.c:3028 fbcon_get_con2fb_map_ioctl() warn: potential spectre issue 'con2fb_map' [r]
vim +/ops +1336 drivers/video/fbdev/core/fbcon.c
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1317
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1318 static void fbcon_cursor(struct vc_data *vc, int mode)
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1319 {
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1320 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1321 struct fbcon_ops *ops = info->fbcon_par;
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1322 int c = scr_readw((u16 *) vc->vc_pos);
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1323
2a17d7e80f1df44 drivers/video/console/fbcon.c Scot Doyle 2015-08-04 @1324 ops->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms);
2a17d7e80f1df44 drivers/video/console/fbcon.c Scot Doyle 2015-08-04 1325
d1e2306681ad3cb drivers/video/console/fbcon.c Michal Januszewski 2007-05-08 1326 if (fbcon_is_inactive(vc, info) || vc->vc_deccm != 1)
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1327 return;
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1328
c0e4b3ad67997a6 drivers/video/fbdev/core/fbcon.c Jiri Slaby 2020-06-15 1329 if (vc->vc_cursor_type & CUR_SW)
acba9cd01974353 drivers/video/console/fbcon.c Antonino A. Daplas 2007-07-17 1330 fbcon_del_cursor_timer(info);
a5edce421848442 drivers/video/console/fbcon.c Thierry Reding 2015-05-21 1331 else
acba9cd01974353 drivers/video/console/fbcon.c Antonino A. Daplas 2007-07-17 1332 fbcon_add_cursor_timer(info);
acba9cd01974353 drivers/video/console/fbcon.c Antonino A. Daplas 2007-07-17 1333
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1334 ops->cursor_flash = (mode == CM_ERASE) ? 0 : 1;
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1335
1d73453653c6d4f drivers/video/fbdev/core/fbcon.c Hassan Shahbazi 2021-03-31 @1336 if (ops && ops->cursor)
06a0df4d1b8b13b drivers/video/fbdev/core/fbcon.c Linus Torvalds 2020-09-08 1337 ops->cursor(vc, info, mode, get_color(vc, info, c, 1),
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1338 get_color(vc, info, c, 0));
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1339 }
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 1340
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[chanwoo:devfreq-testing-passive-gov 14/15] drivers/devfreq/governor_passive.c:306 cpufreq_passive_register_notifier() warn: possible memory leak of 'cpu_data'
by Dan Carpenter
tree: https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git devfreq-testing-passive-gov
head: 801b60f356489d7a4525d95b615e00544ba34729
commit: 58c52e7878cc305830bc4c784ebdb6cba7a94c87 [14/15] PM / devfreq: Add cpu based scaling support to passive governor
config: x86_64-randconfig-m001-20210330 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/devfreq/governor_passive.c:306 cpufreq_passive_register_notifier() warn: possible memory leak of 'cpu_data'
vim +/cpu_data +306 drivers/devfreq/governor_passive.c
58c52e7878cc30 Saravana Kannan 2021-03-02 242 static int cpufreq_passive_register_notifier(struct devfreq *devfreq)
58c52e7878cc30 Saravana Kannan 2021-03-02 243 {
58c52e7878cc30 Saravana Kannan 2021-03-02 244 struct devfreq_passive_data *p_data
58c52e7878cc30 Saravana Kannan 2021-03-02 245 = (struct devfreq_passive_data *)devfreq->data;
58c52e7878cc30 Saravana Kannan 2021-03-02 246 struct device *dev = devfreq->dev.parent;
58c52e7878cc30 Saravana Kannan 2021-03-02 247 struct opp_table *opp_table = NULL;
58c52e7878cc30 Saravana Kannan 2021-03-02 248 struct devfreq_cpu_data *cpu_data;
58c52e7878cc30 Saravana Kannan 2021-03-02 249 struct cpufreq_policy *policy;
58c52e7878cc30 Saravana Kannan 2021-03-02 250 struct device *cpu_dev;
58c52e7878cc30 Saravana Kannan 2021-03-02 251 unsigned int cpu;
58c52e7878cc30 Saravana Kannan 2021-03-02 252 int ret;
58c52e7878cc30 Saravana Kannan 2021-03-02 253
58c52e7878cc30 Saravana Kannan 2021-03-02 254 get_online_cpus();
58c52e7878cc30 Saravana Kannan 2021-03-02 255
58c52e7878cc30 Saravana Kannan 2021-03-02 256 p_data->nb.notifier_call = cpufreq_passive_notifier_call;
58c52e7878cc30 Saravana Kannan 2021-03-02 257 ret = cpufreq_register_notifier(&p_data->nb, CPUFREQ_TRANSITION_NOTIFIER);
58c52e7878cc30 Saravana Kannan 2021-03-02 258 if (ret) {
58c52e7878cc30 Saravana Kannan 2021-03-02 259 dev_err(dev, "failed to register cpufreq notifier\n");
58c52e7878cc30 Saravana Kannan 2021-03-02 260 p_data->nb.notifier_call = NULL;
58c52e7878cc30 Saravana Kannan 2021-03-02 261 goto out;
58c52e7878cc30 Saravana Kannan 2021-03-02 262 }
58c52e7878cc30 Saravana Kannan 2021-03-02 263
58c52e7878cc30 Saravana Kannan 2021-03-02 264 for_each_online_cpu(cpu) {
58c52e7878cc30 Saravana Kannan 2021-03-02 265 if (p_data->cpu_data[cpu])
58c52e7878cc30 Saravana Kannan 2021-03-02 266 continue;
58c52e7878cc30 Saravana Kannan 2021-03-02 267
58c52e7878cc30 Saravana Kannan 2021-03-02 268 policy = cpufreq_cpu_get(cpu);
58c52e7878cc30 Saravana Kannan 2021-03-02 269 if (policy) {
Better to flip this condition:
if (!policy) {
ret = -EPROBE_DEFER;
goto out;
}
The problem with goto out is that it doesn't unregister the notifier.
58c52e7878cc30 Saravana Kannan 2021-03-02 270 cpu_data = kzalloc(sizeof(*cpu_data), GFP_KERNEL);
58c52e7878cc30 Saravana Kannan 2021-03-02 271 if (!cpu_data) {
^^^^^^^^
Allocated here.
58c52e7878cc30 Saravana Kannan 2021-03-02 272 ret = -ENOMEM;
58c52e7878cc30 Saravana Kannan 2021-03-02 273 goto out;
The other problem is that these error paths don't call cpufreq_cpu_put(policy);
58c52e7878cc30 Saravana Kannan 2021-03-02 274 }
58c52e7878cc30 Saravana Kannan 2021-03-02 275
58c52e7878cc30 Saravana Kannan 2021-03-02 276 cpu_dev = get_cpu_device(cpu);
58c52e7878cc30 Saravana Kannan 2021-03-02 277 if (!cpu_dev) {
58c52e7878cc30 Saravana Kannan 2021-03-02 278 dev_err(dev, "failed to get cpu device\n");
58c52e7878cc30 Saravana Kannan 2021-03-02 279 ret = -ENODEV;
58c52e7878cc30 Saravana Kannan 2021-03-02 280 goto out;
^^^^^^^^
Leaked on this path. Move the allocation so it happens after
opp_table = dev_pm_opp_get_opp_table(cpu_dev); succeeds.
58c52e7878cc30 Saravana Kannan 2021-03-02 281 }
58c52e7878cc30 Saravana Kannan 2021-03-02 282
58c52e7878cc30 Saravana Kannan 2021-03-02 283 opp_table = dev_pm_opp_get_opp_table(cpu_dev);
58c52e7878cc30 Saravana Kannan 2021-03-02 284 if (IS_ERR(opp_table)) {
58c52e7878cc30 Saravana Kannan 2021-03-02 285 ret = PTR_ERR(opp_table);
58c52e7878cc30 Saravana Kannan 2021-03-02 286 goto out;
58c52e7878cc30 Saravana Kannan 2021-03-02 287 }
58c52e7878cc30 Saravana Kannan 2021-03-02 288
58c52e7878cc30 Saravana Kannan 2021-03-02 289 cpu_data->dev = cpu_dev;
58c52e7878cc30 Saravana Kannan 2021-03-02 290 cpu_data->opp_table = opp_table;
58c52e7878cc30 Saravana Kannan 2021-03-02 291 cpu_data->first_cpu = cpumask_first(policy->related_cpus);
58c52e7878cc30 Saravana Kannan 2021-03-02 292 cpu_data->cur_freq = policy->cur;
58c52e7878cc30 Saravana Kannan 2021-03-02 293 cpu_data->min_freq = policy->cpuinfo.min_freq;
58c52e7878cc30 Saravana Kannan 2021-03-02 294 cpu_data->max_freq = policy->cpuinfo.max_freq;
58c52e7878cc30 Saravana Kannan 2021-03-02 295
58c52e7878cc30 Saravana Kannan 2021-03-02 296 p_data->cpu_data[cpu] = cpu_data;
58c52e7878cc30 Saravana Kannan 2021-03-02 297 cpufreq_cpu_put(policy);
58c52e7878cc30 Saravana Kannan 2021-03-02 298 } else {
58c52e7878cc30 Saravana Kannan 2021-03-02 299 ret = -EPROBE_DEFER;
58c52e7878cc30 Saravana Kannan 2021-03-02 300 goto out;
58c52e7878cc30 Saravana Kannan 2021-03-02 301 }
58c52e7878cc30 Saravana Kannan 2021-03-02 302 }
58c52e7878cc30 Saravana Kannan 2021-03-02 303 out:
58c52e7878cc30 Saravana Kannan 2021-03-02 304 put_online_cpus();
58c52e7878cc30 Saravana Kannan 2021-03-02 305 if (ret)
58c52e7878cc30 Saravana Kannan 2021-03-02 @306 return ret;
58c52e7878cc30 Saravana Kannan 2021-03-02 307
58c52e7878cc30 Saravana Kannan 2021-03-02 308 mutex_lock(&devfreq->lock);
58c52e7878cc30 Saravana Kannan 2021-03-02 309 ret = devfreq_update_target(devfreq, 0L);
58c52e7878cc30 Saravana Kannan 2021-03-02 310 mutex_unlock(&devfreq->lock);
58c52e7878cc30 Saravana Kannan 2021-03-02 311 if (ret)
58c52e7878cc30 Saravana Kannan 2021-03-02 312 dev_err(dev, "failed to update the frequency\n");
Do we need to unwind anything if devfreq_update_target() fails?
58c52e7878cc30 Saravana Kannan 2021-03-02 313
58c52e7878cc30 Saravana Kannan 2021-03-02 314 return ret;
58c52e7878cc30 Saravana Kannan 2021-03-02 315 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
drivers/net/ethernet/smsc/smc91x.c:550 smc_hardware_send_pkt() error: uninitialized symbol 'flags'.
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Andrew Lunn <andrew(a)lunn.ch>
CC: Jakub Kicinski <kuba(a)kernel.org>
Hi Andrew,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5e46d1b78a03d52306f21f77a4e4a144b6d31486
commit: 7958ba7e6273a02f49432a2506958d0f59b5b8da drivers: net: smsc: Add COMPILE_TEST support
date: 5 months ago
:::::: branch date: 20 hours ago
:::::: commit date: 5 months ago
config: microblaze-randconfig-m031-20210331 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/net/ethernet/smsc/smc91x.c:550 smc_hardware_send_pkt() error: uninitialized symbol 'flags'.
vim +/flags +550 drivers/net/ethernet/smsc/smc91x.c
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 534
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 535 /*
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 536 * This is called to actually send a packet to the chip.
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 537 */
7961fb1089f826 drivers/net/ethernet/smsc/smc91x.c Allen Pais 2020-09-14 538 static void smc_hardware_send_pkt(struct tasklet_struct *t)
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 539 {
7961fb1089f826 drivers/net/ethernet/smsc/smc91x.c Allen Pais 2020-09-14 540 struct smc_local *lp = from_tasklet(lp, t, tx_task);
7961fb1089f826 drivers/net/ethernet/smsc/smc91x.c Allen Pais 2020-09-14 541 struct net_device *dev = lp->dev;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 542 void __iomem *ioaddr = lp->base;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 543 struct sk_buff *skb;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 544 unsigned int packet_no, len;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 545 unsigned char *buf;
8ff499e43c5376 drivers/net/smc91x.c Dongdong Deng 2009-08-23 546 unsigned long flags;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 547
6389aa458ed995 drivers/net/ethernet/smsc/smc91x.c Ben Boeckel 2013-11-01 548 DBG(3, dev, "%s\n", __func__);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 549
8ff499e43c5376 drivers/net/smc91x.c Dongdong Deng 2009-08-23 @550 if (!smc_special_trylock(&lp->lock, flags)) {
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 551 netif_stop_queue(dev);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 552 tasklet_schedule(&lp->tx_task);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 553 return;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 554 }
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 555
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 556 skb = lp->pending_tx_skb;
be83668a253149 drivers/net/smc91x.c Nicolas Pitre 2005-06-19 557 if (unlikely(!skb)) {
8ff499e43c5376 drivers/net/smc91x.c Dongdong Deng 2009-08-23 558 smc_special_unlock(&lp->lock, flags);
be83668a253149 drivers/net/smc91x.c Nicolas Pitre 2005-06-19 559 return;
be83668a253149 drivers/net/smc91x.c Nicolas Pitre 2005-06-19 560 }
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 561 lp->pending_tx_skb = NULL;
be83668a253149 drivers/net/smc91x.c Nicolas Pitre 2005-06-19 562
cfdfa86536d2fb drivers/net/smc91x.c Magnus Damm 2008-02-22 563 packet_no = SMC_GET_AR(lp);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 564 if (unlikely(packet_no & AR_FAILED)) {
6389aa458ed995 drivers/net/ethernet/smsc/smc91x.c Ben Boeckel 2013-11-01 565 netdev_err(dev, "Memory allocation failed.\n");
09f75cd7bf1372 drivers/net/smc91x.c Jeff Garzik 2007-10-03 566 dev->stats.tx_errors++;
09f75cd7bf1372 drivers/net/smc91x.c Jeff Garzik 2007-10-03 567 dev->stats.tx_fifo_errors++;
8ff499e43c5376 drivers/net/smc91x.c Dongdong Deng 2009-08-23 568 smc_special_unlock(&lp->lock, flags);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 569 goto done;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 570 }
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 571
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 572 /* point to the beginning of the packet */
cfdfa86536d2fb drivers/net/smc91x.c Magnus Damm 2008-02-22 573 SMC_SET_PN(lp, packet_no);
cfdfa86536d2fb drivers/net/smc91x.c Magnus Damm 2008-02-22 574 SMC_SET_PTR(lp, PTR_AUTOINC);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 575
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 576 buf = skb->data;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 577 len = skb->len;
6389aa458ed995 drivers/net/ethernet/smsc/smc91x.c Ben Boeckel 2013-11-01 578 DBG(2, dev, "TX PNR 0x%x LENGTH 0x%04x (%d) BUF 0x%p\n",
6389aa458ed995 drivers/net/ethernet/smsc/smc91x.c Ben Boeckel 2013-11-01 579 packet_no, len, len, buf);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 580 PRINT_PKT(buf, len);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 581
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 582 /*
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 583 * Send the packet length (+6 for status words, length, and ctl.
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 584 * The card will pad to 64 bytes with zeroes if packet is too small.
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 585 */
cfdfa86536d2fb drivers/net/smc91x.c Magnus Damm 2008-02-22 586 SMC_PUT_PKT_HDR(lp, 0, len + 6);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 587
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 588 /* send the actual data */
cfdfa86536d2fb drivers/net/smc91x.c Magnus Damm 2008-02-22 589 SMC_PUSH_DATA(lp, buf, len & ~1);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 590
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 591 /* Send final ctl word with the last byte if there is one */
d09d747ae4c25a drivers/net/ethernet/smsc/smc91x.c Robert Jarzmik 2016-10-17 592 SMC_outw(lp, ((len & 1) ? (0x2000 | buf[len - 1]) : 0), ioaddr,
d09d747ae4c25a drivers/net/ethernet/smsc/smc91x.c Robert Jarzmik 2016-10-17 593 DATA_REG(lp));
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 594
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 595 /*
ea9375607f8b31 drivers/net/smc91x.c Nicolas Pitre 2005-04-12 596 * If THROTTLE_TX_PKTS is set, we stop the queue here. This will
ea9375607f8b31 drivers/net/smc91x.c Nicolas Pitre 2005-04-12 597 * have the effect of having at most one packet queued for TX
ea9375607f8b31 drivers/net/smc91x.c Nicolas Pitre 2005-04-12 598 * in the chip's memory at all time.
ea9375607f8b31 drivers/net/smc91x.c Nicolas Pitre 2005-04-12 599 *
ea9375607f8b31 drivers/net/smc91x.c Nicolas Pitre 2005-04-12 600 * If THROTTLE_TX_PKTS is not set then the queue is stopped only
ea9375607f8b31 drivers/net/smc91x.c Nicolas Pitre 2005-04-12 601 * when memory allocation (MC_ALLOC) does not succeed right away.
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 602 */
ea9375607f8b31 drivers/net/smc91x.c Nicolas Pitre 2005-04-12 603 if (THROTTLE_TX_PKTS)
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 604 netif_stop_queue(dev);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 605
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 606 /* queue the packet for TX */
cfdfa86536d2fb drivers/net/smc91x.c Magnus Damm 2008-02-22 607 SMC_SET_MMU_CMD(lp, MC_ENQUEUE);
8ff499e43c5376 drivers/net/smc91x.c Dongdong Deng 2009-08-23 608 smc_special_unlock(&lp->lock, flags);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 609
860e9538a9482b drivers/net/ethernet/smsc/smc91x.c Florian Westphal 2016-05-03 610 netif_trans_update(dev);
09f75cd7bf1372 drivers/net/smc91x.c Jeff Garzik 2007-10-03 611 dev->stats.tx_packets++;
09f75cd7bf1372 drivers/net/smc91x.c Jeff Garzik 2007-10-03 612 dev->stats.tx_bytes += len;
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 613
cfdfa86536d2fb drivers/net/smc91x.c Magnus Damm 2008-02-22 614 SMC_ENABLE_INT(lp, IM_TX_INT | IM_TX_EMPTY_INT);
^1da177e4c3f41 drivers/net/smc91x.c Linus Torvalds 2005-04-16 615
:::::: The code at line 550 was first introduced by commit
:::::: 8ff499e43c537648399fca8ba39d24c0768b3fab smc91x: let smc91x work well under netpoll
:::::: TO: Dongdong Deng <dongdong.deng(a)windriver.com>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[chanwoo:devfreq-testing-passive-gov 14/15] drivers/devfreq/governor_passive.c:306 cpufreq_passive_register_notifier() warn: possible memory leak of 'cpu_data'
by kernel test robot
CC: kbuild-all(a)lists.01.org
TO: Saravana Kannan <skannan(a)codeaurora.org>
CC: Chanwoo Choi <cw00.choi(a)samsung.com>
CC: Sibi Sankar <sibis(a)codeaurora.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git devfreq-testing-passive-gov
head: 801b60f356489d7a4525d95b615e00544ba34729
commit: 58c52e7878cc305830bc4c784ebdb6cba7a94c87 [14/15] PM / devfreq: Add cpu based scaling support to passive governor
:::::: branch date: 9 hours ago
:::::: commit date: 9 hours ago
config: x86_64-randconfig-m001-20210330 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/devfreq/governor_passive.c:306 cpufreq_passive_register_notifier() warn: possible memory leak of 'cpu_data'
vim +/cpu_data +306 drivers/devfreq/governor_passive.c
58c52e7878cc30 Saravana Kannan 2021-03-02 241
58c52e7878cc30 Saravana Kannan 2021-03-02 242 static int cpufreq_passive_register_notifier(struct devfreq *devfreq)
58c52e7878cc30 Saravana Kannan 2021-03-02 243 {
58c52e7878cc30 Saravana Kannan 2021-03-02 244 struct devfreq_passive_data *p_data
58c52e7878cc30 Saravana Kannan 2021-03-02 245 = (struct devfreq_passive_data *)devfreq->data;
58c52e7878cc30 Saravana Kannan 2021-03-02 246 struct device *dev = devfreq->dev.parent;
58c52e7878cc30 Saravana Kannan 2021-03-02 247 struct opp_table *opp_table = NULL;
58c52e7878cc30 Saravana Kannan 2021-03-02 248 struct devfreq_cpu_data *cpu_data;
58c52e7878cc30 Saravana Kannan 2021-03-02 249 struct cpufreq_policy *policy;
58c52e7878cc30 Saravana Kannan 2021-03-02 250 struct device *cpu_dev;
58c52e7878cc30 Saravana Kannan 2021-03-02 251 unsigned int cpu;
58c52e7878cc30 Saravana Kannan 2021-03-02 252 int ret;
58c52e7878cc30 Saravana Kannan 2021-03-02 253
58c52e7878cc30 Saravana Kannan 2021-03-02 254 get_online_cpus();
58c52e7878cc30 Saravana Kannan 2021-03-02 255
58c52e7878cc30 Saravana Kannan 2021-03-02 256 p_data->nb.notifier_call = cpufreq_passive_notifier_call;
58c52e7878cc30 Saravana Kannan 2021-03-02 257 ret = cpufreq_register_notifier(&p_data->nb, CPUFREQ_TRANSITION_NOTIFIER);
58c52e7878cc30 Saravana Kannan 2021-03-02 258 if (ret) {
58c52e7878cc30 Saravana Kannan 2021-03-02 259 dev_err(dev, "failed to register cpufreq notifier\n");
58c52e7878cc30 Saravana Kannan 2021-03-02 260 p_data->nb.notifier_call = NULL;
58c52e7878cc30 Saravana Kannan 2021-03-02 261 goto out;
58c52e7878cc30 Saravana Kannan 2021-03-02 262 }
58c52e7878cc30 Saravana Kannan 2021-03-02 263
58c52e7878cc30 Saravana Kannan 2021-03-02 264 for_each_online_cpu(cpu) {
58c52e7878cc30 Saravana Kannan 2021-03-02 265 if (p_data->cpu_data[cpu])
58c52e7878cc30 Saravana Kannan 2021-03-02 266 continue;
58c52e7878cc30 Saravana Kannan 2021-03-02 267
58c52e7878cc30 Saravana Kannan 2021-03-02 268 policy = cpufreq_cpu_get(cpu);
58c52e7878cc30 Saravana Kannan 2021-03-02 269 if (policy) {
58c52e7878cc30 Saravana Kannan 2021-03-02 270 cpu_data = kzalloc(sizeof(*cpu_data), GFP_KERNEL);
58c52e7878cc30 Saravana Kannan 2021-03-02 271 if (!cpu_data) {
58c52e7878cc30 Saravana Kannan 2021-03-02 272 ret = -ENOMEM;
58c52e7878cc30 Saravana Kannan 2021-03-02 273 goto out;
58c52e7878cc30 Saravana Kannan 2021-03-02 274 }
58c52e7878cc30 Saravana Kannan 2021-03-02 275
58c52e7878cc30 Saravana Kannan 2021-03-02 276 cpu_dev = get_cpu_device(cpu);
58c52e7878cc30 Saravana Kannan 2021-03-02 277 if (!cpu_dev) {
58c52e7878cc30 Saravana Kannan 2021-03-02 278 dev_err(dev, "failed to get cpu device\n");
58c52e7878cc30 Saravana Kannan 2021-03-02 279 ret = -ENODEV;
58c52e7878cc30 Saravana Kannan 2021-03-02 280 goto out;
58c52e7878cc30 Saravana Kannan 2021-03-02 281 }
58c52e7878cc30 Saravana Kannan 2021-03-02 282
58c52e7878cc30 Saravana Kannan 2021-03-02 283 opp_table = dev_pm_opp_get_opp_table(cpu_dev);
58c52e7878cc30 Saravana Kannan 2021-03-02 284 if (IS_ERR(opp_table)) {
58c52e7878cc30 Saravana Kannan 2021-03-02 285 ret = PTR_ERR(opp_table);
58c52e7878cc30 Saravana Kannan 2021-03-02 286 goto out;
58c52e7878cc30 Saravana Kannan 2021-03-02 287 }
58c52e7878cc30 Saravana Kannan 2021-03-02 288
58c52e7878cc30 Saravana Kannan 2021-03-02 289 cpu_data->dev = cpu_dev;
58c52e7878cc30 Saravana Kannan 2021-03-02 290 cpu_data->opp_table = opp_table;
58c52e7878cc30 Saravana Kannan 2021-03-02 291 cpu_data->first_cpu = cpumask_first(policy->related_cpus);
58c52e7878cc30 Saravana Kannan 2021-03-02 292 cpu_data->cur_freq = policy->cur;
58c52e7878cc30 Saravana Kannan 2021-03-02 293 cpu_data->min_freq = policy->cpuinfo.min_freq;
58c52e7878cc30 Saravana Kannan 2021-03-02 294 cpu_data->max_freq = policy->cpuinfo.max_freq;
58c52e7878cc30 Saravana Kannan 2021-03-02 295
58c52e7878cc30 Saravana Kannan 2021-03-02 296 p_data->cpu_data[cpu] = cpu_data;
58c52e7878cc30 Saravana Kannan 2021-03-02 297 cpufreq_cpu_put(policy);
58c52e7878cc30 Saravana Kannan 2021-03-02 298 } else {
58c52e7878cc30 Saravana Kannan 2021-03-02 299 ret = -EPROBE_DEFER;
58c52e7878cc30 Saravana Kannan 2021-03-02 300 goto out;
58c52e7878cc30 Saravana Kannan 2021-03-02 301 }
58c52e7878cc30 Saravana Kannan 2021-03-02 302 }
58c52e7878cc30 Saravana Kannan 2021-03-02 303 out:
58c52e7878cc30 Saravana Kannan 2021-03-02 304 put_online_cpus();
58c52e7878cc30 Saravana Kannan 2021-03-02 305 if (ret)
58c52e7878cc30 Saravana Kannan 2021-03-02 @306 return ret;
58c52e7878cc30 Saravana Kannan 2021-03-02 307
58c52e7878cc30 Saravana Kannan 2021-03-02 308 mutex_lock(&devfreq->lock);
58c52e7878cc30 Saravana Kannan 2021-03-02 309 ret = devfreq_update_target(devfreq, 0L);
58c52e7878cc30 Saravana Kannan 2021-03-02 310 mutex_unlock(&devfreq->lock);
58c52e7878cc30 Saravana Kannan 2021-03-02 311 if (ret)
58c52e7878cc30 Saravana Kannan 2021-03-02 312 dev_err(dev, "failed to update the frequency\n");
58c52e7878cc30 Saravana Kannan 2021-03-02 313
58c52e7878cc30 Saravana Kannan 2021-03-02 314 return ret;
58c52e7878cc30 Saravana Kannan 2021-03-02 315 }
58c52e7878cc30 Saravana Kannan 2021-03-02 316
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[android-common:android12-5.4 5/9] drivers/dma-buf/heaps/system_heap.c:351 system_heap_buf_free() error: buffer overflow 'pools' 3 <= 3 (assuming for loop doesn't break)
by kernel test robot
CC: kbuild-all(a)lists.01.org
TO: cros-kernel-buildreports(a)googlegroups.com
tree: https://android.googlesource.com/kernel/common android12-5.4
head: 82c67a98c7494b4e71dcbea03335509e9ccecfa5
commit: e3919bfeb0066ab9b5f9765e5610b95672990e64 [5/9] ANDROID: dma-buf: system_heap: Add deferred freeing to the system heap
:::::: branch date: 7 weeks ago
:::::: commit date: 7 weeks ago
config: x86_64-randconfig-m001-20210330 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/dma-buf/heaps/system_heap.c:351 system_heap_buf_free() error: buffer overflow 'pools' 3 <= 3 (assuming for loop doesn't break)
vim +351 drivers/dma-buf/heaps/system_heap.c
44008f99d9ca07 John Stultz 2019-06-06 325
e3919bfeb0066a John Stultz 2020-12-09 326 static void system_heap_buf_free(struct deferred_freelist_item *item,
e3919bfeb0066a John Stultz 2020-12-09 327 enum df_reason reason)
fc004422dadc12 John Stultz 2020-09-25 328 {
e3919bfeb0066a John Stultz 2020-12-09 329 struct system_heap_buffer *buffer;
fc004422dadc12 John Stultz 2020-09-25 330 struct sg_table *table;
fc004422dadc12 John Stultz 2020-09-25 331 struct scatterlist *sg;
44008f99d9ca07 John Stultz 2019-06-06 332 int i, j;
44008f99d9ca07 John Stultz 2019-06-06 333
e3919bfeb0066a John Stultz 2020-12-09 334 buffer = container_of(item, struct system_heap_buffer, deferred_free);
44008f99d9ca07 John Stultz 2019-06-06 335 /* Zero the buffer pages before adding back to the pool */
e3919bfeb0066a John Stultz 2020-12-09 336 if (reason == DF_NORMAL)
e3919bfeb0066a John Stultz 2020-12-09 337 if (system_heap_zero_buffer(buffer))
e3919bfeb0066a John Stultz 2020-12-09 338 reason = DF_UNDER_PRESSURE; // On failure, just free
fc004422dadc12 John Stultz 2020-09-25 339
fc004422dadc12 John Stultz 2020-09-25 340 table = &buffer->sg_table;
703f43c5810e08 John Stultz 2020-09-26 341 for_each_sg(table->sgl, sg, table->nents, i) {
703f43c5810e08 John Stultz 2020-09-26 342 struct page *page = sg_page(sg);
703f43c5810e08 John Stultz 2020-09-26 343
e3919bfeb0066a John Stultz 2020-12-09 344 if (reason == DF_UNDER_PRESSURE) {
e3919bfeb0066a John Stultz 2020-12-09 345 __free_pages(page, compound_order(page));
e3919bfeb0066a John Stultz 2020-12-09 346 } else {
44008f99d9ca07 John Stultz 2019-06-06 347 for (j = 0; j < NUM_ORDERS; j++) {
44008f99d9ca07 John Stultz 2019-06-06 348 if (compound_order(page) == orders[j])
44008f99d9ca07 John Stultz 2019-06-06 349 break;
44008f99d9ca07 John Stultz 2019-06-06 350 }
44008f99d9ca07 John Stultz 2019-06-06 @351 dmabuf_page_pool_free(pools[j], page);
703f43c5810e08 John Stultz 2020-09-26 352 }
e3919bfeb0066a John Stultz 2020-12-09 353 }
fc004422dadc12 John Stultz 2020-09-25 354 sg_free_table(table);
c02e6ccc5a4aab John Stultz 2019-12-03 355 kfree(buffer);
c02e6ccc5a4aab John Stultz 2019-12-03 356 }
c02e6ccc5a4aab John Stultz 2019-12-03 357
:::::: The code at line 351 was first introduced by commit
:::::: 44008f99d9ca0793e2562967e1da01fa74ee4a41 ANDROID: dma-buf: system_heap: Add pagepool support to system heap
:::::: TO: John Stultz <john.stultz(a)linaro.org>
:::::: CC: John Stultz <john.stultz(a)linaro.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
Re: [PATCH net-next v3 8/8] virtio-net: free old xmit handle xsk
by kernel test robot
CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210331071139.15473-9-xuanzhuo(a)linux.alibaba.com>
References: <20210331071139.15473-9-xuanzhuo(a)linux.alibaba.com>
TO: Xuan Zhuo <xuanzhuo(a)linux.alibaba.com>
TO: netdev(a)vger.kernel.org
CC: "Michael S. Tsirkin" <mst(a)redhat.com>
CC: Jason Wang <jasowang(a)redhat.com>
CC: Jakub Kicinski <kuba(a)kernel.org>
CC: "Björn Töpel" <bjorn(a)kernel.org>
CC: Magnus Karlsson <magnus.karlsson(a)intel.com>
CC: Jonathan Lemon <jonathan.lemon(a)gmail.com>
CC: Alexei Starovoitov <ast(a)kernel.org>
CC: Daniel Borkmann <daniel(a)iogearbox.net>
CC: Jesper Dangaard Brouer <hawk(a)kernel.org>
Hi Xuan,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/Xuan-Zhuo/virtio-net-support-xdp...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 28110056f2d07a576ca045a38f80de051b13582a
:::::: branch date: 6 hours ago
:::::: commit date: 6 hours ago
config: i386-randconfig-m021-20210330 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/net/virtio_net.c:295 xsk_to_ptr() warn: should 'desc->len << 4' be a 64 bit type?
Old smatch warnings:
drivers/net/virtio_net.c:1972 virtnet_set_rx_mode() warn: is 'buf' large enough for 'struct virtio_net_ctrl_mac'? 0
drivers/net/virtio_net.c:2961 virtnet_config_changed_work() error: uninitialized symbol 'v'.
vim +295 drivers/net/virtio_net.c
5050471d35d131 Toshiaki Makita 2019-01-29 291
2f0c0d42a79523 Xuan Zhuo 2021-03-31 292 static void *xsk_to_ptr(struct xdp_desc *desc)
2f0c0d42a79523 Xuan Zhuo 2021-03-31 293 {
2f0c0d42a79523 Xuan Zhuo 2021-03-31 294 /* save the desc len to ptr */
2f0c0d42a79523 Xuan Zhuo 2021-03-31 @295 u64 p = desc->len << VIRTIO_XSK_PTR_SHIFT;
2f0c0d42a79523 Xuan Zhuo 2021-03-31 296
2f0c0d42a79523 Xuan Zhuo 2021-03-31 297 return (void *)(p | VIRTIO_XSK_FLAG);
2f0c0d42a79523 Xuan Zhuo 2021-03-31 298 }
2f0c0d42a79523 Xuan Zhuo 2021-03-31 299
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month