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
2 years, 3 months
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
2 years, 4 months
Re: [PATCH 4/4] openrisc: use mmgrab
by kbuild test robot
Hi Julia,
I love your patch! Yet something to improve:
[auto build test ERROR on vfio/next]
[also build test ERROR on char-misc/char-misc-testing v5.5-rc3 next-20191220]
[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/Julia-Lawall/use-mmgrab/20191230...
base: https://github.com/awilliam/linux-vfio.git next
config: openrisc-simple_smp_defconfig (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.2.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=9.2.0 make.cross ARCH=openrisc
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/openrisc/kernel/smp.c: In function 'secondary_start_kernel':
>> arch/openrisc/kernel/smp.c:116:2: error: implicit declaration of function 'mmgrab'; did you mean 'igrab'? [-Werror=implicit-function-declaration]
116 | mmgrab(mm);
| ^~~~~~
| igrab
cc1: some warnings being treated as errors
vim +116 arch/openrisc/kernel/smp.c
107
108 asmlinkage __init void secondary_start_kernel(void)
109 {
110 struct mm_struct *mm = &init_mm;
111 unsigned int cpu = smp_processor_id();
112 /*
113 * All kernel threads share the same mm context; grab a
114 * reference and switch to it.
115 */
> 116 mmgrab(mm);
117 current->active_mm = mm;
118 cpumask_set_cpu(cpu, mm_cpumask(mm));
119
120 pr_info("CPU%u: Booted secondary processor\n", cpu);
121
122 setup_cpuinfo();
123 openrisc_clockevent_init();
124
125 notify_cpu_starting(cpu);
126
127 /*
128 * OK, now it's safe to let the boot CPU continue
129 */
130 complete(&cpu_running);
131
132 synchronise_count_slave(cpu);
133 set_cpu_online(cpu, true);
134
135 local_irq_enable();
136
137 preempt_disable();
138 /*
139 * OK, it's off to the idle thread for us
140 */
141 cpu_startup_entry(CPUHP_AP_ONLINE_IDLE);
142 }
143
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
drivers/acpi/processor_thermal.c:66:1: warning: the frame size of 2160 bytes is larger than 2048 bytes
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 96b95eff4a591dbac582c2590d067e356a18aacb
commit: 3000ce3c52f8b8db093e4dc649cd172390f71137 cpufreq: Use per-policy frequency QoS
date: 4 weeks ago
config: ia64-randconfig-a001-20191115 (attached as .config)
compiler: ia64-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
git checkout 3000ce3c52f8b8db093e4dc649cd172390f71137
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=ia64
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/acpi/processor_thermal.c: In function 'cpu_has_cpufreq.part.0':
>> drivers/acpi/processor_thermal.c:66:1: warning: the frame size of 2160 bytes is larger than 2048 bytes [-Wframe-larger-than=]
}
^
--
drivers/cpufreq/cpufreq.c: In function 'refresh_frequency_limits.part.33':
>> drivers/cpufreq/cpufreq.c:1116:1: warning: the frame size of 2160 bytes is larger than 2048 bytes [-Wframe-larger-than=]
}
^
drivers/cpufreq/cpufreq.c: In function 'store_scaling_governor':
drivers/cpufreq/cpufreq.c:789:1: warning: the frame size of 2176 bytes is larger than 2048 bytes [-Wframe-larger-than=]
}
^
drivers/cpufreq/cpufreq.c: In function 'cpufreq_init_policy':
drivers/cpufreq/cpufreq.c:1081:1: warning: the frame size of 2160 bytes is larger than 2048 bytes [-Wframe-larger-than=]
}
^
vim +66 drivers/acpi/processor_thermal.c
2815ab92ba3ab2 Andi Kleen 2012-02-06 59
^1da177e4c3f41 Linus Torvalds 2005-04-16 60 static int cpu_has_cpufreq(unsigned int cpu)
^1da177e4c3f41 Linus Torvalds 2005-04-16 61 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 62 struct cpufreq_policy policy;
d15ce412737acc Viresh Kumar 2019-08-28 63 if (!acpi_processor_cpufreq_init || cpufreq_get_policy(&policy, cpu))
^1da177e4c3f41 Linus Torvalds 2005-04-16 64 return 0;
75b245b3259133 Thomas Renninger 2005-12-21 65 return 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 @66 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 67
:::::: The code at line 66 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
Re: [PATCH v2 9/9] drm/bridge: ti-sn65dsi86: Avoid invalid rates
by kbuild test robot
Hi Douglas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.5-rc2 next-20191220]
[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/Douglas-Anderson/drm-bridge-ti-s...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 7e0165b2f1a912a06e381e91f0f4e495f4ac3736
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-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
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=sh
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings
All warnings (new ones prefixed by >>):
drivers/gpu/drm/bridge/ti-sn65dsi86.c: In function 'ti_sn_bridge_enable':
>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:543:18: warning: 'rate_valid' may be used uninitialized in this function [-Wmaybe-uninitialized]
if (rate_valid[i])
~~~~~~~~~~^~~
vim +/rate_valid +543 drivers/gpu/drm/bridge/ti-sn65dsi86.c
477
478 static void ti_sn_bridge_read_valid_rates(struct ti_sn_bridge *pdata,
479 bool rate_valid[])
480 {
481 u8 dpcd_val;
482 int rate_times_200khz;
483 int ret;
484 int i;
485
486 ret = drm_dp_dpcd_readb(&pdata->aux, DP_EDP_DPCD_REV, &dpcd_val);
487 if (ret != 1) {
488 DRM_DEV_ERROR(pdata->dev,
489 "Can't read eDP rev (%d), assuming 1.1\n", ret);
490 dpcd_val = DP_EDP_11;
491 }
492
493 if (dpcd_val >= DP_EDP_14) {
494 /* eDP 1.4 devices must provide a custom table */
495 __le16 sink_rates[DP_MAX_SUPPORTED_RATES];
496
497 ret = drm_dp_dpcd_read(&pdata->aux, DP_SUPPORTED_LINK_RATES,
498 sink_rates, sizeof(sink_rates));
499
500 if (ret != sizeof(sink_rates)) {
501 DRM_DEV_ERROR(pdata->dev,
502 "Can't read supported rate table (%d)\n", ret);
503
504 /* By zeroing we'll fall back to DP_MAX_LINK_RATE. */
505 memset(sink_rates, 0, sizeof(sink_rates));
506 }
507
508 for (i = 0; i < ARRAY_SIZE(sink_rates); i++) {
509 rate_times_200khz = le16_to_cpu(sink_rates[i]);
510
511 if (!rate_times_200khz)
512 break;
513
514 switch (rate_times_200khz) {
515 case 27000:
516 rate_valid[7] = 1;
517 break;
518 case 21600:
519 rate_valid[6] = 1;
520 break;
521 case 16200:
522 rate_valid[5] = 1;
523 break;
524 case 13500:
525 rate_valid[4] = 1;
526 break;
527 case 12150:
528 rate_valid[3] = 1;
529 break;
530 case 10800:
531 rate_valid[2] = 1;
532 break;
533 case 8100:
534 rate_valid[1] = 1;
535 break;
536 default:
537 /* unsupported */
538 break;
539 }
540 }
541
542 for (i = 0; i < ARRAY_SIZE(ti_sn_bridge_dp_rate_lut); i++) {
> 543 if (rate_valid[i])
544 return;
545 }
546 DRM_DEV_ERROR(pdata->dev,
547 "No matching eDP rates in table; falling back\n");
548 }
549
550 /* On older versions best we can do is use DP_MAX_LINK_RATE */
551 ret = drm_dp_dpcd_readb(&pdata->aux, DP_MAX_LINK_RATE, &dpcd_val);
552 if (ret != 1) {
553 DRM_DEV_ERROR(pdata->dev,
554 "Can't read max rate (%d); assuming 5.4 GHz\n",
555 ret);
556 dpcd_val = DP_LINK_BW_5_4;
557 }
558
559 switch (dpcd_val) {
560 default:
561 DRM_DEV_ERROR(pdata->dev,
562 "Unexpected max rate (%#x); assuming 5.4 GHz\n",
563 (int)dpcd_val);
564 /* fall through */
565 case DP_LINK_BW_5_4:
566 rate_valid[7] = 1;
567 /* fall through */
568 case DP_LINK_BW_2_7:
569 rate_valid[4] = 1;
570 /* fall through */
571 case DP_LINK_BW_1_62:
572 rate_valid[1] = 1;
573 break;
574 }
575 }
576
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
Re: [PATCH v6 linux-kselftest-test 3/6] kunit: allow kunit tests to be loaded as a module
by kbuild test robot
Hi Alan,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on linux/master v5.5-rc2 next-20191218]
[cannot apply to ext4/dev]
[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/Alan-Maguire/kunit-support-build...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git b0d4beaa5a4b7d31070c41c2e50740304a3f1138
config: x86_64-randconfig-e002-20191218 (attached as .config)
compiler: gcc-7 (Debian 7.5.0-1) 7.5.0
reproduce:
# 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 errors (new ones prefixed by >>):
drivers/base/power/qos-test.c:117:1: warning: data definition has no type or storage class
kunit_test_suite(pm_qos_test_module);
^~~~~~~~~~~~~~~~
>> drivers/base/power/qos-test.c:117:1: error: type defaults to 'int' in declaration of 'kunit_test_suite' [-Werror=implicit-int]
drivers/base/power/qos-test.c:117:1: warning: parameter names (without types) in function declaration
drivers/base/power/qos-test.c:113:27: warning: 'pm_qos_test_module' defined but not used [-Wunused-variable]
static struct kunit_suite pm_qos_test_module = {
^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +117 drivers/base/power/qos-test.c
14e087576081f4 Leonard Crestez 2019-11-26 112
14e087576081f4 Leonard Crestez 2019-11-26 113 static struct kunit_suite pm_qos_test_module = {
14e087576081f4 Leonard Crestez 2019-11-26 114 .name = "qos-kunit-test",
14e087576081f4 Leonard Crestez 2019-11-26 115 .test_cases = pm_qos_test_cases,
14e087576081f4 Leonard Crestez 2019-11-26 116 };
14e087576081f4 Leonard Crestez 2019-11-26 @117 kunit_test_suite(pm_qos_test_module);
:::::: The code at line 117 was first introduced by commit
:::::: 14e087576081f4f3a6fc6a229166b05b65cf98e5 PM / QoS: Initial kunit test
:::::: TO: Leonard Crestez <leonard.crestez(a)nxp.com>
:::::: CC: Rafael J. Wysocki <rafael.j.wysocki(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
2 years, 5 months
Re: [PATCH v2 1/3] dmaengine: ptdma: Initial driver for the AMD PassThru DMA engine
by kbuild test robot
Hi Sanjay,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.5-rc3 next-20191220]
[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/Sanjay-R-Mehta/Add-AMD-PassThru-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 46cf053efec6a3a5f343fead837777efe8252a46
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-129-g341daf20-dirty
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 >>)
>> drivers/dma/ptdma/ptdma-dev.c:151:25: sparse: sparse: cast from restricted __le32
>> drivers/dma/ptdma/ptdma-dev.c:151:23: sparse: sparse: incorrect type in assignment (different base types)
>> drivers/dma/ptdma/ptdma-dev.c:151:23: sparse: expected unsigned int [usertype]
>> drivers/dma/ptdma/ptdma-dev.c:151:23: sparse: got restricted __le32 [usertype]
drivers/dma/ptdma/ptdma-dev.c:180:21: sparse: sparse: incorrect type in assignment (different base types)
>> drivers/dma/ptdma/ptdma-dev.c:180:21: sparse: expected restricted __le32 [addressable] [assigned] [usertype] length
>> drivers/dma/ptdma/ptdma-dev.c:180:21: sparse: got unsigned long long [usertype] src_len
drivers/dma/ptdma/ptdma-dev.c:182:21: sparse: sparse: incorrect type in assignment (different base types)
>> drivers/dma/ptdma/ptdma-dev.c:182:21: sparse: expected restricted __le32 [addressable] [assigned] [usertype] src_lo
>> drivers/dma/ptdma/ptdma-dev.c:182:21: sparse: got unsigned int [usertype]
drivers/dma/ptdma/ptdma-dev.c:185:21: sparse: sparse: incorrect type in assignment (different base types)
>> drivers/dma/ptdma/ptdma-dev.c:185:21: sparse: expected restricted __le32 [addressable] [assigned] [usertype] dst_lo
drivers/dma/ptdma/ptdma-dev.c:185:21: sparse: got unsigned int [usertype]
vim +151 drivers/dma/ptdma/ptdma-dev.c
132
133 static int pt_core_execute_cmd(struct ptdma_desc *desc,
134 struct pt_cmd_queue *cmd_q)
135 {
136 u32 *mp;
137 __le32 *dp;
138 u32 tail;
139 int i;
140 int ret = 0;
141
142 if (desc->dw0.soc) {
143 desc->dw0.ioc = 1;
144 desc->dw0.soc = 0;
145 }
146 mutex_lock(&cmd_q->q_mutex);
147
148 mp = (u32 *)&cmd_q->qbase[cmd_q->qidx];
149 dp = (__le32 *)desc;
150 for (i = 0; i < 8; i++)
> 151 mp[i] = cpu_to_le32(dp[i]); /* handle endianness */
152
153 cmd_q->qidx = (cmd_q->qidx + 1) % cmd_queue_length;
154
155 /* The data used by this command must be flushed to memory */
156 wmb();
157
158 /* Write the new tail address back to the queue register */
159 tail = lower_32_bits(cmd_q->qdma_tail + cmd_q->qidx * Q_DESC_SIZE);
160 iowrite32(tail, cmd_q->reg_tail_lo);
161
162 /* Turn the queue back on using our cached control register */
163 iowrite32(cmd_q->qcontrol | CMD_Q_RUN, cmd_q->reg_control);
164 mutex_unlock(&cmd_q->q_mutex);
165
166 return ret;
167 }
168
169 int pt_core_perform_passthru(struct pt_cmd_queue *cmd_q,
170 struct pt_passthru_engine *pt_engine)
171 {
172 struct ptdma_desc desc;
173
174 cmd_q->cmd_error = 0;
175
176 memset(&desc, 0, Q_DESC_SIZE);
177
178 desc.dw0.val = CMD_DESC_DW0_VAL;
179
> 180 desc.length = pt_engine->src_len;
181
> 182 desc.src_lo = lower_32_bits(pt_engine->src_dma);
183 desc.dw3.src_hi = upper_32_bits(pt_engine->src_dma);
184
> 185 desc.dst_lo = lower_32_bits(pt_engine->dst_dma);
186 desc.dw5.dst_hi = upper_32_bits(pt_engine->dst_dma);
187
188 return pt_core_execute_cmd(&desc, cmd_q);
189 }
190
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months
Re: [PATCH 3/3] iommu: Enable compile testing for some of drivers
by kbuild test robot
Hi Krzysztof,
I love your patch! Perhaps something to improve:
[auto build test WARNING on iommu/next]
[also build test WARNING on v5.5-rc4]
[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/Krzysztof-Kozlowski/iommu-omap-F...
base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-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
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/iommu/omap-iommu.c:33:0:
drivers/iommu/omap-iommu.c: In function 'omap_iommu_iova_to_phys':
>> drivers/iommu/omap-iopgtable.h:44:21: warning: large integer implicitly truncated to unsigned type [-Woverflow]
#define IOPTE_MASK (~(IOPTE_SIZE - 1))
^
>> drivers/iommu/omap-iommu.c:1641:41: note: in expansion of macro 'IOPTE_MASK'
ret = omap_iommu_translate(*pte, da, IOPTE_MASK);
^~~~~~~~~~
drivers/iommu/omap-iopgtable.h:51:23: warning: large integer implicitly truncated to unsigned type [-Woverflow]
#define IOLARGE_MASK (~(IOLARGE_SIZE - 1))
^
>> drivers/iommu/omap-iommu.c:1643:41: note: in expansion of macro 'IOLARGE_MASK'
ret = omap_iommu_translate(*pte, da, IOLARGE_MASK);
^~~~~~~~~~~~
drivers/iommu/omap-iopgtable.h:27:25: warning: large integer implicitly truncated to unsigned type [-Woverflow]
#define IOSECTION_MASK (~(IOSECTION_SIZE - 1))
^
>> drivers/iommu/omap-iommu.c:1649:41: note: in expansion of macro 'IOSECTION_MASK'
ret = omap_iommu_translate(*pgd, da, IOSECTION_MASK);
^~~~~~~~~~~~~~
drivers/iommu/omap-iopgtable.h:34:23: warning: large integer implicitly truncated to unsigned type [-Woverflow]
#define IOSUPER_MASK (~(IOSUPER_SIZE - 1))
^
>> drivers/iommu/omap-iommu.c:1651:41: note: in expansion of macro 'IOSUPER_MASK'
ret = omap_iommu_translate(*pgd, da, IOSUPER_MASK);
^~~~~~~~~~~~
vim +44 drivers/iommu/omap-iopgtable.h
97ec7d585b33bb arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2010-02-15 38
97ec7d585b33bb arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2010-02-15 39 /*
97ec7d585b33bb arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2010-02-15 40 * "small page" address mask and size definitions.
97ec7d585b33bb arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2010-02-15 41 */
a9dcad5e375800 arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2009-01-26 42 #define IOPTE_SHIFT 12
5ff98fa68c88d7 drivers/iommu/omap-iopgtable.h Suman Anna 2015-07-20 43 #define IOPTE_SIZE BIT(IOPTE_SHIFT)
a9dcad5e375800 arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2009-01-26 @44 #define IOPTE_MASK (~(IOPTE_SIZE - 1))
a9dcad5e375800 arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2009-01-26 45
:::::: The code at line 44 was first introduced by commit
:::::: a9dcad5e375800fcb07f7617dba23b3aade8f09d omap iommu: tlb and pagetable primitives
:::::: TO: Hiroshi DOYU <Hiroshi.DOYU(a)nokia.com>
:::::: CC: Hiroshi DOYU <Hiroshi.DOYU(a)nokia.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
2 years, 5 months