Re: [PATCH] libertas: Fix two buffer overflows at parsing bss descriptor
by kbuild test robot
Hi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on wireless-drivers-next/master]
[also build test WARNING on v5.4-rc8 next-20191122]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/huangwenabc-gmail-com/libertas-F...
base: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-ne... master
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=sh
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/wireless/marvell/libertas/cfg.c: In function 'lbs_ibss_join_existing':
>> drivers/net/wireless/marvell/libertas/cfg.c:1788:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
u8 *rates = cmd.bss.rates;
^~
vim +1788 drivers/net/wireless/marvell/libertas/cfg.c
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1715
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1716 static int lbs_ibss_join_existing(struct lbs_private *priv,
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1717 struct cfg80211_ibss_params *params,
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1718 struct cfg80211_bss *bss)
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1719 {
9caf03640279e6 drivers/net/wireless/libertas/cfg.c Johannes Berg 2012-11-29 1720 const u8 *rates_eid;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1721 struct cmd_ds_802_11_ad_hoc_join cmd;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1722 u8 preamble = RADIO_PREAMBLE_SHORT;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1723 int ret = 0;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1724
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1725 /* TODO: set preamble based on scan result */
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1726 ret = lbs_set_radio(priv, preamble, 1);
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1727 if (ret)
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1728 goto out;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1729
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1730 /*
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1731 * Example CMD_802_11_AD_HOC_JOIN command:
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1732 *
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1733 * command 2c 00 CMD_802_11_AD_HOC_JOIN
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1734 * size 65 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1735 * sequence xx xx
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1736 * result 00 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1737 * bssid 02 27 27 97 2f 96
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1738 * ssid 49 42 53 53 00 00 00 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1739 * 00 00 00 00 00 00 00 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1740 * 00 00 00 00 00 00 00 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1741 * 00 00 00 00 00 00 00 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1742 * type 02 CMD_BSS_TYPE_IBSS
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1743 * beacon period 64 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1744 * dtim period 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1745 * timestamp 00 00 00 00 00 00 00 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1746 * localtime 00 00 00 00 00 00 00 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1747 * IE DS 03
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1748 * IE DS len 01
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1749 * IE DS channel 01
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1750 * reserveed 00 00 00 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1751 * IE IBSS 06
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1752 * IE IBSS len 02
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1753 * IE IBSS atim 00 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1754 * reserved 00 00 00 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1755 * capability 02 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1756 * rates 82 84 8b 96 0c 12 18 24 30 48 60 6c 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1757 * fail timeout ff 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1758 * probe delay 00 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1759 */
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1760 memset(&cmd, 0, sizeof(cmd));
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1761 cmd.hdr.size = cpu_to_le16(sizeof(cmd));
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1762
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1763 memcpy(cmd.bss.bssid, bss->bssid, ETH_ALEN);
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1764 memcpy(cmd.bss.ssid, params->ssid, params->ssid_len);
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1765 cmd.bss.type = CMD_BSS_TYPE_IBSS;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1766 cmd.bss.beaconperiod = cpu_to_le16(params->beacon_interval);
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1767 cmd.bss.ds.header.id = WLAN_EID_DS_PARAMS;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1768 cmd.bss.ds.header.len = 1;
683b6d3b31a519 drivers/net/wireless/libertas/cfg.c Johannes Berg 2012-11-08 1769 cmd.bss.ds.channel = params->chandef.chan->hw_value;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1770 cmd.bss.ibss.header.id = WLAN_EID_IBSS_PARAMS;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1771 cmd.bss.ibss.header.len = 2;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1772 cmd.bss.ibss.atimwindow = 0;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1773 cmd.bss.capability = cpu_to_le16(bss->capability & CAPINFO_MASK);
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1774
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1775 /* set rates to the intersection of our rates and the rates in the
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1776 bss */
9caf03640279e6 drivers/net/wireless/libertas/cfg.c Johannes Berg 2012-11-29 1777 rcu_read_lock();
9caf03640279e6 drivers/net/wireless/libertas/cfg.c Johannes Berg 2012-11-29 1778 rates_eid = ieee80211_bss_get_ie(bss, WLAN_EID_SUPP_RATES);
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1779 if (!rates_eid) {
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1780 lbs_add_rates(cmd.bss.rates);
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1781 } else {
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1782 int hw, i;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1783 u8 rates_max = rates_eid[1];
bb7da3c8c1a225 drivers/net/wireless/marvell/libertas/cfg.c Wen Huang 2019-11-22 1784 if (rates_max > MAX_RATES) {
bb7da3c8c1a225 drivers/net/wireless/marvell/libertas/cfg.c Wen Huang 2019-11-22 1785 lbs_deb_join("invalid rates");
bb7da3c8c1a225 drivers/net/wireless/marvell/libertas/cfg.c Wen Huang 2019-11-22 1786 goto out;
bb7da3c8c1a225 drivers/net/wireless/marvell/libertas/cfg.c Wen Huang 2019-11-22 1787 }
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 @1788 u8 *rates = cmd.bss.rates;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1789 for (hw = 0; hw < ARRAY_SIZE(lbs_rates); hw++) {
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1790 u8 hw_rate = lbs_rates[hw].bitrate / 5;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1791 for (i = 0; i < rates_max; i++) {
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1792 if (hw_rate == (rates_eid[i+2] & 0x7f)) {
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1793 u8 rate = rates_eid[i+2];
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1794 if (rate == 0x02 || rate == 0x04 ||
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1795 rate == 0x0b || rate == 0x16)
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1796 rate |= 0x80;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1797 *rates++ = rate;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1798 }
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1799 }
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1800 }
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1801 }
9caf03640279e6 drivers/net/wireless/libertas/cfg.c Johannes Berg 2012-11-29 1802 rcu_read_unlock();
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1803
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1804 /* Only v8 and below support setting this */
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1805 if (MRVL_FW_MAJOR_REV(priv->fwrelease) <= 8) {
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1806 cmd.failtimeout = cpu_to_le16(MRVDRV_ASSOCIATION_TIME_OUT);
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1807 cmd.probedelay = cpu_to_le16(CMD_SCAN_PROBE_DELAY_TIME);
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1808 }
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1809 ret = lbs_cmd_with_response(priv, CMD_802_11_AD_HOC_JOIN, &cmd);
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1810 if (ret)
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1811 goto out;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1812
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1813 /*
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1814 * This is a sample response to CMD_802_11_AD_HOC_JOIN:
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1815 *
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1816 * response 2c 80
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1817 * size 09 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1818 * sequence xx xx
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1819 * result 00 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1820 * reserved 00
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1821 */
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1822 lbs_join_post(priv, params, bss->bssid, bss->capability);
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1823
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1824 out:
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1825 return ret;
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1826 }
e86dc1ca467644 drivers/net/wireless/libertas/cfg.c Kiran Divekar 2010-06-14 1827
:::::: The code at line 1788 was first introduced by commit
:::::: e86dc1ca4676445d9f0dfe35104efe0eb8a2f566 Libertas: cfg80211 support
:::::: TO: Kiran Divekar <dkiran(a)marvell.com>
:::::: CC: John W. Linville <linville(a)tuxdriver.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
1 year
Re: [PATCH v15 06/19] leds: lp50xx: Add the LP50XX family of the RGB LED driver
by kbuild test robot
Hi Dan,
I love your patch! Yet something to improve:
[auto build test ERROR on j.anaszewski-leds/for-next]
[also build test ERROR on v5.4-rc5 next-20191029]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Dan-Murphy/Multicolor-Framework/...
base: https://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds.git for-next
config: mips-allmodconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers//leds/leds-lp50xx.c:360:27: error: initializer element is not constant
.lp50xx_regmap_config = lp5012_regmap_config,
^~~~~~~~~~~~~~~~~~~~
drivers//leds/leds-lp50xx.c:360:27: note: (near initialization for 'lp50xx_chip_info_tbl[0].lp50xx_regmap_config')
drivers//leds/leds-lp50xx.c:371:27: error: initializer element is not constant
.lp50xx_regmap_config = lp5012_regmap_config,
^~~~~~~~~~~~~~~~~~~~
drivers//leds/leds-lp50xx.c:371:27: note: (near initialization for 'lp50xx_chip_info_tbl[1].lp50xx_regmap_config')
drivers//leds/leds-lp50xx.c:382:27: error: initializer element is not constant
.lp50xx_regmap_config = lp5024_regmap_config,
^~~~~~~~~~~~~~~~~~~~
drivers//leds/leds-lp50xx.c:382:27: note: (near initialization for 'lp50xx_chip_info_tbl[2].lp50xx_regmap_config')
drivers//leds/leds-lp50xx.c:393:27: error: initializer element is not constant
.lp50xx_regmap_config = lp5024_regmap_config,
^~~~~~~~~~~~~~~~~~~~
drivers//leds/leds-lp50xx.c:393:27: note: (near initialization for 'lp50xx_chip_info_tbl[3].lp50xx_regmap_config')
drivers//leds/leds-lp50xx.c:404:27: error: initializer element is not constant
.lp50xx_regmap_config = lp5036_regmap_config,
^~~~~~~~~~~~~~~~~~~~
drivers//leds/leds-lp50xx.c:404:27: note: (near initialization for 'lp50xx_chip_info_tbl[4].lp50xx_regmap_config')
drivers//leds/leds-lp50xx.c:415:27: error: initializer element is not constant
.lp50xx_regmap_config = lp5036_regmap_config,
^~~~~~~~~~~~~~~~~~~~
drivers//leds/leds-lp50xx.c:415:27: note: (near initialization for 'lp50xx_chip_info_tbl[5].lp50xx_regmap_config')
vim +360 drivers//leds/leds-lp50xx.c
349
350 static const struct lp50xx_chip_info lp50xx_chip_info_tbl[] = {
351 [LP5009] = {
352 .model_id = LP5009,
353 .max_modules = LP5009_MAX_LED_MODULES,
354 .num_leds = LP5009_MAX_LEDS,
355 .led_brightness0_reg = LP5012_LED0_BRT,
356 .mix_out0_reg = LP5012_OUT0_CLR,
357 .bank_brt_reg = LP5012_BNK_BRT,
358 .bank_mix_reg = LP5012_BNKA_CLR,
359 .reset_reg = LP5012_RESET,
> 360 .lp50xx_regmap_config = lp5012_regmap_config,
361 },
362 [LP5012] = {
363 .model_id = LP5012,
364 .max_modules = LP5012_MAX_LED_MODULES,
365 .num_leds = LP5012_MAX_LEDS,
366 .led_brightness0_reg = LP5012_LED0_BRT,
367 .mix_out0_reg = LP5012_OUT0_CLR,
368 .bank_brt_reg = LP5012_BNK_BRT,
369 .bank_mix_reg = LP5012_BNKA_CLR,
370 .reset_reg = LP5012_RESET,
371 .lp50xx_regmap_config = lp5012_regmap_config,
372 },
373 [LP5018] = {
374 .model_id = LP5018,
375 .max_modules = LP5018_MAX_LED_MODULES,
376 .num_leds = LP5018_MAX_LEDS,
377 .led_brightness0_reg = LP5024_LED0_BRT,
378 .mix_out0_reg = LP5024_OUT0_CLR,
379 .bank_brt_reg = LP5024_BNK_BRT,
380 .bank_mix_reg = LP5024_BNKA_CLR,
381 .reset_reg = LP5024_RESET,
382 .lp50xx_regmap_config = lp5024_regmap_config,
383 },
384 [LP5024] = {
385 .model_id = LP5024,
386 .max_modules = LP5024_MAX_LED_MODULES,
387 .num_leds = LP5024_MAX_LEDS,
388 .led_brightness0_reg = LP5024_LED0_BRT,
389 .mix_out0_reg = LP5024_OUT0_CLR,
390 .bank_brt_reg = LP5024_BNK_BRT,
391 .bank_mix_reg = LP5024_BNKA_CLR,
392 .reset_reg = LP5024_RESET,
393 .lp50xx_regmap_config = lp5024_regmap_config,
394 },
395 [LP5030] = {
396 .model_id = LP5030,
397 .max_modules = LP5030_MAX_LED_MODULES,
398 .num_leds = LP5030_MAX_LEDS,
399 .led_brightness0_reg = LP5036_LED0_BRT,
400 .mix_out0_reg = LP5036_OUT0_CLR,
401 .bank_brt_reg = LP5036_BNK_BRT,
402 .bank_mix_reg = LP5036_BNKA_CLR,
403 .reset_reg = LP5036_RESET,
404 .lp50xx_regmap_config = lp5036_regmap_config,
405 },
406 [LP5036] = {
407 .model_id = LP5036,
408 .max_modules = LP5036_MAX_LED_MODULES,
409 .num_leds = LP5036_MAX_LEDS,
410 .led_brightness0_reg = LP5036_LED0_BRT,
411 .mix_out0_reg = LP5036_OUT0_CLR,
412 .bank_brt_reg = LP5036_BNK_BRT,
413 .bank_mix_reg = LP5036_BNKA_CLR,
414 .reset_reg = LP5036_RESET,
415 .lp50xx_regmap_config = lp5036_regmap_config,
416 },
417 };
418
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
1 year, 2 months
[linux-next:master 1155/11283] arch/arm/kernel/patch.c:40:2: error: implicit declaration of function 'set_fixmap'; did you mean 'set_fs'?
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 702ccea170f07783bd002055a353a0866c062267
commit: 5a735583b764750726621b0396d03e4782911b77 [1155/11283] arm/ftrace: Use __patch_text()
config: arm-randconfig-a001-20200126 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 5a735583b764750726621b0396d03e4782911b77
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/arm/kernel/patch.c: In function 'patch_map':
>> arch/arm/kernel/patch.c:40:2: error: implicit declaration of function 'set_fixmap'; did you mean 'set_fs'? [-Werror=implicit-function-declaration]
set_fixmap(fixmap, page_to_phys(page));
^~~~~~~~~~
set_fs
>> arch/arm/kernel/patch.c:42:19: error: implicit declaration of function '__fix_to_virt'; did you mean '__bus_to_virt'? [-Werror=implicit-function-declaration]
return (void *) (__fix_to_virt(fixmap) + (uintaddr & ~PAGE_MASK));
^~~~~~~~~~~~~
__bus_to_virt
arch/arm/kernel/patch.c: In function 'patch_unmap':
>> arch/arm/kernel/patch.c:48:2: error: implicit declaration of function 'clear_fixmap'; did you mean 'clear_inode'? [-Werror=implicit-function-declaration]
clear_fixmap(fixmap);
^~~~~~~~~~~~
clear_inode
cc1: some warnings being treated as errors
vim +40 arch/arm/kernel/patch.c
ab0615e2d6fb07 Rabin Vincent 2014-04-24 20
ab0615e2d6fb07 Rabin Vincent 2014-04-24 21 static void __kprobes *patch_map(void *addr, int fixmap, unsigned long *flags)
ab0615e2d6fb07 Rabin Vincent 2014-04-24 22 __acquires(&patch_lock)
ab0615e2d6fb07 Rabin Vincent 2014-04-24 23 {
ab0615e2d6fb07 Rabin Vincent 2014-04-24 24 unsigned int uintaddr = (uintptr_t) addr;
ab0615e2d6fb07 Rabin Vincent 2014-04-24 25 bool module = !core_kernel_text(uintaddr);
ab0615e2d6fb07 Rabin Vincent 2014-04-24 26 struct page *page;
ab0615e2d6fb07 Rabin Vincent 2014-04-24 27
0f5bf6d0afe4be Laura Abbott 2017-02-06 28 if (module && IS_ENABLED(CONFIG_STRICT_MODULE_RWX))
ab0615e2d6fb07 Rabin Vincent 2014-04-24 29 page = vmalloc_to_page(addr);
0f5bf6d0afe4be Laura Abbott 2017-02-06 30 else if (!module && IS_ENABLED(CONFIG_STRICT_KERNEL_RWX))
ab0615e2d6fb07 Rabin Vincent 2014-04-24 31 page = virt_to_page(addr);
ab0615e2d6fb07 Rabin Vincent 2014-04-24 32 else
ab0615e2d6fb07 Rabin Vincent 2014-04-24 33 return addr;
ab0615e2d6fb07 Rabin Vincent 2014-04-24 34
ab0615e2d6fb07 Rabin Vincent 2014-04-24 35 if (flags)
143c2a89e0e5fd Yang Shi 2019-02-13 36 raw_spin_lock_irqsave(&patch_lock, *flags);
ab0615e2d6fb07 Rabin Vincent 2014-04-24 37 else
ab0615e2d6fb07 Rabin Vincent 2014-04-24 38 __acquire(&patch_lock);
ab0615e2d6fb07 Rabin Vincent 2014-04-24 39
ab0615e2d6fb07 Rabin Vincent 2014-04-24 @40 set_fixmap(fixmap, page_to_phys(page));
ab0615e2d6fb07 Rabin Vincent 2014-04-24 41
ab0615e2d6fb07 Rabin Vincent 2014-04-24 @42 return (void *) (__fix_to_virt(fixmap) + (uintaddr & ~PAGE_MASK));
ab0615e2d6fb07 Rabin Vincent 2014-04-24 43 }
ab0615e2d6fb07 Rabin Vincent 2014-04-24 44
ab0615e2d6fb07 Rabin Vincent 2014-04-24 45 static void __kprobes patch_unmap(int fixmap, unsigned long *flags)
ab0615e2d6fb07 Rabin Vincent 2014-04-24 46 __releases(&patch_lock)
ab0615e2d6fb07 Rabin Vincent 2014-04-24 47 {
ab0615e2d6fb07 Rabin Vincent 2014-04-24 @48 clear_fixmap(fixmap);
ab0615e2d6fb07 Rabin Vincent 2014-04-24 49
ab0615e2d6fb07 Rabin Vincent 2014-04-24 50 if (flags)
143c2a89e0e5fd Yang Shi 2019-02-13 51 raw_spin_unlock_irqrestore(&patch_lock, *flags);
ab0615e2d6fb07 Rabin Vincent 2014-04-24 52 else
ab0615e2d6fb07 Rabin Vincent 2014-04-24 53 __release(&patch_lock);
ab0615e2d6fb07 Rabin Vincent 2014-04-24 54 }
ab0615e2d6fb07 Rabin Vincent 2014-04-24 55
:::::: The code at line 40 was first introduced by commit
:::::: ab0615e2d6fb074764a3e4d05f1326fa2fdb4627 arm: use fixmap for text patching when text is RO
:::::: TO: Rabin Vincent <rabin(a)rab.in>
:::::: CC: Kees Cook <keescook(a)chromium.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
1 year, 2 months
Re: [linux-rt-devel:linux-5.4.y-rt 206/261] drivers/gpu/drm/i915/display/intel_sprite.c:84:30: warning: unused variable 'pipe_update_lock'
by Nick Desaulniers
Hi Mike,
Below is a report from a 0day bot build w/ Clang. Can you please take
a look? Apologies if this has already been reported.
On Fri, Jan 10, 2020 at 5:53 PM kbuild test robot <lkp(a)intel.com> wrote:
>
> CC: kbuild-all(a)lists.01.org
> TO: Mike Galbraith <umgwanakikbuti(a)gmail.com>
> CC: Sebastian Andrzej Siewior <bigeasy(a)linutronix.de>
> CC: Thomas Gleixner <tglx(a)linutronix.de>
>
> Hi Mike,
>
> FYI, the error/warning still remains.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-5.4.y-rt
> head: 1fbcaa9506f953b1f054c0d1ae79776fb77887b3
> commit: f5bcd1ba26d178d80c1424195832325a2daa923b [206/261] drm,i915: Use local_lock/unlock_irq() in intel_pipe_update_start/end()
> config: x86_64-defconfig (attached as .config)
> compiler: clang version 10.0.0 (git://gitmirror/llvm_project 016bf03ef6fcd9dce43b0c17971f76323f07a684)
> reproduce:
> git checkout f5bcd1ba26d178d80c1424195832325a2daa923b
> # save the attached .config to linux build tree
> make ARCH=x86_64
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp(a)intel.com>
>
> All warnings (new ones prefixed by >>):
>
> >> drivers/gpu/drm/i915/display/intel_sprite.c:84:30: warning: unused variable 'pipe_update_lock' [-Wunused-const-variable]
> static DEFINE_LOCAL_IRQ_LOCK(pipe_update_lock);
> ^
> 1 warning generated.
>
> vim +/pipe_update_lock +84 drivers/gpu/drm/i915/display/intel_sprite.c
>
> 83
> > 84 static DEFINE_LOCAL_IRQ_LOCK(pipe_update_lock);
> 85
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
--
Thanks,
~Nick Desaulniers
1 year, 2 months
[linux-rt-devel:linux-5.4.y-rt-rebase 113/253] mm/swap.c:348:9: sparse: sparse: context imbalance in 'rotate_reclaimable_page' - different lock contexts for basic block
by kbuild test robot
Hi Thomas,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-5.4.y-rt-rebase
head: 5897a52fd4fdb49ac156ecf09507d0b5a27eb05c
commit: 124a2170d0d899fe104f02e462bc7c70c9cb4492 [113/253] preempt: Provide preempt_*_(no)rt variants
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-153-g47b6dfef-dirty
git checkout 124a2170d0d899fe104f02e462bc7c70c9cb4492
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
include/linux/spinlock.h:393:9: sparse: sparse: context imbalance in 'pagevec_lru_move_fn' - unexpected unlock
>> mm/swap.c:348:9: sparse: sparse: context imbalance in 'rotate_reclaimable_page' - different lock contexts for basic block
>> mm/swap.c:440:13: sparse: sparse: context imbalance in '__lru_cache_activate_page' - different lock contexts for basic block
>> mm/swap.c:505:13: sparse: sparse: context imbalance in '__lru_cache_add' - different lock contexts for basic block
>> mm/swap.c:695:6: sparse: sparse: context imbalance in 'lru_add_drain_cpu' - different lock contexts for basic block
>> mm/swap.c:743:6: sparse: sparse: context imbalance in 'deactivate_file_page' - different lock contexts for basic block
>> mm/swap.c:775:9: sparse: sparse: context imbalance in 'deactivate_page' - different lock contexts for basic block
>> mm/swap.c:801:9: sparse: sparse: context imbalance in 'mark_page_lazyfree' - different lock contexts for basic block
vim +/rotate_reclaimable_page +348 mm/swap.c
902aaed0d983df Hisashi Hifumi 2007-10-16 340
^1da177e4c3f41 Linus Torvalds 2005-04-16 341 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 342 * Writeback is about to end against a page which has been marked for immediate
^1da177e4c3f41 Linus Torvalds 2005-04-16 343 * reclaim. If it still appears to be reclaimable, move it to the tail of the
902aaed0d983df Hisashi Hifumi 2007-10-16 344 * inactive list.
^1da177e4c3f41 Linus Torvalds 2005-04-16 345 */
ac6aadb24b7d4f Miklos Szeredi 2008-04-28 346 void rotate_reclaimable_page(struct page *page)
^1da177e4c3f41 Linus Torvalds 2005-04-16 347 {
c55e8d035b28b2 Johannes Weiner 2017-02-24 @348 if (!PageLocked(page) && !PageDirty(page) &&
894bc310419ac9 Lee Schermerhorn 2008-10-18 349 !PageUnevictable(page) && PageLRU(page)) {
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 350 struct swap_pagevec *swpvec;
902aaed0d983df Hisashi Hifumi 2007-10-16 351 struct pagevec *pvec;
^1da177e4c3f41 Linus Torvalds 2005-04-16 352 unsigned long flags;
^1da177e4c3f41 Linus Torvalds 2005-04-16 353
09cbfeaf1a5a67 Kirill A. Shutemov 2016-04-01 354 get_page(page);
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 355
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 356 swpvec = lock_swap_pvec_irqsave(&lru_rotate_pvecs, &flags);
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 357 pvec = &swpvec->pvec;
8f182270dfec43 Lukasz Odzioba 2016-06-24 358 if (!pagevec_add(pvec, page) || PageCompound(page))
902aaed0d983df Hisashi Hifumi 2007-10-16 359 pagevec_move_tail(pvec);
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 360 unlock_swap_pvec_irqrestore(swpvec, flags);
ac6aadb24b7d4f Miklos Szeredi 2008-04-28 361 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 362 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 363
fa9add641b1b1c Hugh Dickins 2012-05-29 364 static void update_page_reclaim_stat(struct lruvec *lruvec,
3e2f41f1f64744 KOSAKI Motohiro 2009-01-07 365 int file, int rotated)
3e2f41f1f64744 KOSAKI Motohiro 2009-01-07 366 {
fa9add641b1b1c Hugh Dickins 2012-05-29 367 struct zone_reclaim_stat *reclaim_stat = &lruvec->reclaim_stat;
3e2f41f1f64744 KOSAKI Motohiro 2009-01-07 368
3e2f41f1f64744 KOSAKI Motohiro 2009-01-07 369 reclaim_stat->recent_scanned[file]++;
3e2f41f1f64744 KOSAKI Motohiro 2009-01-07 370 if (rotated)
3e2f41f1f64744 KOSAKI Motohiro 2009-01-07 371 reclaim_stat->recent_rotated[file]++;
3e2f41f1f64744 KOSAKI Motohiro 2009-01-07 372 }
3e2f41f1f64744 KOSAKI Motohiro 2009-01-07 373
fa9add641b1b1c Hugh Dickins 2012-05-29 374 static void __activate_page(struct page *page, struct lruvec *lruvec,
fa9add641b1b1c Hugh Dickins 2012-05-29 375 void *arg)
^1da177e4c3f41 Linus Torvalds 2005-04-16 376 {
7a608572a282a7 Linus Torvalds 2011-01-17 377 if (PageLRU(page) && !PageActive(page) && !PageUnevictable(page)) {
4f98a2fee8acdb Rik van Riel 2008-10-18 378 int file = page_is_file_cache(page);
401a8e1c167008 Johannes Weiner 2009-09-21 379 int lru = page_lru_base_type(page);
4f98a2fee8acdb Rik van Riel 2008-10-18 380
fa9add641b1b1c Hugh Dickins 2012-05-29 381 del_page_from_lru_list(page, lruvec, lru);
^1da177e4c3f41 Linus Torvalds 2005-04-16 382 SetPageActive(page);
4f98a2fee8acdb Rik van Riel 2008-10-18 383 lru += LRU_ACTIVE;
fa9add641b1b1c Hugh Dickins 2012-05-29 384 add_page_to_lru_list(page, lruvec, lru);
24b7e5819ad5cb Mel Gorman 2014-08-06 385 trace_mm_lru_activate(page);
744ed144275776 Shaohua Li 2011-01-13 386
fa9add641b1b1c Hugh Dickins 2012-05-29 387 __count_vm_event(PGACTIVATE);
fa9add641b1b1c Hugh Dickins 2012-05-29 388 update_page_reclaim_stat(lruvec, file, 1);
744ed144275776 Shaohua Li 2011-01-13 389 }
eb709b0d062efd Shaohua Li 2011-05-24 390 }
eb709b0d062efd Shaohua Li 2011-05-24 391
eb709b0d062efd Shaohua Li 2011-05-24 392 #ifdef CONFIG_SMP
eb709b0d062efd Shaohua Li 2011-05-24 393 static void activate_page_drain(int cpu)
eb709b0d062efd Shaohua Li 2011-05-24 394 {
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 395 struct swap_pagevec *swpvec = lock_swap_pvec_cpu(&activate_page_pvecs, cpu);
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 396 struct pagevec *pvec = &swpvec->pvec;
eb709b0d062efd Shaohua Li 2011-05-24 397
eb709b0d062efd Shaohua Li 2011-05-24 398 if (pagevec_count(pvec))
eb709b0d062efd Shaohua Li 2011-05-24 399 pagevec_lru_move_fn(pvec, __activate_page, NULL);
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 400 unlock_swap_pvec_cpu(swpvec);
eb709b0d062efd Shaohua Li 2011-05-24 401 }
eb709b0d062efd Shaohua Li 2011-05-24 402
5fbc461636c32e Chris Metcalf 2013-09-12 403 static bool need_activate_page_drain(int cpu)
5fbc461636c32e Chris Metcalf 2013-09-12 404 {
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 405 return pagevec_count(per_cpu_ptr(&activate_page_pvecs.pvec, cpu)) != 0;
5fbc461636c32e Chris Metcalf 2013-09-12 406 }
5fbc461636c32e Chris Metcalf 2013-09-12 407
eb709b0d062efd Shaohua Li 2011-05-24 408 void activate_page(struct page *page)
eb709b0d062efd Shaohua Li 2011-05-24 409 {
800d8c63b2e989 Kirill A. Shutemov 2016-07-26 410 page = compound_head(page);
eb709b0d062efd Shaohua Li 2011-05-24 411 if (PageLRU(page) && !PageActive(page) && !PageUnevictable(page)) {
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 412 struct swap_pagevec *swpvec;
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 413 struct pagevec *pvec;
eb709b0d062efd Shaohua Li 2011-05-24 414
09cbfeaf1a5a67 Kirill A. Shutemov 2016-04-01 415 get_page(page);
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 416 swpvec = lock_swap_pvec(&activate_page_pvecs);
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 417 pvec = &swpvec->pvec;
8f182270dfec43 Lukasz Odzioba 2016-06-24 418 if (!pagevec_add(pvec, page) || PageCompound(page))
eb709b0d062efd Shaohua Li 2011-05-24 419 pagevec_lru_move_fn(pvec, __activate_page, NULL);
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 420 unlock_swap_pvec(swpvec, &activate_page_pvecs);
eb709b0d062efd Shaohua Li 2011-05-24 421 }
eb709b0d062efd Shaohua Li 2011-05-24 422 }
eb709b0d062efd Shaohua Li 2011-05-24 423
eb709b0d062efd Shaohua Li 2011-05-24 424 #else
eb709b0d062efd Shaohua Li 2011-05-24 425 static inline void activate_page_drain(int cpu)
eb709b0d062efd Shaohua Li 2011-05-24 426 {
eb709b0d062efd Shaohua Li 2011-05-24 427 }
eb709b0d062efd Shaohua Li 2011-05-24 428
eb709b0d062efd Shaohua Li 2011-05-24 429 void activate_page(struct page *page)
eb709b0d062efd Shaohua Li 2011-05-24 430 {
f4b7e272b5c042 Andrey Ryabinin 2019-03-05 431 pg_data_t *pgdat = page_pgdat(page);
eb709b0d062efd Shaohua Li 2011-05-24 432
800d8c63b2e989 Kirill A. Shutemov 2016-07-26 433 page = compound_head(page);
f4b7e272b5c042 Andrey Ryabinin 2019-03-05 434 spin_lock_irq(&pgdat->lru_lock);
f4b7e272b5c042 Andrey Ryabinin 2019-03-05 435 __activate_page(page, mem_cgroup_page_lruvec(page, pgdat), NULL);
f4b7e272b5c042 Andrey Ryabinin 2019-03-05 436 spin_unlock_irq(&pgdat->lru_lock);
^1da177e4c3f41 Linus Torvalds 2005-04-16 437 }
eb709b0d062efd Shaohua Li 2011-05-24 438 #endif
^1da177e4c3f41 Linus Torvalds 2005-04-16 439
059285a25f30c1 Mel Gorman 2013-07-03 @440 static void __lru_cache_activate_page(struct page *page)
059285a25f30c1 Mel Gorman 2013-07-03 441 {
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 442 struct swap_pagevec *swpvec = lock_swap_pvec(&lru_add_pvec);
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 443 struct pagevec *pvec = &swpvec->pvec;
059285a25f30c1 Mel Gorman 2013-07-03 444 int i;
059285a25f30c1 Mel Gorman 2013-07-03 445
059285a25f30c1 Mel Gorman 2013-07-03 446 /*
059285a25f30c1 Mel Gorman 2013-07-03 447 * Search backwards on the optimistic assumption that the page being
059285a25f30c1 Mel Gorman 2013-07-03 448 * activated has just been added to this pagevec. Note that only
059285a25f30c1 Mel Gorman 2013-07-03 449 * the local pagevec is examined as a !PageLRU page could be in the
059285a25f30c1 Mel Gorman 2013-07-03 450 * process of being released, reclaimed, migrated or on a remote
059285a25f30c1 Mel Gorman 2013-07-03 451 * pagevec that is currently being drained. Furthermore, marking
059285a25f30c1 Mel Gorman 2013-07-03 452 * a remote pagevec's page PageActive potentially hits a race where
059285a25f30c1 Mel Gorman 2013-07-03 453 * a page is marked PageActive just after it is added to the inactive
059285a25f30c1 Mel Gorman 2013-07-03 454 * list causing accounting errors and BUG_ON checks to trigger.
059285a25f30c1 Mel Gorman 2013-07-03 455 */
059285a25f30c1 Mel Gorman 2013-07-03 456 for (i = pagevec_count(pvec) - 1; i >= 0; i--) {
059285a25f30c1 Mel Gorman 2013-07-03 457 struct page *pagevec_page = pvec->pages[i];
059285a25f30c1 Mel Gorman 2013-07-03 458
059285a25f30c1 Mel Gorman 2013-07-03 459 if (pagevec_page == page) {
059285a25f30c1 Mel Gorman 2013-07-03 460 SetPageActive(page);
059285a25f30c1 Mel Gorman 2013-07-03 461 break;
059285a25f30c1 Mel Gorman 2013-07-03 462 }
059285a25f30c1 Mel Gorman 2013-07-03 463 }
059285a25f30c1 Mel Gorman 2013-07-03 464
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 465 unlock_swap_pvec(swpvec, &lru_add_pvec);
059285a25f30c1 Mel Gorman 2013-07-03 466 }
059285a25f30c1 Mel Gorman 2013-07-03 467
^1da177e4c3f41 Linus Torvalds 2005-04-16 468 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 469 * Mark a page as having seen activity.
^1da177e4c3f41 Linus Torvalds 2005-04-16 470 *
^1da177e4c3f41 Linus Torvalds 2005-04-16 471 * inactive,unreferenced -> inactive,referenced
^1da177e4c3f41 Linus Torvalds 2005-04-16 472 * inactive,referenced -> active,unreferenced
^1da177e4c3f41 Linus Torvalds 2005-04-16 473 * active,unreferenced -> active,referenced
eb39d618f9e80f Hugh Dickins 2014-08-06 474 *
eb39d618f9e80f Hugh Dickins 2014-08-06 475 * When a newly allocated page is not yet visible, so safe for non-atomic ops,
eb39d618f9e80f Hugh Dickins 2014-08-06 476 * __SetPageReferenced(page) may be substituted for mark_page_accessed(page).
^1da177e4c3f41 Linus Torvalds 2005-04-16 477 */
920c7a5d0c94b8 Harvey Harrison 2008-02-04 478 void mark_page_accessed(struct page *page)
^1da177e4c3f41 Linus Torvalds 2005-04-16 479 {
e90309c9f7722d Kirill A. Shutemov 2016-01-15 480 page = compound_head(page);
894bc310419ac9 Lee Schermerhorn 2008-10-18 481 if (!PageActive(page) && !PageUnevictable(page) &&
059285a25f30c1 Mel Gorman 2013-07-03 482 PageReferenced(page)) {
059285a25f30c1 Mel Gorman 2013-07-03 483
059285a25f30c1 Mel Gorman 2013-07-03 484 /*
059285a25f30c1 Mel Gorman 2013-07-03 485 * If the page is on the LRU, queue it for activation via
059285a25f30c1 Mel Gorman 2013-07-03 486 * activate_page_pvecs. Otherwise, assume the page is on a
059285a25f30c1 Mel Gorman 2013-07-03 487 * pagevec, mark it active and it'll be moved to the active
059285a25f30c1 Mel Gorman 2013-07-03 488 * LRU on the next drain.
059285a25f30c1 Mel Gorman 2013-07-03 489 */
059285a25f30c1 Mel Gorman 2013-07-03 490 if (PageLRU(page))
^1da177e4c3f41 Linus Torvalds 2005-04-16 491 activate_page(page);
059285a25f30c1 Mel Gorman 2013-07-03 492 else
059285a25f30c1 Mel Gorman 2013-07-03 493 __lru_cache_activate_page(page);
^1da177e4c3f41 Linus Torvalds 2005-04-16 494 ClearPageReferenced(page);
a528910e12ec7e Johannes Weiner 2014-04-03 495 if (page_is_file_cache(page))
a528910e12ec7e Johannes Weiner 2014-04-03 496 workingset_activation(page);
^1da177e4c3f41 Linus Torvalds 2005-04-16 497 } else if (!PageReferenced(page)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 498 SetPageReferenced(page);
^1da177e4c3f41 Linus Torvalds 2005-04-16 499 }
33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 500 if (page_is_idle(page))
33c3fc71c8cfa3 Vladimir Davydov 2015-09-09 501 clear_page_idle(page);
^1da177e4c3f41 Linus Torvalds 2005-04-16 502 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 503 EXPORT_SYMBOL(mark_page_accessed);
^1da177e4c3f41 Linus Torvalds 2005-04-16 504
2329d3751b082b Jianyu Zhan 2014-06-04 @505 static void __lru_cache_add(struct page *page)
^1da177e4c3f41 Linus Torvalds 2005-04-16 506 {
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 507 struct swap_pagevec *swpvec = lock_swap_pvec(&lru_add_pvec);
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 508 struct pagevec *pvec = &swpvec->pvec;
13f7f78981e49f Mel Gorman 2013-07-03 509
09cbfeaf1a5a67 Kirill A. Shutemov 2016-04-01 510 get_page(page);
8f182270dfec43 Lukasz Odzioba 2016-06-24 511 if (!pagevec_add(pvec, page) || PageCompound(page))
a0b8cab3b9b2ef Mel Gorman 2013-07-03 512 __pagevec_lru_add(pvec);
6ecb3de7d7b700 Thomas Gleixner 2019-04-18 513 unlock_swap_pvec(swpvec, &lru_add_pvec);
^1da177e4c3f41 Linus Torvalds 2005-04-16 514 }
2329d3751b082b Jianyu Zhan 2014-06-04 515
:::::: The code at line 348 was first introduced by commit
:::::: c55e8d035b28b2867e68b0e2d0eee2c0f1016b43 mm: vmscan: move dirty pages out of the way until they're flushed
:::::: TO: Johannes Weiner <hannes(a)cmpxchg.org>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
1 year, 2 months
Re: [PATCH 5/5] vdpasim: vDPA device simulator
by Dan Carpenter
Hi Jason,
url: https://github.com/0day-ci/linux/commits/Jason-Wang/vDPA-support/20200117...
base: https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/virtio/vdpa/vdpa_sim.c:288 vdpasim_alloc_coherent() warn: returning freed memory 'addr'
# https://github.com/0day-ci/linux/commit/55047769b3e974d68b2aab5ce0022459b...
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 55047769b3e974d68b2aab5ce0022459b172a23f
vim +/addr +288 drivers/virtio/vdpa/vdpa_sim.c
55047769b3e974 Jason Wang 2020-01-16 263 static void *vdpasim_alloc_coherent(struct device *dev, size_t size,
55047769b3e974 Jason Wang 2020-01-16 264 dma_addr_t *dma_addr, gfp_t flag,
55047769b3e974 Jason Wang 2020-01-16 265 unsigned long attrs)
55047769b3e974 Jason Wang 2020-01-16 266 {
55047769b3e974 Jason Wang 2020-01-16 267 struct vdpa_device *vdpa = dev_to_vdpa(dev);
55047769b3e974 Jason Wang 2020-01-16 268 struct vdpasim *vdpasim = vdpa_to_sim(vdpa);
55047769b3e974 Jason Wang 2020-01-16 269 struct vhost_iotlb *iommu = vdpasim->iommu;
55047769b3e974 Jason Wang 2020-01-16 270 void *addr = kmalloc(size, flag);
55047769b3e974 Jason Wang 2020-01-16 271 int ret;
55047769b3e974 Jason Wang 2020-01-16 272
55047769b3e974 Jason Wang 2020-01-16 273 if (!addr)
55047769b3e974 Jason Wang 2020-01-16 274 *dma_addr = DMA_MAPPING_ERROR;
55047769b3e974 Jason Wang 2020-01-16 275 else {
55047769b3e974 Jason Wang 2020-01-16 276 u64 pa = virt_to_phys(addr);
55047769b3e974 Jason Wang 2020-01-16 277
55047769b3e974 Jason Wang 2020-01-16 278 ret = vhost_iotlb_add_range(iommu, (u64)pa,
55047769b3e974 Jason Wang 2020-01-16 279 (u64)pa + size - 1,
55047769b3e974 Jason Wang 2020-01-16 280 pa, VHOST_MAP_RW);
55047769b3e974 Jason Wang 2020-01-16 281 if (ret) {
55047769b3e974 Jason Wang 2020-01-16 282 kfree(addr);
^^^^^^^^^^^
55047769b3e974 Jason Wang 2020-01-16 283 *dma_addr = DMA_MAPPING_ERROR;
55047769b3e974 Jason Wang 2020-01-16 284 } else
55047769b3e974 Jason Wang 2020-01-16 285 *dma_addr = (dma_addr_t)pa;
55047769b3e974 Jason Wang 2020-01-16 286 }
55047769b3e974 Jason Wang 2020-01-16 287
55047769b3e974 Jason Wang 2020-01-16 @288 return addr;
^^^^^^^^^^^^
55047769b3e974 Jason Wang 2020-01-16 289 }
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
1 year, 2 months
[lee:android-3.18-preview 136/224] drivers/media/radio/si470x/radio-si470x-i2c.c:462:25-30: ERROR: reference preceded by free on line 460 (fwd)
by Julia Lawall
The code on line 462 looks suspicious.
julia
---------- Forwarded message ----------
Date: Fri, 31 Jan 2020 16:56:26 +0800
From: kbuild test robot <lkp(a)intel.com>
To: kbuild(a)lists.01.org
Cc: Julia Lawall <julia.lawall(a)lip6.fr>
Subject: [lee:android-3.18-preview 136/224]
drivers/media/radio/si470x/radio-si470x-i2c.c:462:25-30: ERROR: reference
preceded by free on line 460
CC: kbuild-all(a)lists.01.org
BCC: philip.li(a)intel.com
TO: Lee Jones <lee.jones(a)linaro.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/lee/linux.git android-3.18-preview
head: 356017eeb20d27b17d236ff6b31c0b7d24dff865
commit: 752c36757aa40c2f669d7da128aae237f9fd3318 [136/224] media: si470x-i2c: add missed operations in remove
:::::: branch date: 18 hours ago
:::::: commit date: 6 days ago
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Julia Lawall <julia.lawall(a)lip6.fr>
>> drivers/media/radio/si470x/radio-si470x-i2c.c:462:25-30: ERROR: reference preceded by free on line 460
# https://git.kernel.org/pub/scm/linux/kernel/git/lee/linux.git/commit/?id=...
git remote add lee https://git.kernel.org/pub/scm/linux/kernel/git/lee/linux.git
git remote update lee
git checkout 752c36757aa40c2f669d7da128aae237f9fd3318
vim +462 drivers/media/radio/si470x/radio-si470x-i2c.c
cc35bbddfe10f7 Joonyoung Shim 2009-08-09 449
9dcb79c2eedb5b Tobias Lorenz 2009-08-10 450
9dcb79c2eedb5b Tobias Lorenz 2009-08-10 451 /*
9dcb79c2eedb5b Tobias Lorenz 2009-08-10 452 * si470x_i2c_remove - remove the device
9dcb79c2eedb5b Tobias Lorenz 2009-08-10 453 */
4c62e9764ab403 Greg Kroah-Hartman 2012-12-21 454 static int si470x_i2c_remove(struct i2c_client *client)
cc35bbddfe10f7 Joonyoung Shim 2009-08-09 455 {
cc35bbddfe10f7 Joonyoung Shim 2009-08-09 456 struct si470x_device *radio = i2c_get_clientdata(client);
cc35bbddfe10f7 Joonyoung Shim 2009-08-09 457
fe2137dd4e6e4b Joonyoung Shim 2009-12-10 458 free_irq(client->irq, radio);
4967d53dbbcebf Hans Verkuil 2012-05-04 459 video_unregister_device(&radio->videodev);
cc35bbddfe10f7 Joonyoung Shim 2009-08-09 @460 kfree(radio);
cc35bbddfe10f7 Joonyoung Shim 2009-08-09 461
752c36757aa40c Chuhong Yuan 2019-11-10 @462 v4l2_ctrl_handler_free(&radio->hdl);
752c36757aa40c Chuhong Yuan 2019-11-10 463 v4l2_device_unregister(&radio->v4l2_dev);
cc35bbddfe10f7 Joonyoung Shim 2009-08-09 464 return 0;
cc35bbddfe10f7 Joonyoung Shim 2009-08-09 465 }
cc35bbddfe10f7 Joonyoung Shim 2009-08-09 466
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
1 year, 2 months
[PATCH] dmaengine: idxd: fix boolconv.cocci warnings
by Julia Lawall
From: kbuild test robot <lkp(a)intel.com>
Remove unneeded conversion to bool
Generated by: scripts/coccinelle/misc/boolconv.cocci
CC: Dave Jiang <dave.jiang(a)intel.com>
Signed-off-by: kbuild test robot <lkp(a)intel.com>
Signed-off-by: Julia Lawall <julia.lawall(a)inria.fr>
---
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 39bed42de2e7d74686a2d5a45638d6a5d7e7d473
commit: 42d279f9137ab7d5503836baec2739284b278d8f dmaengine: idxd: add char driver to expose submission portal to userland
:::::: branch date: 11 hours ago
:::::: commit date: 6 days ago
Please take the patch only if it's a positive warning. Thanks!
sysfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/dma/idxd/sysfs.c
+++ b/drivers/dma/idxd/sysfs.c
@@ -66,7 +66,7 @@ static inline bool is_idxd_wq_dmaengine(
static inline bool is_idxd_wq_cdev(struct idxd_wq *wq)
{
- return wq->type == IDXD_WQT_USER ? true : false;
+ return wq->type == IDXD_WQT_USER;
}
static int idxd_config_bus_match(struct device *dev,
1 year, 2 months
[jkirsher-next-queue:dev-queue 23/68] drivers/net/ethernet/intel/ice/ice_dcb_lib.c:866:2-8: preceding lock on line 823 (fwd)
by Julia Lawall
It looks like an unlock may be needed on line 866.
julia
---------- Forwarded message ----------
Date: Fri, 31 Jan 2020 03:37:17 +0800
From: kbuild test robot <lkp(a)intel.com>
To: kbuild(a)lists.01.org
Cc: Julia Lawall <julia.lawall(a)lip6.fr>
Subject: [jkirsher-next-queue:dev-queue 23/68]
drivers/net/ethernet/intel/ice/ice_dcb_lib.c:866:2-8: preceding lock on line
823
CC: kbuild-all(a)lists.01.org
CC: Intel Wired LAN <intel-wired-lan(a)lists.osuosl.org>
TO: Dave Ertman <david.m.ertman(a)intel.com>
CC: Jeff Kirsher <jeffrey.t.kirsher(a)intel.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
head: c48a1f5522f05b3654059aee22adb40107d10670
commit: 5eed7bb45be7c777685502ffc993d102d10c3379 [23/68] ice: Fix DCB rebuild after reset
:::::: branch date: 24 hours ago
:::::: commit date: 24 hours ago
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Julia Lawall <julia.lawall(a)lip6.fr>
>> drivers/net/ethernet/intel/ice/ice_dcb_lib.c:866:2-8: preceding lock on line 823
# https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git/c...
git remote add jkirsher-next-queue https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git
git remote update jkirsher-next-queue
git checkout 5eed7bb45be7c777685502ffc993d102d10c3379
vim +866 drivers/net/ethernet/intel/ice/ice_dcb_lib.c
7516010ac2db5c Dave Ertman 2020-01-29 771
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 772 /**
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 773 * ice_dcb_process_lldp_set_mib_change - Process MIB change
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 774 * @pf: ptr to ice_pf
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 775 * @event: pointer to the admin queue receive event
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 776 */
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 777 void
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 778 ice_dcb_process_lldp_set_mib_change(struct ice_pf *pf,
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 779 struct ice_rq_event_info *event)
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 780 {
a17a5ff6812c26 Usha Ketineni 2019-04-16 781 struct ice_aqc_port_ets_elem buf = { 0 };
4015d11e4b9720 Brett Creeley 2019-11-08 782 struct device *dev = ice_pf_to_dev(pf);
a17a5ff6812c26 Usha Ketineni 2019-04-16 783 struct ice_aqc_lldp_get_mib *mib;
a17a5ff6812c26 Usha Ketineni 2019-04-16 784 struct ice_dcbx_cfg tmp_dcbx_cfg;
a17a5ff6812c26 Usha Ketineni 2019-04-16 785 bool need_reconfig = false;
a17a5ff6812c26 Usha Ketineni 2019-04-16 786 struct ice_port_info *pi;
9d614b6425f844 Anirudh Venkataramanan 2019-11-06 787 struct ice_vsi *pf_vsi;
a17a5ff6812c26 Usha Ketineni 2019-04-16 788 u8 type;
a17a5ff6812c26 Usha Ketineni 2019-04-16 789 int ret;
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 790
a17a5ff6812c26 Usha Ketineni 2019-04-16 791 /* Not DCB capable or capability disabled */
a17a5ff6812c26 Usha Ketineni 2019-04-16 792 if (!(test_bit(ICE_FLAG_DCB_CAPABLE, pf->flags)))
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 793 return;
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 794
a17a5ff6812c26 Usha Ketineni 2019-04-16 795 if (pf->dcbx_cap & DCB_CAP_DCBX_HOST) {
4015d11e4b9720 Brett Creeley 2019-11-08 796 dev_dbg(dev, "MIB Change Event in HOST mode\n");
a17a5ff6812c26 Usha Ketineni 2019-04-16 797 return;
a17a5ff6812c26 Usha Ketineni 2019-04-16 798 }
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 799
a17a5ff6812c26 Usha Ketineni 2019-04-16 800 pi = pf->hw.port_info;
a17a5ff6812c26 Usha Ketineni 2019-04-16 801 mib = (struct ice_aqc_lldp_get_mib *)&event->desc.params.raw;
a17a5ff6812c26 Usha Ketineni 2019-04-16 802 /* Ignore if event is not for Nearest Bridge */
a17a5ff6812c26 Usha Ketineni 2019-04-16 803 type = ((mib->type >> ICE_AQ_LLDP_BRID_TYPE_S) &
a17a5ff6812c26 Usha Ketineni 2019-04-16 804 ICE_AQ_LLDP_BRID_TYPE_M);
4015d11e4b9720 Brett Creeley 2019-11-08 805 dev_dbg(dev, "LLDP event MIB bridge type 0x%x\n", type);
a17a5ff6812c26 Usha Ketineni 2019-04-16 806 if (type != ICE_AQ_LLDP_BRID_TYPE_NEAREST_BRID)
a17a5ff6812c26 Usha Ketineni 2019-04-16 807 return;
a17a5ff6812c26 Usha Ketineni 2019-04-16 808
a17a5ff6812c26 Usha Ketineni 2019-04-16 809 /* Check MIB Type and return if event for Remote MIB update */
a17a5ff6812c26 Usha Ketineni 2019-04-16 810 type = mib->type & ICE_AQ_LLDP_MIB_TYPE_M;
4015d11e4b9720 Brett Creeley 2019-11-08 811 dev_dbg(dev, "LLDP event mib type %s\n", type ? "remote" : "local");
a17a5ff6812c26 Usha Ketineni 2019-04-16 812 if (type == ICE_AQ_LLDP_MIB_REMOTE) {
a17a5ff6812c26 Usha Ketineni 2019-04-16 813 /* Update the remote cached instance and return */
a17a5ff6812c26 Usha Ketineni 2019-04-16 814 ret = ice_aq_get_dcb_cfg(pi->hw, ICE_AQ_LLDP_MIB_REMOTE,
a17a5ff6812c26 Usha Ketineni 2019-04-16 815 ICE_AQ_LLDP_BRID_TYPE_NEAREST_BRID,
a17a5ff6812c26 Usha Ketineni 2019-04-16 816 &pi->remote_dcbx_cfg);
a17a5ff6812c26 Usha Ketineni 2019-04-16 817 if (ret) {
4015d11e4b9720 Brett Creeley 2019-11-08 818 dev_err(dev, "Failed to get remote DCB config\n");
a17a5ff6812c26 Usha Ketineni 2019-04-16 819 return;
a17a5ff6812c26 Usha Ketineni 2019-04-16 820 }
a17a5ff6812c26 Usha Ketineni 2019-04-16 821 }
a17a5ff6812c26 Usha Ketineni 2019-04-16 822
5eed7bb45be7c7 Dave Ertman 2020-01-29 @823 mutex_lock(&pf->tc_mutex);
5eed7bb45be7c7 Dave Ertman 2020-01-29 824
a17a5ff6812c26 Usha Ketineni 2019-04-16 825 /* store the old configuration */
a17a5ff6812c26 Usha Ketineni 2019-04-16 826 tmp_dcbx_cfg = pf->hw.port_info->local_dcbx_cfg;
a17a5ff6812c26 Usha Ketineni 2019-04-16 827
2f2da36ebf42ef Anirudh Venkataramanan 2019-04-16 828 /* Reset the old DCBX configuration data */
a17a5ff6812c26 Usha Ketineni 2019-04-16 829 memset(&pi->local_dcbx_cfg, 0, sizeof(pi->local_dcbx_cfg));
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 830
2f2da36ebf42ef Anirudh Venkataramanan 2019-04-16 831 /* Get updated DCBX data from firmware */
a17a5ff6812c26 Usha Ketineni 2019-04-16 832 ret = ice_get_dcb_cfg(pf->hw.port_info);
a17a5ff6812c26 Usha Ketineni 2019-04-16 833 if (ret) {
4015d11e4b9720 Brett Creeley 2019-11-08 834 dev_err(dev, "Failed to get DCB config\n");
5eed7bb45be7c7 Dave Ertman 2020-01-29 835 mutex_unlock(&pf->tc_mutex);
a17a5ff6812c26 Usha Ketineni 2019-04-16 836 return;
a17a5ff6812c26 Usha Ketineni 2019-04-16 837 }
a17a5ff6812c26 Usha Ketineni 2019-04-16 838
a17a5ff6812c26 Usha Ketineni 2019-04-16 839 /* No change detected in DCBX configs */
a17a5ff6812c26 Usha Ketineni 2019-04-16 840 if (!memcmp(&tmp_dcbx_cfg, &pi->local_dcbx_cfg, sizeof(tmp_dcbx_cfg))) {
4015d11e4b9720 Brett Creeley 2019-11-08 841 dev_dbg(dev, "No change detected in DCBX configuration.\n");
5eed7bb45be7c7 Dave Ertman 2020-01-29 842 mutex_unlock(&pf->tc_mutex);
a17a5ff6812c26 Usha Ketineni 2019-04-16 843 return;
a17a5ff6812c26 Usha Ketineni 2019-04-16 844 }
a17a5ff6812c26 Usha Ketineni 2019-04-16 845
a17a5ff6812c26 Usha Ketineni 2019-04-16 846 need_reconfig = ice_dcb_need_recfg(pf, &tmp_dcbx_cfg,
a17a5ff6812c26 Usha Ketineni 2019-04-16 847 &pi->local_dcbx_cfg);
b94b013eb62695 Dave Ertman 2019-11-06 848 ice_dcbnl_flush_apps(pf, &tmp_dcbx_cfg, &pi->local_dcbx_cfg);
5eed7bb45be7c7 Dave Ertman 2020-01-29 849 if (!need_reconfig) {
5eed7bb45be7c7 Dave Ertman 2020-01-29 850 mutex_unlock(&pf->tc_mutex);
a17a5ff6812c26 Usha Ketineni 2019-04-16 851 return;
5eed7bb45be7c7 Dave Ertman 2020-01-29 852 }
a17a5ff6812c26 Usha Ketineni 2019-04-16 853
a17a5ff6812c26 Usha Ketineni 2019-04-16 854 /* Enable DCB tagging only when more than one TC */
a17a5ff6812c26 Usha Ketineni 2019-04-16 855 if (ice_dcb_get_num_tc(&pi->local_dcbx_cfg) > 1) {
4015d11e4b9720 Brett Creeley 2019-11-08 856 dev_dbg(dev, "DCB tagging enabled (num TC > 1)\n");
a17a5ff6812c26 Usha Ketineni 2019-04-16 857 set_bit(ICE_FLAG_DCB_ENA, pf->flags);
a17a5ff6812c26 Usha Ketineni 2019-04-16 858 } else {
4015d11e4b9720 Brett Creeley 2019-11-08 859 dev_dbg(dev, "DCB tagging disabled (num TC = 1)\n");
a17a5ff6812c26 Usha Ketineni 2019-04-16 860 clear_bit(ICE_FLAG_DCB_ENA, pf->flags);
00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28 861 }
a17a5ff6812c26 Usha Ketineni 2019-04-16 862
9d614b6425f844 Anirudh Venkataramanan 2019-11-06 863 pf_vsi = ice_get_main_vsi(pf);
9d614b6425f844 Anirudh Venkataramanan 2019-11-06 864 if (!pf_vsi) {
4015d11e4b9720 Brett Creeley 2019-11-08 865 dev_dbg(dev, "PF VSI doesn't exist\n");
9d614b6425f844 Anirudh Venkataramanan 2019-11-06 @866 return;
:::::: The code at line 866 was first introduced by commit
:::::: 9d614b6425f844a722630d66b9cb7eb531fd706e ice: Use ice_ena_vsi and ice_dis_vsi in DCB configuration flow
:::::: TO: Anirudh Venkataramanan <anirudh.venkataramanan(a)intel.com>
:::::: CC: Jeff Kirsher <jeffrey.t.kirsher(a)intel.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
1 year, 2 months
[PATCH] Soundwire: intel_init: fix ifnullfree.cocci warnings
by Julia Lawall
From: kbuild test robot <lkp(a)intel.com>
NULL check before kfree is not needed.
Generated by: scripts/coccinelle/free/ifnullfree.cocci
Fixes: 89a76a6409ca ("Soundwire: intel_init: add sdw adr info to sdw_intel_ctx")
CC: Bard Liao <yung-chuan.liao(a)linux.intel.com>
Signed-off-by: kbuild test robot <lkp(a)intel.com>
Signed-off-by: Julia Lawall <julia.lawall(a)inria.fr>
---
tree: https://github.com/thesofproject/linux sdw/master_framework
head: 9fd32a3b5f5cef8953999dc060d4193d96fce64a
commit: 89a76a6409cac50edbdce778418d6688ad06b63a [61/89] Soundwire: intel_init: add sdw adr info to sdw_intel_ctx
:::::: branch date: 31 hours ago
:::::: commit date: 2 weeks ago
intel_init.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--- a/drivers/soundwire/intel_init.c
+++ b/drivers/soundwire/intel_init.c
@@ -80,8 +80,7 @@ static int sdw_intel_cleanup(struct sdw_
kfree(ctx->links);
ctx->links = NULL;
- if (ctx->ids)
- kfree(ctx->ids);
+ kfree(ctx->ids);
ctx->ids = NULL;
return 0;
1 year, 2 months