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
10 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
11 months, 2 weeks
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
1 year
[lkp] [+573 bytes kernel size regression] [i386-tinyconfig] [00f2dfd8c2] open: introduce openat2(2) syscall
by kbuild test robot
FYI, we noticed a +573 bytes kernel size regression due to commit:
commit: 00f2dfd8c2a40f6dd7a74eae598a174484d848c4 (open: introduce openat2(2) syscall)
Details as below (size data is obtained by `nm --size-sort vmlinux`):
97a4cce0: namei: LOOKUP_{IN_ROOT,BENEATH}: permit limited ".." resolution
00f2dfd8: open: introduce openat2(2) syscall
+-----------------------+----------+----------+-------+
| symbol | 97a4cce0 | 00f2dfd8 | delta |
+-----------------------+----------+----------+-------+
| bzImage | 439168 | 439424 | 256 |
| nm.t.build_open_flags | 214 | 349 | 135 |
| nm.T.__se_sys_openat2 | 0 | 122 | 122 |
| nm.T.sys_openat2 | 0 | 122 | 122 |
| nm.t.do_sys_openat2 | 0 | 116 | 116 |
| nm.t.build_open_how | 0 | 78 | 78 |
| nm.T.file_open_name | 41 | 73 | 32 |
| nm.T.file_open_root | 52 | 84 | 32 |
| nm.D.sys_call_table | 1744 | 1752 | 8 |
| nm.T.__se_sys_openat | 26 | 23 | -3 |
| nm.T.sys_openat | 26 | 23 | -3 |
| nm.T.__se_sys_open | 27 | 24 | -3 |
| nm.T.sys_open | 27 | 24 | -3 |
| nm.T.do_sys_open | 121 | 61 | -60 |
+-----------------------+----------+----------+-------+
Thanks,
Kbuild test robot
1 year, 1 month
Re: [PATCH v4 01/19] x86/msr-index: Clean up bit defines for IA32_FEATURE_CONTROL MSR
by kbuild test robot
Hi Sean,
I love your patch! Yet something to improve:
[auto build test ERROR on tip/auto-latest]
[also build test ERROR on next-20191129]
[cannot apply to tip/x86/core kvm/linux-next v5.4]
[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/Sean-Christopherson/x86-cpu-Clea...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git e445033e58108a9891abfbc0dea90b066a75e4a9
config: x86_64-randconfig-s0-20191128 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.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 >>):
In file included from arch/x86/include/asm/processor.h:22:0,
from arch/x86/include/asm/cpufeature.h:5,
from arch/x86/include/asm/thread_info.h:53,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:78,
from include/linux/percpu.h:6,
from include/linux/cpuidle.h:14,
from drivers/idle/intel_idle.c:45:
drivers/idle/intel_idle.c: In function 'sklh_idle_state_table_update':
>> drivers/idle/intel_idle.c:1287:10: error: 'MSR_IA32_FEATURE_CONTROL' undeclared (first use in this function); did you mean 'MSR_MISC_FEATURE_CONTROL'?
rdmsrl(MSR_IA32_FEATURE_CONTROL, msr);
^
arch/x86/include/asm/msr.h:279:28: note: in definition of macro 'rdmsrl'
((val) = native_read_msr((msr)))
^~~
drivers/idle/intel_idle.c:1287:10: note: each undeclared identifier is reported only once for each function it appears in
rdmsrl(MSR_IA32_FEATURE_CONTROL, msr);
^
arch/x86/include/asm/msr.h:279:28: note: in definition of macro 'rdmsrl'
((val) = native_read_msr((msr)))
^~~
vim +1287 drivers/idle/intel_idle.c
5dcef694860100 Len Brown 2016-04-06 1189
5dcef694860100 Len Brown 2016-04-06 1190 /*
5dcef694860100 Len Brown 2016-04-06 1191 * Translate IRTL (Interrupt Response Time Limit) MSR to usec
5dcef694860100 Len Brown 2016-04-06 1192 */
5dcef694860100 Len Brown 2016-04-06 1193
5dcef694860100 Len Brown 2016-04-06 1194 static unsigned int irtl_ns_units[] = {
5dcef694860100 Len Brown 2016-04-06 1195 1, 32, 1024, 32768, 1048576, 33554432, 0, 0 };
5dcef694860100 Len Brown 2016-04-06 1196
5dcef694860100 Len Brown 2016-04-06 1197 static unsigned long long irtl_2_usec(unsigned long long irtl)
5dcef694860100 Len Brown 2016-04-06 1198 {
5dcef694860100 Len Brown 2016-04-06 1199 unsigned long long ns;
5dcef694860100 Len Brown 2016-04-06 1200
3451ab3ebf92b1 Jan Beulich 2016-06-27 1201 if (!irtl)
3451ab3ebf92b1 Jan Beulich 2016-06-27 1202 return 0;
3451ab3ebf92b1 Jan Beulich 2016-06-27 1203
bef450962597ff Jan Beulich 2016-06-27 1204 ns = irtl_ns_units[(irtl >> 10) & 0x7];
5dcef694860100 Len Brown 2016-04-06 1205
5dcef694860100 Len Brown 2016-04-06 1206 return div64_u64((irtl & 0x3FF) * ns, 1000);
5dcef694860100 Len Brown 2016-04-06 1207 }
5dcef694860100 Len Brown 2016-04-06 1208 /*
5dcef694860100 Len Brown 2016-04-06 1209 * bxt_idle_state_table_update(void)
5dcef694860100 Len Brown 2016-04-06 1210 *
5dcef694860100 Len Brown 2016-04-06 1211 * On BXT, we trust the IRTL to show the definitive maximum latency
5dcef694860100 Len Brown 2016-04-06 1212 * We use the same value for target_residency.
5dcef694860100 Len Brown 2016-04-06 1213 */
5dcef694860100 Len Brown 2016-04-06 1214 static void bxt_idle_state_table_update(void)
5dcef694860100 Len Brown 2016-04-06 1215 {
5dcef694860100 Len Brown 2016-04-06 1216 unsigned long long msr;
3451ab3ebf92b1 Jan Beulich 2016-06-27 1217 unsigned int usec;
5dcef694860100 Len Brown 2016-04-06 1218
5dcef694860100 Len Brown 2016-04-06 1219 rdmsrl(MSR_PKGC6_IRTL, msr);
3451ab3ebf92b1 Jan Beulich 2016-06-27 1220 usec = irtl_2_usec(msr);
3451ab3ebf92b1 Jan Beulich 2016-06-27 1221 if (usec) {
5dcef694860100 Len Brown 2016-04-06 1222 bxt_cstates[2].exit_latency = usec;
5dcef694860100 Len Brown 2016-04-06 1223 bxt_cstates[2].target_residency = usec;
5dcef694860100 Len Brown 2016-04-06 1224 }
5dcef694860100 Len Brown 2016-04-06 1225
5dcef694860100 Len Brown 2016-04-06 1226 rdmsrl(MSR_PKGC7_IRTL, msr);
3451ab3ebf92b1 Jan Beulich 2016-06-27 1227 usec = irtl_2_usec(msr);
3451ab3ebf92b1 Jan Beulich 2016-06-27 1228 if (usec) {
5dcef694860100 Len Brown 2016-04-06 1229 bxt_cstates[3].exit_latency = usec;
5dcef694860100 Len Brown 2016-04-06 1230 bxt_cstates[3].target_residency = usec;
5dcef694860100 Len Brown 2016-04-06 1231 }
5dcef694860100 Len Brown 2016-04-06 1232
5dcef694860100 Len Brown 2016-04-06 1233 rdmsrl(MSR_PKGC8_IRTL, msr);
3451ab3ebf92b1 Jan Beulich 2016-06-27 1234 usec = irtl_2_usec(msr);
3451ab3ebf92b1 Jan Beulich 2016-06-27 1235 if (usec) {
5dcef694860100 Len Brown 2016-04-06 1236 bxt_cstates[4].exit_latency = usec;
5dcef694860100 Len Brown 2016-04-06 1237 bxt_cstates[4].target_residency = usec;
5dcef694860100 Len Brown 2016-04-06 1238 }
5dcef694860100 Len Brown 2016-04-06 1239
5dcef694860100 Len Brown 2016-04-06 1240 rdmsrl(MSR_PKGC9_IRTL, msr);
3451ab3ebf92b1 Jan Beulich 2016-06-27 1241 usec = irtl_2_usec(msr);
3451ab3ebf92b1 Jan Beulich 2016-06-27 1242 if (usec) {
5dcef694860100 Len Brown 2016-04-06 1243 bxt_cstates[5].exit_latency = usec;
5dcef694860100 Len Brown 2016-04-06 1244 bxt_cstates[5].target_residency = usec;
5dcef694860100 Len Brown 2016-04-06 1245 }
5dcef694860100 Len Brown 2016-04-06 1246
5dcef694860100 Len Brown 2016-04-06 1247 rdmsrl(MSR_PKGC10_IRTL, msr);
3451ab3ebf92b1 Jan Beulich 2016-06-27 1248 usec = irtl_2_usec(msr);
3451ab3ebf92b1 Jan Beulich 2016-06-27 1249 if (usec) {
5dcef694860100 Len Brown 2016-04-06 1250 bxt_cstates[6].exit_latency = usec;
5dcef694860100 Len Brown 2016-04-06 1251 bxt_cstates[6].target_residency = usec;
5dcef694860100 Len Brown 2016-04-06 1252 }
5dcef694860100 Len Brown 2016-04-06 1253
5dcef694860100 Len Brown 2016-04-06 1254 }
d70e28f57e14a4 Len Brown 2016-03-13 1255 /*
d70e28f57e14a4 Len Brown 2016-03-13 1256 * sklh_idle_state_table_update(void)
d70e28f57e14a4 Len Brown 2016-03-13 1257 *
d70e28f57e14a4 Len Brown 2016-03-13 1258 * On SKL-H (model 0x5e) disable C8 and C9 if:
d70e28f57e14a4 Len Brown 2016-03-13 1259 * C10 is enabled and SGX disabled
d70e28f57e14a4 Len Brown 2016-03-13 1260 */
d70e28f57e14a4 Len Brown 2016-03-13 1261 static void sklh_idle_state_table_update(void)
d70e28f57e14a4 Len Brown 2016-03-13 1262 {
d70e28f57e14a4 Len Brown 2016-03-13 1263 unsigned long long msr;
d70e28f57e14a4 Len Brown 2016-03-13 1264 unsigned int eax, ebx, ecx, edx;
d70e28f57e14a4 Len Brown 2016-03-13 1265
d70e28f57e14a4 Len Brown 2016-03-13 1266
d70e28f57e14a4 Len Brown 2016-03-13 1267 /* if PC10 disabled via cmdline intel_idle.max_cstate=7 or shallower */
d70e28f57e14a4 Len Brown 2016-03-13 1268 if (max_cstate <= 7)
d70e28f57e14a4 Len Brown 2016-03-13 1269 return;
d70e28f57e14a4 Len Brown 2016-03-13 1270
d70e28f57e14a4 Len Brown 2016-03-13 1271 /* if PC10 not present in CPUID.MWAIT.EDX */
d70e28f57e14a4 Len Brown 2016-03-13 1272 if ((mwait_substates & (0xF << 28)) == 0)
d70e28f57e14a4 Len Brown 2016-03-13 1273 return;
d70e28f57e14a4 Len Brown 2016-03-13 1274
6cfb2374f83bc7 Len Brown 2017-01-07 1275 rdmsrl(MSR_PKG_CST_CONFIG_CONTROL, msr);
d70e28f57e14a4 Len Brown 2016-03-13 1276
d70e28f57e14a4 Len Brown 2016-03-13 1277 /* PC10 is not enabled in PKG C-state limit */
d70e28f57e14a4 Len Brown 2016-03-13 1278 if ((msr & 0xF) != 8)
d70e28f57e14a4 Len Brown 2016-03-13 1279 return;
d70e28f57e14a4 Len Brown 2016-03-13 1280
d70e28f57e14a4 Len Brown 2016-03-13 1281 ecx = 0;
d70e28f57e14a4 Len Brown 2016-03-13 1282 cpuid(7, &eax, &ebx, &ecx, &edx);
d70e28f57e14a4 Len Brown 2016-03-13 1283
d70e28f57e14a4 Len Brown 2016-03-13 1284 /* if SGX is present */
d70e28f57e14a4 Len Brown 2016-03-13 1285 if (ebx & (1 << 2)) {
d70e28f57e14a4 Len Brown 2016-03-13 1286
d70e28f57e14a4 Len Brown 2016-03-13 @1287 rdmsrl(MSR_IA32_FEATURE_CONTROL, msr);
d70e28f57e14a4 Len Brown 2016-03-13 1288
d70e28f57e14a4 Len Brown 2016-03-13 1289 /* if SGX is enabled */
d70e28f57e14a4 Len Brown 2016-03-13 1290 if (msr & (1 << 18))
0138d8f0755b5b Len Brown 2014-04-04 1291 return;
0138d8f0755b5b Len Brown 2014-04-04 1292 }
0138d8f0755b5b Len Brown 2014-04-04 1293
d70e28f57e14a4 Len Brown 2016-03-13 1294 skl_cstates[5].disabled = 1; /* C8-SKL */
d70e28f57e14a4 Len Brown 2016-03-13 1295 skl_cstates[6].disabled = 1; /* C9-SKL */
d70e28f57e14a4 Len Brown 2016-03-13 1296 }
d70e28f57e14a4 Len Brown 2016-03-13 1297 /*
d70e28f57e14a4 Len Brown 2016-03-13 1298 * intel_idle_state_table_update()
d70e28f57e14a4 Len Brown 2016-03-13 1299 *
d70e28f57e14a4 Len Brown 2016-03-13 1300 * Update the default state_table for this CPU-id
d70e28f57e14a4 Len Brown 2016-03-13 1301 */
d70e28f57e14a4 Len Brown 2016-03-13 1302
:::::: The code at line 1287 was first introduced by commit
:::::: d70e28f57e14a481977436695b0c9ba165472431 intel_idle: prevent SKL-H boot failure when C8+C9+C10 enabled
:::::: TO: Len Brown <len.brown(a)intel.com>
:::::: CC: Len Brown <len.brown(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, 1 month
[PATCH] media: coda: jpeg: fix platform_get_irq.cocci warnings
by Julia Lawall
From: kbuild test robot <lkp(a)intel.com>
Error report is redundant because platform_get_irq() already prints an
error
Generated by: scripts/coccinelle/api/platform_get_irq.cocci
Fixes: fb3a8aa62186 ("media: coda: jpeg: add CODA960 JPEG encoder support")
CC: Philipp Zabel <p.zabel(a)pengutronix.de>
Signed-off-by: kbuild test robot <lkp(a)intel.com>
Signed-off-by: Julia Lawall <julia.lawall(a)lip6.fr>
---
The {} will need to be removed as well.
url: https://github.com/0day-ci/linux/commits/Philipp-Zabel/media-coda-do-not-...
base: git://linuxtv.org/media_tree.git master
:::::: branch date: 4 days ago
:::::: commit date: 4 days ago
Please take the patch only if it's a positive warning. Thanks!
coda-common.c | 1 -
1 file changed, 1 deletion(-)
--- a/drivers/media/platform/coda/coda-common.c
+++ b/drivers/media/platform/coda/coda-common.c
@@ -3019,7 +3019,6 @@ static int coda_probe(struct platform_de
if (dev->devtype->product == CODA_960) {
irq = platform_get_irq_byname(pdev, "jpeg");
if (irq < 0) {
- dev_err(&pdev->dev, "failed to get jpeg irq resource\n");
return irq;
}
1 year, 1 month
Re: [atishp04:efi_stub 1/1] drivers/firmware/efi/libstub/arm-stub.c:203:7: warning: variable 'secure_boot' is uninitialized when used here
by Nick Desaulniers
On Wed, Nov 20, 2019 at 2:46 PM Atish Patra <Atish.Patra(a)wdc.com> wrote:
>
> On Mon, 2019-11-18 at 22:39 -0800, Nick Desaulniers wrote:
> > Atish, below is a report from 0day bot from a build with Clang. The
> > warning looks legit, can you please take a look?
> >
> Hi Nick,
> Thanks for the email. This is a work in progress branch. Is there way
> not to trigger kbuild tests on this branch ?
That's a common question that Rong or Philip can answer (I forgot what
the answer has been in the past). Rong/Philip, it may be good to have
a URL/link that I can point people to in the future, since it's a FAQ.
>
> --
> Regards,
> Atish
>
>
> > On Mon, Nov 18, 2019 at 10:17 PM kbuild test robot <lkp(a)intel.com>
> > wrote:
> > > CC: kbuild-all(a)lists.01.org
> > > TO: Atish Patra <atish.patra(a)wdc.com>
> > >
> > > tree: https://github.com/atishp04/linux efi_stub
> > > head: 7dbf2060ab3115d2edcfba8f0f677a321a1611f1
> > > commit: 7dbf2060ab3115d2edcfba8f0f677a321a1611f1 [1/1] Add efi stub
> > > config: arm64-defconfig (attached as .config)
> > > compiler: clang version 10.0.0 (git://gitmirror/llvm_project
> > > 0213adde218530bc31e5c4e50b49704c6bb2f2e9)
> > > reproduce:
> > > wget
> > > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> > > -O ~/bin/make.cross
> > > chmod +x ~/bin/make.cross
> > > git checkout 7dbf2060ab3115d2edcfba8f0f677a321a1611f1
> > > # save the attached .config to linux build tree
> > > make.cross ARCH=arm64
> > >
> > > 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/firmware/efi/libstub/arm-stub.c:132:22: warning: unused
> > > variable 'si' [-Wunused-variable]
> > > struct screen_info *si;
> > > ^
> > > > > drivers/firmware/efi/libstub/arm-stub.c:203:7: warning:
> > > > > variable 'secure_boot' is uninitialized when used here [-
> > > > > Wuninitialized]
> > > secure_boot != efi_secureboot_mode_disabled) {
> > > ^~~~~~~~~~~
> > > drivers/firmware/efi/libstub/arm-stub.c:131:2: note: variable
> > > 'secure_boot' is declared here
> > > enum efi_secureboot_mode secure_boot;
> > > ^
> > > 2 warnings generated.
> > >
> > > vim +/secure_boot +203 drivers/firmware/efi/libstub/arm-stub.c
> > >
> > > b844470f22061e drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2018-09-21 92
> > > b844470f22061e drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2018-09-21 93
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 94 /*
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 95 * This function handles the
> > > architcture specific differences between arm and
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 96 * arm64 regarding where the kernel
> > > image must be loaded and any memory that
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 97 * must be reserved. On failure it is
> > > required to free all
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 98 * all allocations it has made.
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 99 */
> > > bd669475d14e32 drivers/firmware/efi/arm-stub.c Ard
> > > Biesheuvel 2014-07-02 100 efi_status_t
> > > handle_kernel_image(efi_system_table_t *sys_table,
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 101 unsigned long
> > > *image_addr,
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 102 unsigned long
> > > *image_size,
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 103 unsigned long
> > > *reserve_addr,
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 104 unsigned long
> > > *reserve_size,
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 105 unsigned long dram_base,
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 106 efi_loaded_image_t
> > > *image);
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 107 /*
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 108 * EFI entry point for the arm/arm64
> > > EFI stubs. This is the entrypoint
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 109 * that is described in the PE/COFF
> > > header. Most of the code is the same
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 110 * for both archictectures, with the
> > > arch-specific code provided in the
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 111 * handle_kernel_image() function.
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 112 */
> > > ddeeefe2dfbe1f drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2015-01-12 113 unsigned long efi_entry(void *handle,
> > > efi_system_table_t *sys_table,
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 114 unsigned
> > > long *image_addr)
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 115 {
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 116 efi_loaded_image_t *image;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 117 efi_status_t status;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 118 unsigned long image_size = 0;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 119 unsigned long dram_base;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 120 /* addr/point and size pairs
> > > for memory management*/
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 121 unsigned long initrd_addr;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 122 u64 initrd_size = 0;
> > > 345c736edd07b6 drivers/firmware/efi/arm-stub.c Ard
> > > Biesheuvel 2014-04-03 123 unsigned long fdt_addr =
> > > 0; /* Original DTB */
> > > a643375f4b1755 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2015-03-04 124 unsigned long fdt_size = 0;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 125 char *cmdline_ptr = NULL;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 126 int cmdline_size = 0;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 127 unsigned long new_fdt_addr;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 128 efi_guid_t loaded_image_proto =
> > > LOADED_IMAGE_PROTOCOL_GUID;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 129 unsigned long reserve_addr = 0;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 130 unsigned long reserve_size = 0;
> > > de8cb458625c16 drivers/firmware/efi/libstub/arm-stub.c David
> > > Howells 2017-02-06 131 enum efi_secureboot_mode
> > > secure_boot;
> > > f0827e18a7a1da drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-04-25 @132 struct screen_info *si;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 133
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 134 /* Check if we were booted by
> > > the EFI firmware */
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 135 if (sys_table->hdr.signature !=
> > > EFI_SYSTEM_TABLE_SIGNATURE)
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 136 goto fail;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 137
> > > b9d6769b5678db drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-02-17 138 status =
> > > check_platform_features(sys_table);
> > > b9d6769b5678db drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-02-17 139 if (status != EFI_SUCCESS)
> > > b9d6769b5678db drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-02-17 140 goto fail;
> > > b9d6769b5678db drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-02-17 141
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 142 /*
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 143 * Get a handle to the loaded
> > > image protocol. This is used to get
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 144 * information about the
> > > running image, such as size and the command
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 145 * line.
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 146 */
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 147 status = sys_table->boottime-
> > > >handle_protocol(handle,
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 148 &loaded_image_prot
> > > o, (void *)&image);
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 149 if (status != EFI_SUCCESS) {
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 150 pr_efi_err(sys_table,
> > > "Failed to get loaded image protocol\n");
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 151 goto fail;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 152 }
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 153
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 154 dram_base =
> > > get_dram_base(sys_table);
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 155 if (dram_base == EFI_ERROR) {
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 156 pr_efi_err(sys_table,
> > > "Failed to find DRAM base\n");
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 157 goto fail;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 158 }
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 159
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 160 /*
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 161 * Get the command line from
> > > EFI, using the LOADED_IMAGE
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 162 * protocol. We are going to
> > > copy the command line into the
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 163 * device tree, so this can be
> > > allocated anywhere.
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 164 */
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 165 cmdline_ptr =
> > > efi_convert_cmdline(sys_table, image, &cmdline_size);
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 166 if (!cmdline_ptr) {
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 167 pr_efi_err(sys_table,
> > > "getting command line via LOADED_IMAGE_PROTOCOL\n");
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-26 168 goto fail;
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-26 169 }
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-26 170
> > > eeff7d634f4750 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 171 if
> > > (IS_ENABLED(CONFIG_CMDLINE_EXTEND) ||
> > > eeff7d634f4750 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-
> > > 04 172 IS_ENABLED(CONFIG_CMDLINE_FORCE) ||
> > > eeff7d634f4750 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 173 cmdline_size == 0)
> > > eeff7d634f4750 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-
> > > 04 174 efi_parse_options(CONFIG_CMDLINE);
> > > eeff7d634f4750 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 175
> > > eeff7d634f4750 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 176 if
> > > (!IS_ENABLED(CONFIG_CMDLINE_FORCE) && cmdline_size > 0)
> > > eeff7d634f4750 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-
> > > 04 177 efi_parse_options(cmdline_ptr);
> > > eeff7d634f4750 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 178
> > > eeff7d634f4750 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 179 pr_efi(sys_table, "Booting
> > > Linux Kernel...\n");
> > > 7dbf2060ab3115 drivers/firmware/efi/libstub/arm-stub.c Atish
> > > Patra 2019-11-18 180 #if 0
> > > f0827e18a7a1da drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-04-25 181 si =
> > > setup_graphics(sys_table);
> > > 7dbf2060ab3115 drivers/firmware/efi/libstub/arm-stub.c Atish
> > > Patra 2019-11-18 182 #endif
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-26 183 status =
> > > handle_kernel_image(sys_table, image_addr, &image_size,
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-
> > > 26 184 &reserve_addr,
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-
> > > 26 185 &reserve_size,
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-
> > > 26 186 dram_base, image);
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-26 187 if (status != EFI_SUCCESS) {
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-26 188 pr_efi_err(sys_table,
> > > "Failed to relocate kernel\n");
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-26 189 goto
> > > fail_free_cmdline;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 190 }
> > > 7dbf2060ab3115 drivers/firmware/efi/libstub/arm-stub.c Atish
> > > Patra 2019-11-18 191 #if 0
> > > ccc829ba3624be drivers/firmware/efi/libstub/arm-stub.c Matthew
> > > Garrett 2017-08-25 192 /* Ask the firmware to clear
> > > memory on unclean shutdown */
> > > ccc829ba3624be drivers/firmware/efi/libstub/arm-stub.c Matthew
> > > Garrett 2017-08-
> > > 25 193 efi_enable_reset_attack_mitigation(sys_table);
> > > ccc829ba3624be drivers/firmware/efi/libstub/arm-stub.c Matthew
> > > Garrett 2017-08-25 194
> > > 73a6492589c87c drivers/firmware/efi/libstub/arm-stub.c Linn
> > > Crosetto 2016-04-25 195 secure_boot =
> > > efi_get_secureboot(sys_table);
> > > 7dbf2060ab3115 drivers/firmware/efi/libstub/arm-stub.c Atish
> > > Patra 2019-11-18 196 #endif
> > > 345c736edd07b6 drivers/firmware/efi/arm-stub.c Ard
> > > Biesheuvel 2014-04-03 197 /*
> > > de8cb458625c16 drivers/firmware/efi/libstub/arm-stub.c David
> > > Howells 2017-02-06 198 * Unauthenticated device tree
> > > data is a security hazard, so ignore
> > > de8cb458625c16 drivers/firmware/efi/libstub/arm-stub.c David
> > > Howells 2017-02-06 199 * 'dtb=' unless UEFI Secure
> > > Boot is disabled. We assume that secure
> > > de8cb458625c16 drivers/firmware/efi/libstub/arm-stub.c David
> > > Howells 2017-02-06 200 * boot is enabled if we can't
> > > determine its state.
> > > 345c736edd07b6 drivers/firmware/efi/arm-stub.c Ard
> > > Biesheuvel 2014-04-03 201 */
> > > 3d7ee348aa4127 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2018-07-11 202 if
> > > (!IS_ENABLED(CONFIG_EFI_ARMSTUB_DTB_LOADER) ||
> > > 3d7ee348aa4127 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2018-07-11 @203 secure_boot !=
> > > efi_secureboot_mode_disabled) {
> > > 3d7ee348aa4127 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2018-07-11 204 if
> > > (strstr(cmdline_ptr, "dtb="))
> > > 73a6492589c87c drivers/firmware/efi/libstub/arm-stub.c Linn
> > > Crosetto 2016-04-
> > > 25 205 pr_efi(sys_table, "Ignoring DTB
> > > from command line.\n");
> > > 345c736edd07b6 drivers/firmware/efi/arm-stub.c Ard
> > > Biesheuvel 2014-04-03 206 } else {
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 207 status =
> > > handle_cmdline_files(sys_table, image, cmdline_ptr,
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 208 "dtb=",
> > > a643375f4b1755 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2015-03-
> > > 04 209 ~0UL,
> > > &fdt_addr, &fdt_size);
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 210
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 211 if (status !=
> > > EFI_SUCCESS) {
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 212 pr_efi_err(sys_table, "Failed to
> > > load device tree!\n");
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-26 213 goto
> > > fail_free_image;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 214 }
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 215 }
> > > 0bcaa9040d0586 drivers/firmware/efi/libstub/arm-stub.c Mark
> > > Rutland 2014-10-23 216
> > > 0bcaa9040d0586 drivers/firmware/efi/libstub/arm-stub.c Mark
> > > Rutland 2014-10-23 217 if (fdt_addr) {
> > > 0bcaa9040d0586 drivers/firmware/efi/libstub/arm-stub.c Mark
> > > Rutland 2014-10-23 218 pr_efi(sys_table,
> > > "Using DTB from command line\n");
> > > 0bcaa9040d0586 drivers/firmware/efi/libstub/arm-stub.c Mark
> > > Rutland 2014-10-23 219 } else {
> > > 345c736edd07b6 drivers/firmware/efi/arm-stub.c Ard
> > > Biesheuvel 2014-04-03 220 /* Look for a device
> > > tree configuration table entry. */
> > > a643375f4b1755 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2015-03-04 221 fdt_addr =
> > > (uintptr_t)get_fdt(sys_table, &fdt_size);
> > > 0bcaa9040d0586 drivers/firmware/efi/libstub/arm-stub.c Mark
> > > Rutland 2014-10-23 222 if (fdt_addr)
> > > 0bcaa9040d0586 drivers/firmware/efi/libstub/arm-stub.c Mark
> > > Rutland 2014-10-
> > > 23 223 pr_efi(sys_table, "Using DTB from
> > > configuration table\n");
> > > 0bcaa9040d0586 drivers/firmware/efi/libstub/arm-stub.c Mark
> > > Rutland 2014-10-23 224 }
> > > 0bcaa9040d0586 drivers/firmware/efi/libstub/arm-stub.c Mark
> > > Rutland 2014-10-23 225
> > > 0bcaa9040d0586 drivers/firmware/efi/libstub/arm-stub.c Mark
> > > Rutland 2014-10-23 226 if (!fdt_addr)
> > > 0bcaa9040d0586 drivers/firmware/efi/libstub/arm-stub.c Mark
> > > Rutland 2014-10-23 227 pr_efi(sys_table,
> > > "Generating empty DTB\n");
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 228
> > > 138728dd4ee30d drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 229 status =
> > > handle_cmdline_files(sys_table, image, cmdline_ptr, "initrd=",
> > > 138728dd4ee30d drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-
> > > 04 230 efi_get_max_initrd_a
> > > ddr(dram_base,
> > > 138728dd4ee30d drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-
> > > 04 231
> > > *image_addr),
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 232 (unsigned long
> > > *)&initrd_addr,
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 233 (unsigned long
> > > *)&initrd_size);
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 234 if (status != EFI_SUCCESS)
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 235 pr_efi_err(sys_table,
> > > "Failed initrd from command line!\n");
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 236
> > > 568bc4e87033d2 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-11-
> > > 12 237 efi_random_get_seed(sys_table);
> > > 568bc4e87033d2 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-11-12 238
> > > 38fb6652229c21 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-10-25 239 /* hibernation expects the
> > > runtime regions to stay in the same place */
> > > 38fb6652229c21 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-10-25 240 if
> > > (!IS_ENABLED(CONFIG_HIBERNATION) && !nokaslr()) {
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 241 /*
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 242 * Randomize the base
> > > of the UEFI runtime services region.
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 243 * Preserve the 2 MB
> > > alignment of the region by taking a
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 244 * shift of 21 bit
> > > positions into account when scaling
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 245 * the headroom value
> > > using a 32-bit random value.
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 246 */
> > > 197decefdb79d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-17 247 static const u64
> > > headroom = EFI_RT_VIRTUAL_LIMIT -
> > > 197decefdb79d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-
> > > 17 248 EFI_RT_VIRTUAL
> > > _BASE -
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-
> > > 04 249 EFI_RT_VIRTUAL
> > > _SIZE;
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 250 u32 rnd;
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 251
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 252 status =
> > > efi_get_random_bytes(sys_table, sizeof(rnd),
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-
> > > 04 253 (u8 *)&rnd);
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 254 if (status ==
> > > EFI_SUCCESS) {
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 255 virtmap_base =
> > > EFI_RT_VIRTUAL_BASE +
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-
> > > 04 256 (((headroom >> 21)
> > > * rnd) >> (32 - 21));
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 257 }
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 258 }
> > > e69176d68d26d6 drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-04 259
> > > b844470f22061e drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2018-09-
> > > 21 260 install_memreserve_table(sys_table);
> > > b844470f22061e drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2018-09-21 261
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 262 new_fdt_addr = fdt_addr;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 263 status =
> > > allocate_new_fdt_and_exit_boot(sys_table, handle,
> > > 138728dd4ee30d drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2017-04-
> > > 04 264 &new_fdt_addr,
> > > efi_get_max_fdt_addr(dram_base),
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 265 initrd_addr, initrd_size,
> > > cmdline_ptr,
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-
> > > 15 266 fdt_addr, fdt_size);
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 267
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 268 /*
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 269 * If all went well, we need to
> > > return the FDT address to the
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 270 * calling function so it can
> > > be passed to kernel as part of
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 271 * the kernel boot protocol.
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 272 */
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 273 if (status == EFI_SUCCESS)
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 274 return new_fdt_addr;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 275
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 276 pr_efi_err(sys_table, "Failed
> > > to update FDT and exit boot services\n");
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 277
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 278 efi_free(sys_table,
> > > initrd_size, initrd_addr);
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 279 efi_free(sys_table, fdt_size,
> > > fdt_addr);
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 280
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 281 fail_free_image:
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 282 efi_free(sys_table, image_size,
> > > *image_addr);
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 283 efi_free(sys_table,
> > > reserve_size, reserve_addr);
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-26 284 fail_free_cmdline:
> > > 7dbf2060ab3115 drivers/firmware/efi/libstub/arm-stub.c Atish
> > > Patra 2019-11-18 285 //free_screen_info(sys_table,
> > > si);
> > > 2b5fe07a78a09a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2016-01-26 286 efi_free(sys_table,
> > > cmdline_size, (unsigned long)cmdline_ptr);
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 287 fail:
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 288 return EFI_ERROR;
> > > 3c7f255039a2ad drivers/firmware/efi/arm-stub.c Mark
> > > Salter 2014-04-15 289 }
> > > f3cdfd239da56a drivers/firmware/efi/libstub/arm-stub.c Ard
> > > Biesheuvel 2014-10-20 290
> > >
> > > :::::: The code at line 203 was first introduced by commit
> > > :::::: 3d7ee348aa4127a7893c11261da9b76371a970e6 efi/libstub/arm:
> > > Add opt-in Kconfig option for the DTB loader
> > >
> > > :::::: TO: Ard Biesheuvel <ard.biesheuvel(a)linaro.org>
> > > :::::: CC: Ingo Molnar <mingo(a)kernel.org>
> > >
> > > ---
> > > 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, 1 month
crypto/blake2b_generic.c:245:1: warning: the frame size of 1220 bytes is larger than 1024 bytes
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 32ef9553635ab1236c33951a8bd9b5af1c3b1646
commit: 91d689337fe8b7703608a2ec39aae700b99f3933 crypto: blake2b - add blake2b generic implementation
date: 4 weeks ago
config: arc-randconfig-a0031-20191201 (attached as .config)
compiler: arc-elf-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 91d689337fe8b7703608a2ec39aae700b99f3933
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
crypto/blake2b_generic.c: In function 'blake2b_compress':
>> crypto/blake2b_generic.c:245:1: warning: the frame size of 1220 bytes is larger than 1024 bytes [-Wframe-larger-than=]
}
^
vim +245 crypto/blake2b_generic.c
183
184 #define G(r,i,a,b,c,d) \
185 do { \
186 a = a + b + m[blake2b_sigma[r][2*i+0]]; \
187 d = ror64(d ^ a, 32); \
188 c = c + d; \
189 b = ror64(b ^ c, 24); \
190 a = a + b + m[blake2b_sigma[r][2*i+1]]; \
191 d = ror64(d ^ a, 16); \
192 c = c + d; \
193 b = ror64(b ^ c, 63); \
194 } while (0)
195
196 #define ROUND(r) \
197 do { \
198 G(r,0,v[ 0],v[ 4],v[ 8],v[12]); \
199 G(r,1,v[ 1],v[ 5],v[ 9],v[13]); \
200 G(r,2,v[ 2],v[ 6],v[10],v[14]); \
201 G(r,3,v[ 3],v[ 7],v[11],v[15]); \
202 G(r,4,v[ 0],v[ 5],v[10],v[15]); \
203 G(r,5,v[ 1],v[ 6],v[11],v[12]); \
204 G(r,6,v[ 2],v[ 7],v[ 8],v[13]); \
205 G(r,7,v[ 3],v[ 4],v[ 9],v[14]); \
206 } while (0)
207
208 static void blake2b_compress(struct blake2b_state *S,
209 const u8 block[BLAKE2B_BLOCKBYTES])
210 {
211 u64 m[16];
212 u64 v[16];
213 size_t i;
214
215 for (i = 0; i < 16; ++i)
216 m[i] = get_unaligned_le64(block + i * sizeof(m[i]));
217
218 for (i = 0; i < 8; ++i)
219 v[i] = S->h[i];
220
221 v[ 8] = blake2b_IV[0];
222 v[ 9] = blake2b_IV[1];
223 v[10] = blake2b_IV[2];
224 v[11] = blake2b_IV[3];
225 v[12] = blake2b_IV[4] ^ S->t[0];
226 v[13] = blake2b_IV[5] ^ S->t[1];
227 v[14] = blake2b_IV[6] ^ S->f[0];
228 v[15] = blake2b_IV[7] ^ S->f[1];
229
230 ROUND(0);
231 ROUND(1);
232 ROUND(2);
233 ROUND(3);
234 ROUND(4);
235 ROUND(5);
236 ROUND(6);
237 ROUND(7);
238 ROUND(8);
239 ROUND(9);
240 ROUND(10);
241 ROUND(11);
242
243 for (i = 0; i < 8; ++i)
244 S->h[i] = S->h[i] ^ v[i] ^ v[i + 8];
> 245 }
246
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
1 year, 1 month
Re: [PATCH 3/4] printk: Drop pr_warning definition
by kbuild test robot
Hi Kefeng,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on wq/for-next]
[cannot apply to pmladek/for-next v5.4 next-20191127]
[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/Kefeng-Wang/part2-kill-pr_warnin...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-next
config: i386-defconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
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/platform/x86/eeepc-laptop.c: In function 'eeepc_rfkill_hotplug':
>> drivers/platform/x86/eeepc-laptop.c:581:3: error: implicit declaration of function 'pr_warning'; did you mean 'acpi_warning'? [-Werror=implicit-function-declaration]
pr_warning("Unable to find port\n");
^~~~~~~~~~
acpi_warning
cc1: some warnings being treated as errors
--
drivers/video/console/vgacon.c: In function 'text_mode':
>> drivers/video/console/vgacon.c:116:2: error: implicit declaration of function 'pr_warning'; did you mean 'pr_warn'? [-Werror=implicit-function-declaration]
pr_warning("You have booted with nomodeset. This means your GPU drivers are DISABLED\n");
^~~~~~~~~~
pr_warn
cc1: some warnings being treated as errors
--
arch/x86//kernel/tsc_sync.c: In function 'check_tsc_sync_source':
>> arch/x86//kernel/tsc_sync.c:367:3: error: implicit declaration of function 'pr_warning'; did you mean 'pr_warn'? [-Werror=implicit-function-declaration]
pr_warning("TSC synchronization [CPU#%d -> CPU#%d]:\n",
^~~~~~~~~~
pr_warn
cc1: some warnings being treated as errors
--
arch/x86//kernel/setup_percpu.c: In function 'setup_per_cpu_areas':
>> arch/x86//kernel/setup_percpu.c:210:4: error: implicit declaration of function 'pr_warning'; did you mean 'pr_warn'? [-Werror=implicit-function-declaration]
pr_warning("%s allocator failed (%d), falling back to page size\n",
^~~~~~~~~~
pr_warn
cc1: some warnings being treated as errors
--
arch/x86//kernel/apic/apic.c: In function 'calibrate_by_pmtimer':
>> arch/x86//kernel/apic/apic.c:783:2: error: implicit declaration of function 'pr_warning'; did you mean 'acpi_warning'? [-Werror=implicit-function-declaration]
pr_warning("APIC calibration not consistent "
^~~~~~~~~~
acpi_warning
cc1: some warnings being treated as errors
--
drivers//acpi/resource.c: In function 'acpi_dev_get_irqresource':
>> drivers//acpi/resource.c:416:4: error: implicit declaration of function 'pr_warning'; did you mean 'acpi_warning'? [-Werror=implicit-function-declaration]
pr_warning("ACPI: IRQ %d override to %s, %s\n", gsi,
^~~~~~~~~~
acpi_warning
cc1: some warnings being treated as errors
vim +581 drivers/platform/x86/eeepc-laptop.c
2b121bc262fa03 Corentin Chary 2009-06-25 560
14fdb152416c0f Matthew Garrett 2011-05-09 561 static void eeepc_rfkill_hotplug(struct eeepc_laptop *eeepc, acpi_handle handle)
5740294ca3a9b1 Matthew Garrett 2009-01-20 562 {
14fdb152416c0f Matthew Garrett 2011-05-09 563 struct pci_dev *port;
5740294ca3a9b1 Matthew Garrett 2009-01-20 564 struct pci_dev *dev;
6d41839e762f8b Alan Jenkins 2009-08-28 565 struct pci_bus *bus;
854c78363f37f0 Alan Jenkins 2009-12-03 566 bool blocked = eeepc_wlan_rfkill_blocked(eeepc);
bc9d24a3aeb153 Alan Jenkins 2010-02-22 567 bool absent;
bc9d24a3aeb153 Alan Jenkins 2010-02-22 568 u32 l;
5740294ca3a9b1 Matthew Garrett 2009-01-20 569
a7624b63fdf50d Alan Jenkins 2009-12-03 570 if (eeepc->wlan_rfkill)
a7624b63fdf50d Alan Jenkins 2009-12-03 571 rfkill_set_sw_state(eeepc->wlan_rfkill, blocked);
6d41839e762f8b Alan Jenkins 2009-08-28 572
a7624b63fdf50d Alan Jenkins 2009-12-03 573 mutex_lock(&eeepc->hotplug_lock);
8b9ec1da6a310b Rafael J. Wysocki 2014-01-10 574 pci_lock_rescan_remove();
dcf443b5813074 Alan Jenkins 2009-08-28 575
125450f814418b Lukas Wunner 2018-09-08 576 if (!eeepc->hotplug_slot.ops)
248d4903639068 Frans Klaver 2014-10-22 577 goto out_unlock;
248d4903639068 Frans Klaver 2014-10-22 578
14fdb152416c0f Matthew Garrett 2011-05-09 579 port = acpi_get_pci_dev(handle);
14fdb152416c0f Matthew Garrett 2011-05-09 580 if (!port) {
14fdb152416c0f Matthew Garrett 2011-05-09 @581 pr_warning("Unable to find port\n");
14fdb152416c0f Matthew Garrett 2011-05-09 582 goto out_unlock;
14fdb152416c0f Matthew Garrett 2011-05-09 583 }
14fdb152416c0f Matthew Garrett 2011-05-09 584
14fdb152416c0f Matthew Garrett 2011-05-09 585 bus = port->subordinate;
14fdb152416c0f Matthew Garrett 2011-05-09 586
5740294ca3a9b1 Matthew Garrett 2009-01-20 587 if (!bus) {
22441ffeed17b9 Joe Perches 2011-03-29 588 pr_warn("Unable to find PCI bus 1?\n");
f661848b74b330 Jiang Liu 2012-09-14 589 goto out_put_dev;
5740294ca3a9b1 Matthew Garrett 2009-01-20 590 }
5740294ca3a9b1 Matthew Garrett 2009-01-20 591
bc9d24a3aeb153 Alan Jenkins 2010-02-22 592 if (pci_bus_read_config_dword(bus, 0, PCI_VENDOR_ID, &l)) {
bc9d24a3aeb153 Alan Jenkins 2010-02-22 593 pr_err("Unable to read PCI config space?\n");
f661848b74b330 Jiang Liu 2012-09-14 594 goto out_put_dev;
bc9d24a3aeb153 Alan Jenkins 2010-02-22 595 }
14fdb152416c0f Matthew Garrett 2011-05-09 596
bc9d24a3aeb153 Alan Jenkins 2010-02-22 597 absent = (l == 0xffffffff);
bc9d24a3aeb153 Alan Jenkins 2010-02-22 598
bc9d24a3aeb153 Alan Jenkins 2010-02-22 599 if (blocked != absent) {
9f662b20d6cef8 Frans Klaver 2014-10-22 600 pr_warn("BIOS says wireless lan is %s, but the pci device is %s\n",
bc9d24a3aeb153 Alan Jenkins 2010-02-22 601 blocked ? "blocked" : "unblocked",
bc9d24a3aeb153 Alan Jenkins 2010-02-22 602 absent ? "absent" : "present");
9f662b20d6cef8 Frans Klaver 2014-10-22 603 pr_warn("skipped wireless hotplug as probably inappropriate for this model\n");
f661848b74b330 Jiang Liu 2012-09-14 604 goto out_put_dev;
bc9d24a3aeb153 Alan Jenkins 2010-02-22 605 }
bc9d24a3aeb153 Alan Jenkins 2010-02-22 606
19d337dff95cbf Johannes Berg 2009-06-02 607 if (!blocked) {
5740294ca3a9b1 Matthew Garrett 2009-01-20 608 dev = pci_get_slot(bus, 0);
5740294ca3a9b1 Matthew Garrett 2009-01-20 609 if (dev) {
5740294ca3a9b1 Matthew Garrett 2009-01-20 610 /* Device already present */
5740294ca3a9b1 Matthew Garrett 2009-01-20 611 pci_dev_put(dev);
f661848b74b330 Jiang Liu 2012-09-14 612 goto out_put_dev;
5740294ca3a9b1 Matthew Garrett 2009-01-20 613 }
5740294ca3a9b1 Matthew Garrett 2009-01-20 614 dev = pci_scan_single_device(bus, 0);
5740294ca3a9b1 Matthew Garrett 2009-01-20 615 if (dev) {
5740294ca3a9b1 Matthew Garrett 2009-01-20 616 pci_bus_assign_resources(bus);
c893d133eaccdd Yijing Wang 2014-05-30 617 pci_bus_add_device(dev);
5740294ca3a9b1 Matthew Garrett 2009-01-20 618 }
5740294ca3a9b1 Matthew Garrett 2009-01-20 619 } else {
5740294ca3a9b1 Matthew Garrett 2009-01-20 620 dev = pci_get_slot(bus, 0);
5740294ca3a9b1 Matthew Garrett 2009-01-20 621 if (dev) {
210647af897af8 Yinghai Lu 2012-02-25 622 pci_stop_and_remove_bus_device(dev);
5740294ca3a9b1 Matthew Garrett 2009-01-20 623 pci_dev_put(dev);
5740294ca3a9b1 Matthew Garrett 2009-01-20 624 }
5740294ca3a9b1 Matthew Garrett 2009-01-20 625 }
f661848b74b330 Jiang Liu 2012-09-14 626 out_put_dev:
f661848b74b330 Jiang Liu 2012-09-14 627 pci_dev_put(port);
dcf443b5813074 Alan Jenkins 2009-08-28 628
dcf443b5813074 Alan Jenkins 2009-08-28 629 out_unlock:
8b9ec1da6a310b Rafael J. Wysocki 2014-01-10 630 pci_unlock_rescan_remove();
a7624b63fdf50d Alan Jenkins 2009-12-03 631 mutex_unlock(&eeepc->hotplug_lock);
5740294ca3a9b1 Matthew Garrett 2009-01-20 632 }
5740294ca3a9b1 Matthew Garrett 2009-01-20 633
:::::: The code at line 581 was first introduced by commit
:::::: 14fdb152416c0fab80ecddf492c129d7da1bb8ef eeepc-laptop: Use ACPI handle to identify rfkill port
:::::: TO: Matthew Garrett <mjg(a)redhat.com>
:::::: CC: Matthew Garrett <mjg(a)redhat.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, 1 month
[linux-next:master 14297/14311] arch/m68k/mm/kmap.c:80:28: error: 'pmd_t {aka struct <anonymous>}' has no member named 'pmd'; did you mean 'pud'?
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 419593dad8439007452bb6f267861863b572c520
commit: 982c4ee0826df509856a178ae6dac80c3708323c [14297/14311] m68k: mm: use pgtable-nopXd instead of 4level-fixup
config: m68k-m5475evb_defconfig (attached as .config)
compiler: m68k-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 982c4ee0826df509856a178ae6dac80c3708323c
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=m68k
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/m68k/mm/kmap.c: In function '__free_io_area':
arch/m68k/mm/kmap.c:76:24: error: passing argument 1 of 'pmd_offset' from incompatible pointer type [-Werror=incompatible-pointer-types]
pmd_dir = pmd_offset(pgd_dir, virtaddr);
^~~~~~~
In file included from arch/m68k/include/asm/pgtable_mm.h:7:0,
from arch/m68k/include/asm/pgtable.h:5,
from include/linux/mm.h:99,
from arch/m68k/mm/kmap.c:12:
include/asm-generic/pgtable-nopmd.h:44:23: note: expected 'pud_t * {aka struct <anonymous> *}' but argument is of type 'pgd_t * {aka struct <anonymous> *}'
static inline pmd_t * pmd_offset(pud_t * pud, unsigned long address)
^~~~~~~~~~
>> arch/m68k/mm/kmap.c:80:28: error: 'pmd_t {aka struct <anonymous>}' has no member named 'pmd'; did you mean 'pud'?
int pmd_type = pmd_dir->pmd[pmd_off] & _DESCTYPE_MASK;
^~~
pud
arch/m68k/mm/kmap.c:83:14: error: 'pmd_t {aka struct <anonymous>}' has no member named 'pmd'; did you mean 'pud'?
pmd_dir->pmd[pmd_off] = 0;
^~~
pud
arch/m68k/mm/kmap.c: In function 'kernel_set_cachemode':
arch/m68k/mm/kmap.c:348:2: error: #endif without #if
#endif
^~~~~
arch/m68k/mm/kmap.c:352:3: error: 'p4d_dir' undeclared (first use in this function); did you mean 'pmd_dir'?
p4d_dir = p4d_offset(pgd_dir, virtaddr);
^~~~~~~
pmd_dir
arch/m68k/mm/kmap.c:352:3: note: each undeclared identifier is reported only once for each function it appears in
arch/m68k/mm/kmap.c:353:3: error: 'pud_dir' undeclared (first use in this function); did you mean 'p4d_dir'?
pud_dir = pud_offset(p4d_dir, virtaddr);
^~~~~~~
p4d_dir
cc1: some warnings being treated as errors
vim +80 arch/m68k/mm/kmap.c
1bccc43c1010f2 Greg Ungerer 2011-03-28 @12 #include <linux/mm.h>
1bccc43c1010f2 Greg Ungerer 2011-03-28 13 #include <linux/kernel.h>
1bccc43c1010f2 Greg Ungerer 2011-03-28 14 #include <linux/string.h>
1bccc43c1010f2 Greg Ungerer 2011-03-28 15 #include <linux/types.h>
1bccc43c1010f2 Greg Ungerer 2011-03-28 16 #include <linux/slab.h>
1bccc43c1010f2 Greg Ungerer 2011-03-28 17 #include <linux/vmalloc.h>
1bccc43c1010f2 Greg Ungerer 2011-03-28 18
1bccc43c1010f2 Greg Ungerer 2011-03-28 19 #include <asm/setup.h>
1bccc43c1010f2 Greg Ungerer 2011-03-28 20 #include <asm/segment.h>
1bccc43c1010f2 Greg Ungerer 2011-03-28 21 #include <asm/page.h>
1bccc43c1010f2 Greg Ungerer 2011-03-28 22 #include <asm/pgalloc.h>
1bccc43c1010f2 Greg Ungerer 2011-03-28 23 #include <asm/io.h>
1bccc43c1010f2 Greg Ungerer 2011-03-28 24
1bccc43c1010f2 Greg Ungerer 2011-03-28 25 #undef DEBUG
1bccc43c1010f2 Greg Ungerer 2011-03-28 26
1bccc43c1010f2 Greg Ungerer 2011-03-28 27 #define PTRTREESIZE (256*1024)
1bccc43c1010f2 Greg Ungerer 2011-03-28 28
1bccc43c1010f2 Greg Ungerer 2011-03-28 29 /*
1bccc43c1010f2 Greg Ungerer 2011-03-28 30 * For 040/060 we can use the virtual memory area like other architectures,
f6fc30dbb720e3 Geert Uytterhoeven 2013-12-17 31 * but for 020/030 we want to use early termination page descriptors and we
1bccc43c1010f2 Greg Ungerer 2011-03-28 32 * can't mix this with normal page descriptors, so we have to copy that code
f6fc30dbb720e3 Geert Uytterhoeven 2013-12-17 33 * (mm/vmalloc.c) and return appropriately aligned addresses.
1bccc43c1010f2 Greg Ungerer 2011-03-28 34 */
1bccc43c1010f2 Greg Ungerer 2011-03-28 35
1bccc43c1010f2 Greg Ungerer 2011-03-28 36 #ifdef CPU_M68040_OR_M68060_ONLY
1bccc43c1010f2 Greg Ungerer 2011-03-28 37
1bccc43c1010f2 Greg Ungerer 2011-03-28 38 #define IO_SIZE PAGE_SIZE
1bccc43c1010f2 Greg Ungerer 2011-03-28 39
1bccc43c1010f2 Greg Ungerer 2011-03-28 40 static inline struct vm_struct *get_io_area(unsigned long size)
1bccc43c1010f2 Greg Ungerer 2011-03-28 41 {
1bccc43c1010f2 Greg Ungerer 2011-03-28 42 return get_vm_area(size, VM_IOREMAP);
1bccc43c1010f2 Greg Ungerer 2011-03-28 43 }
1bccc43c1010f2 Greg Ungerer 2011-03-28 44
1bccc43c1010f2 Greg Ungerer 2011-03-28 45
1bccc43c1010f2 Greg Ungerer 2011-03-28 46 static inline void free_io_area(void *addr)
1bccc43c1010f2 Greg Ungerer 2011-03-28 47 {
1bccc43c1010f2 Greg Ungerer 2011-03-28 48 vfree((void *)(PAGE_MASK & (unsigned long)addr));
1bccc43c1010f2 Greg Ungerer 2011-03-28 49 }
1bccc43c1010f2 Greg Ungerer 2011-03-28 50
^1da177e4c3f41 Linus Torvalds 2005-04-16 51 #else
1bccc43c1010f2 Greg Ungerer 2011-03-28 52
1bccc43c1010f2 Greg Ungerer 2011-03-28 53 #define IO_SIZE (256*1024)
1bccc43c1010f2 Greg Ungerer 2011-03-28 54
1bccc43c1010f2 Greg Ungerer 2011-03-28 55 static struct vm_struct *iolist;
1bccc43c1010f2 Greg Ungerer 2011-03-28 56
076863473c0cdb Christoph Hellwig 2019-08-13 57 /*
076863473c0cdb Christoph Hellwig 2019-08-13 58 * __free_io_area unmaps nearly everything, so be careful
076863473c0cdb Christoph Hellwig 2019-08-13 59 * Currently it doesn't free pointer/page tables anymore but this
076863473c0cdb Christoph Hellwig 2019-08-13 60 * wasn't used anyway and might be added later.
076863473c0cdb Christoph Hellwig 2019-08-13 61 */
076863473c0cdb Christoph Hellwig 2019-08-13 62 static void __free_io_area(void *addr, unsigned long size)
076863473c0cdb Christoph Hellwig 2019-08-13 63 {
076863473c0cdb Christoph Hellwig 2019-08-13 64 unsigned long virtaddr = (unsigned long)addr;
076863473c0cdb Christoph Hellwig 2019-08-13 65 pgd_t *pgd_dir;
076863473c0cdb Christoph Hellwig 2019-08-13 66 pmd_t *pmd_dir;
076863473c0cdb Christoph Hellwig 2019-08-13 67 pte_t *pte_dir;
076863473c0cdb Christoph Hellwig 2019-08-13 68
076863473c0cdb Christoph Hellwig 2019-08-13 69 while ((long)size > 0) {
076863473c0cdb Christoph Hellwig 2019-08-13 70 pgd_dir = pgd_offset_k(virtaddr);
076863473c0cdb Christoph Hellwig 2019-08-13 71 if (pgd_bad(*pgd_dir)) {
076863473c0cdb Christoph Hellwig 2019-08-13 72 printk("iounmap: bad pgd(%08lx)\n", pgd_val(*pgd_dir));
076863473c0cdb Christoph Hellwig 2019-08-13 73 pgd_clear(pgd_dir);
076863473c0cdb Christoph Hellwig 2019-08-13 74 return;
076863473c0cdb Christoph Hellwig 2019-08-13 75 }
076863473c0cdb Christoph Hellwig 2019-08-13 76 pmd_dir = pmd_offset(pgd_dir, virtaddr);
076863473c0cdb Christoph Hellwig 2019-08-13 77
076863473c0cdb Christoph Hellwig 2019-08-13 78 if (CPU_IS_020_OR_030) {
076863473c0cdb Christoph Hellwig 2019-08-13 79 int pmd_off = (virtaddr/PTRTREESIZE) & 15;
076863473c0cdb Christoph Hellwig 2019-08-13 @80 int pmd_type = pmd_dir->pmd[pmd_off] & _DESCTYPE_MASK;
076863473c0cdb Christoph Hellwig 2019-08-13 81
076863473c0cdb Christoph Hellwig 2019-08-13 82 if (pmd_type == _PAGE_PRESENT) {
076863473c0cdb Christoph Hellwig 2019-08-13 83 pmd_dir->pmd[pmd_off] = 0;
076863473c0cdb Christoph Hellwig 2019-08-13 84 virtaddr += PTRTREESIZE;
076863473c0cdb Christoph Hellwig 2019-08-13 85 size -= PTRTREESIZE;
076863473c0cdb Christoph Hellwig 2019-08-13 86 continue;
076863473c0cdb Christoph Hellwig 2019-08-13 87 } else if (pmd_type == 0)
076863473c0cdb Christoph Hellwig 2019-08-13 88 continue;
076863473c0cdb Christoph Hellwig 2019-08-13 89 }
076863473c0cdb Christoph Hellwig 2019-08-13 90
076863473c0cdb Christoph Hellwig 2019-08-13 91 if (pmd_bad(*pmd_dir)) {
076863473c0cdb Christoph Hellwig 2019-08-13 92 printk("iounmap: bad pmd (%08lx)\n", pmd_val(*pmd_dir));
076863473c0cdb Christoph Hellwig 2019-08-13 93 pmd_clear(pmd_dir);
076863473c0cdb Christoph Hellwig 2019-08-13 94 return;
076863473c0cdb Christoph Hellwig 2019-08-13 95 }
076863473c0cdb Christoph Hellwig 2019-08-13 96 pte_dir = pte_offset_kernel(pmd_dir, virtaddr);
076863473c0cdb Christoph Hellwig 2019-08-13 97
076863473c0cdb Christoph Hellwig 2019-08-13 98 pte_val(*pte_dir) = 0;
076863473c0cdb Christoph Hellwig 2019-08-13 99 virtaddr += PAGE_SIZE;
076863473c0cdb Christoph Hellwig 2019-08-13 100 size -= PAGE_SIZE;
076863473c0cdb Christoph Hellwig 2019-08-13 101 }
076863473c0cdb Christoph Hellwig 2019-08-13 102
076863473c0cdb Christoph Hellwig 2019-08-13 103 flush_tlb_all();
076863473c0cdb Christoph Hellwig 2019-08-13 104 }
076863473c0cdb Christoph Hellwig 2019-08-13 105
:::::: The code at line 80 was first introduced by commit
:::::: 076863473c0cdbf7fdcbf97e1878028ccde3b4ec m68k: rename __iounmap and mark it static
:::::: TO: Christoph Hellwig <hch(a)lst.de>
:::::: CC: Christoph Hellwig <hch(a)lst.de>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
1 year, 1 month