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 3/3] proc: Remove the now unnecessary internal mount of proc
by kbuild test robot
Hi "Eric,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on uml/linux-next]
[also build test ERROR on linux/master kees/for-next/pstore linus/master v5.6-rc3 next-20200228]
[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/Eric-W-Biederman/proc-Actually-h...
base: https://git.kernel.org/pub/scm/linux/kernel/git/rw/uml.git linux-next
config: x86_64-defconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-5) 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 >>):
fs/proc/base.c: In function 'proc_flush_task':
>> fs/proc/base.c:3217:33: error: 'struct pid_namespace' has no member named 'proc_mnt'; did you mean 'proc_self'?
proc_flush_task_mnt(upid->ns->proc_mnt, upid->nr,
^~~~~~~~
proc_self
vim +3217 fs/proc/base.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 3180
0895e91d60ef9b Randy Dunlap 2007-10-21 3181 /**
0895e91d60ef9b Randy Dunlap 2007-10-21 3182 * proc_flush_task - Remove dcache entries for @task from the /proc dcache.
0895e91d60ef9b Randy Dunlap 2007-10-21 3183 * @task: task that should be flushed.
0895e91d60ef9b Randy Dunlap 2007-10-21 3184 *
0895e91d60ef9b Randy Dunlap 2007-10-21 3185 * When flushing dentries from proc, one needs to flush them from global
60347f6716aa49 Pavel Emelyanov 2007-10-18 3186 * proc (proc_mnt) and from all the namespaces' procs this task was seen
0895e91d60ef9b Randy Dunlap 2007-10-21 3187 * in. This call is supposed to do all of this job.
0895e91d60ef9b Randy Dunlap 2007-10-21 3188 *
0895e91d60ef9b Randy Dunlap 2007-10-21 3189 * Looks in the dcache for
0895e91d60ef9b Randy Dunlap 2007-10-21 3190 * /proc/@pid
0895e91d60ef9b Randy Dunlap 2007-10-21 3191 * /proc/@tgid/task/@pid
0895e91d60ef9b Randy Dunlap 2007-10-21 3192 * if either directory is present flushes it and all of it'ts children
0895e91d60ef9b Randy Dunlap 2007-10-21 3193 * from the dcache.
0895e91d60ef9b Randy Dunlap 2007-10-21 3194 *
0895e91d60ef9b Randy Dunlap 2007-10-21 3195 * It is safe and reasonable to cache /proc entries for a task until
0895e91d60ef9b Randy Dunlap 2007-10-21 3196 * that task exits. After that they just clog up the dcache with
0895e91d60ef9b Randy Dunlap 2007-10-21 3197 * useless entries, possibly causing useful dcache entries to be
0895e91d60ef9b Randy Dunlap 2007-10-21 3198 * flushed instead. This routine is proved to flush those useless
0895e91d60ef9b Randy Dunlap 2007-10-21 3199 * dcache entries at process exit time.
0895e91d60ef9b Randy Dunlap 2007-10-21 3200 *
0895e91d60ef9b Randy Dunlap 2007-10-21 3201 * NOTE: This routine is just an optimization so it does not guarantee
0895e91d60ef9b Randy Dunlap 2007-10-21 3202 * that no dcache entries will exist at process exit time it
0895e91d60ef9b Randy Dunlap 2007-10-21 3203 * just makes it very unlikely that any will persist.
60347f6716aa49 Pavel Emelyanov 2007-10-18 3204 */
60347f6716aa49 Pavel Emelyanov 2007-10-18 3205
60347f6716aa49 Pavel Emelyanov 2007-10-18 3206 void proc_flush_task(struct task_struct *task)
60347f6716aa49 Pavel Emelyanov 2007-10-18 3207 {
9fcc2d15b14894 Eric W. Biederman 2007-11-14 3208 int i;
9b4d1cbef8f41a Oleg Nesterov 2009-09-22 3209 struct pid *pid, *tgid;
130f77ecb2e7d5 Pavel Emelyanov 2007-10-18 3210 struct upid *upid;
130f77ecb2e7d5 Pavel Emelyanov 2007-10-18 3211
130f77ecb2e7d5 Pavel Emelyanov 2007-10-18 3212 pid = task_pid(task);
130f77ecb2e7d5 Pavel Emelyanov 2007-10-18 3213 tgid = task_tgid(task);
9fcc2d15b14894 Eric W. Biederman 2007-11-14 3214
9fcc2d15b14894 Eric W. Biederman 2007-11-14 3215 for (i = 0; i <= pid->level; i++) {
130f77ecb2e7d5 Pavel Emelyanov 2007-10-18 3216 upid = &pid->numbers[i];
130f77ecb2e7d5 Pavel Emelyanov 2007-10-18 @3217 proc_flush_task_mnt(upid->ns->proc_mnt, upid->nr,
9b4d1cbef8f41a Oleg Nesterov 2009-09-22 3218 tgid->numbers[i].nr);
130f77ecb2e7d5 Pavel Emelyanov 2007-10-18 3219 }
60347f6716aa49 Pavel Emelyanov 2007-10-18 3220 }
60347f6716aa49 Pavel Emelyanov 2007-10-18 3221
:::::: The code at line 3217 was first introduced by commit
:::::: 130f77ecb2e7d5ac3e53e620f55e374f4a406b20 pid namespaces: make proc_flush_task() actually from entries from multiple namespaces
:::::: TO: Pavel Emelyanov <xemul(a)openvz.org>
:::::: CC: Linus Torvalds <torvalds(a)woody.linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
[peterz-queue:core/rcu 31/33] arch/x86/kernel/alternative.c:961:26: error: inlining failed in call to always_inline 'try_get_desc': function attribute mismatch
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git core/rcu
head: bc72cd8dac4be9572f0cae33b096f9c23460e08a
commit: 2834aaec9e68691ed8d74bdfd3bbea47b6b3972f [31/33] x86/int3: Ensure that poke_int3_handler() is not sanitized
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-5) 7.5.0
reproduce:
git checkout 2834aaec9e68691ed8d74bdfd3bbea47b6b3972f
# 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/math_emu.h:5:0,
from arch/x86/include/asm/processor.h:13,
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/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/linux/stat.h:19,
from include/linux/module.h:13,
from arch/x86/kernel/alternative.c:4:
arch/x86/kernel/alternative.c: In function 'poke_int3_handler':
arch/x86/include/asm/ptrace.h:126:28: error: inlining failed in call to always_inline 'user_mode': function attribute mismatch
static __always_inline int user_mode(struct pt_regs *regs)
^~~~~~~~~
arch/x86/kernel/alternative.c:1000:6: note: called from here
if (user_mode(regs))
^~~~~~~~~~~~~~~
>> arch/x86/kernel/alternative.c:961:26: error: inlining failed in call to always_inline 'try_get_desc': function attribute mismatch
struct bp_patching_desc *try_get_desc(struct bp_patching_desc **descp)
^~~~~~~~~~~~
arch/x86/kernel/alternative.c:1013:7: note: called from here
desc = try_get_desc(&bp_desc);
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/x86/kernel/alternative.c:17:0:
>> include/linux/bsearch.h:8:7: error: inlining failed in call to always_inline '__bsearch': function attribute mismatch
void *__bsearch(const void *key, const void *base, size_t num, size_t size, cmp_func_t cmp)
^~~~~~~~~
arch/x86/kernel/alternative.c:1026:6: note: called from here
tp = __bsearch(ip, desc->vec, desc->nr_entries,
~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sizeof(struct text_poke_loc),
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
patch_cmp);
~~~~~~~~~~
arch/x86/kernel/alternative.c:977:30: error: inlining failed in call to always_inline 'text_poke_addr': function attribute mismatch
static __always_inline void *text_poke_addr(struct text_poke_loc *tp)
^~~~~~~~~~~~~~
arch/x86/kernel/alternative.c:1033:7: note: called from here
if (text_poke_addr(tp) != ip)
^~~~~~~~~~~~~~~~~~
In file included from arch/x86/include/asm/kprobes.h:18:0,
from include/linux/kprobes.h:30,
from arch/x86/kernel/alternative.c:15:
>> arch/x86/include/asm/text-patching.h:67:28: error: inlining failed in call to always_inline 'text_opcode_size': function attribute mismatch
static __always_inline int text_opcode_size(u8 opcode)
^~~~~~~~~~~~~~~~
arch/x86/kernel/alternative.c:1037:6: note: called from here
len = text_opcode_size(tp->opcode);
~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/x86/include/asm/kprobes.h:18:0,
from include/linux/kprobes.h:30,
from arch/x86/kernel/alternative.c:15:
>> arch/x86/include/asm/text-patching.h:144:6: error: inlining failed in call to always_inline 'int3_emulate_call': function attribute mismatch
void int3_emulate_call(struct pt_regs *regs, unsigned long func)
^~~~~~~~~~~~~~~~~
arch/x86/kernel/alternative.c:1049:3: note: called from here
int3_emulate_call(regs, (long)ip + tp->rel32);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/x86/include/asm/kprobes.h:18:0,
from include/linux/kprobes.h:30,
from arch/x86/kernel/alternative.c:15:
>> arch/x86/include/asm/text-patching.h:122:6: error: inlining failed in call to always_inline 'int3_emulate_jmp': function attribute mismatch
void int3_emulate_jmp(struct pt_regs *regs, unsigned long ip)
^~~~~~~~~~~~~~~~
arch/x86/kernel/alternative.c:1054:3: note: called from here
int3_emulate_jmp(regs, (long)ip + tp->rel32);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/x86/kernel/alternative.c:971:29: error: inlining failed in call to always_inline 'put_desc': function attribute mismatch
static __always_inline void put_desc(struct bp_patching_desc *desc)
^~~~~~~~
arch/x86/kernel/alternative.c:1064:2: note: called from here
put_desc(desc);
^~~~~~~~~~~~~~
--
In file included from include/linux/preempt.h:78:0,
from include/linux/rcupdate.h:27,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/context_tracking.h:5,
from arch/x86/kernel/traps.c:15:
arch/x86/kernel/traps.c: In function 'do_int3':
>> arch/x86/include/asm/preempt.h:24:28: error: inlining failed in call to always_inline 'preempt_count': function attribute mismatch
static __always_inline int preempt_count(void)
^~~~~~~~~~~~~
In file included from arch/x86/include/asm/current.h:5:0,
from include/linux/sched.h:12,
from include/linux/context_tracking.h:5,
from arch/x86/kernel/traps.c:15:
include/linux/preempt.h:102:20: note: called from here
#define in_nmi() (preempt_count() & NMI_MASK)
^~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/hardirq.h:86:3: note: in expansion of macro 'BUG_ON'
BUG_ON(in_nmi() == NMI_MASK); \
^~~~~~
include/linux/hardirq.h:86:10: note: in expansion of macro 'in_nmi'
BUG_ON(in_nmi() == NMI_MASK); \
^~~~~~
arch/x86/kernel/traps.c:521:2: note: in expansion of macro 'nmi_enter'
nmi_enter();
^~~~~~~~~
In file included from include/linux/hardirq.h:7:0,
from include/linux/interrupt.h:11,
from arch/x86/kernel/traps.c:16:
>> include/linux/ftrace_irq.h:10:29: error: inlining failed in call to always_inline 'ftrace_nmi_enter': function attribute mismatch
static __always_inline void ftrace_nmi_enter(void)
^~~~~~~~~~~~~~~~
In file included from include/linux/interrupt.h:11:0,
from arch/x86/kernel/traps.c:16:
include/linux/hardirq.h:85:3: note: called from here
ftrace_nmi_enter(); \
^~~~~~~~~~~~~~~~~~
arch/x86/kernel/traps.c:521:2: note: in expansion of macro 'nmi_enter'
nmi_enter();
^~~~~~~~~
In file included from include/linux/sched.h:12:0,
from include/linux/context_tracking.h:5,
from arch/x86/kernel/traps.c:15:
>> arch/x86/include/asm/current.h:13:44: error: inlining failed in call to always_inline 'get_current': function attribute mismatch
static __always_inline struct task_struct *get_current(void)
^~~~~~~~~~~
arch/x86/include/asm/current.h:18:17: note: called from here
#define current get_current()
^~~~~~~~~~~~~
include/linux/lockdep.h:304:2: note: in expansion of macro 'current'
current->lockdep_recursion += LOCKDEP_OFF; \
^~~~~~~
include/linux/hardirq.h:84:3: note: in expansion of macro 'lockdep_off'
lockdep_off(); \
^~~~~~~~~~~
arch/x86/kernel/traps.c:521:2: note: in expansion of macro 'nmi_enter'
nmi_enter();
^~~~~~~~~
>> arch/x86/include/asm/current.h:13:44: error: inlining failed in call to always_inline 'get_current': function attribute mismatch
static __always_inline struct task_struct *get_current(void)
^~~~~~~~~~~
arch/x86/include/asm/current.h:18:17: note: called from here
#define current get_current()
^~~~~~~~~~~~~
include/linux/irqflags.h:40:2: note: in expansion of macro 'current'
current->hardirq_context++; \
^~~~~~~
include/linux/hardirq.h:89:3: note: in expansion of macro 'trace_hardirq_enter'
trace_hardirq_enter(); \
^~~~~~~~~~~~~~~~~~~
arch/x86/kernel/traps.c:521:2: note: in expansion of macro 'nmi_enter'
nmi_enter();
^~~~~~~~~
In file included from include/linux/preempt.h:78:0,
from include/linux/rcupdate.h:27,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/context_tracking.h:5,
from arch/x86/kernel/traps.c:15:
arch/x86/include/asm/preempt.h:77:29: error: inlining failed in call to always_inline '__preempt_count_add': function attribute mismatch
static __always_inline void __preempt_count_add(int val)
^~~~~~~~~~~~~~~~~~~
In file included from include/linux/interrupt.h:11:0,
from arch/x86/kernel/traps.c:16:
include/linux/hardirq.h:87:3: note: called from here
__preempt_count_add(NMI_OFFSET + HARDIRQ_OFFSET); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kernel/traps.c:521:2: note: in expansion of macro 'nmi_enter'
nmi_enter();
^~~~~~~~~
In file included from include/linux/preempt.h:78:0,
from include/linux/rcupdate.h:27,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/context_tracking.h:5,
from arch/x86/kernel/traps.c:15:
>> arch/x86/include/asm/preempt.h:24:28: error: inlining failed in call to always_inline 'preempt_count': function attribute mismatch
static __always_inline int preempt_count(void)
^~~~~~~~~~~~~
In file included from arch/x86/include/asm/current.h:5:0,
from include/linux/sched.h:12,
from include/linux/context_tracking.h:5,
from arch/x86/kernel/traps.c:15:
include/linux/preempt.h:102:20: note: called from here
#define in_nmi() (preempt_count() & NMI_MASK)
^~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/hardirq.h:96:3: note: in expansion of macro 'BUG_ON'
BUG_ON(!in_nmi()); \
^~~~~~
include/linux/hardirq.h:96:11: note: in expansion of macro 'in_nmi'
BUG_ON(!in_nmi()); \
^~~~~~
arch/x86/kernel/traps.c:543:2: note: in expansion of macro 'nmi_exit'
nmi_exit();
^~~~~~~~
In file included from include/linux/sched.h:12:0,
from include/linux/context_tracking.h:5,
from arch/x86/kernel/traps.c:15:
>> arch/x86/include/asm/current.h:13:44: error: inlining failed in call to always_inline 'get_current': function attribute mismatch
static __always_inline struct task_struct *get_current(void)
^~~~~~~~~~~
arch/x86/include/asm/current.h:18:17: note: called from here
#define current get_current()
^~~~~~~~~~~~~
include/linux/irqflags.h:44:2: note: in expansion of macro 'current'
current->hardirq_context--; \
^~~~~~~
include/linux/hardirq.h:94:3: note: in expansion of macro 'trace_hardirq_exit'
trace_hardirq_exit(); \
^~~~~~~~~~~~~~~~~~
arch/x86/kernel/traps.c:543:2: note: in expansion of macro 'nmi_exit'
nmi_exit();
^~~~~~~~
>> arch/x86/include/asm/current.h:13:44: error: inlining failed in call to always_inline 'get_current': function attribute mismatch
static __always_inline struct task_struct *get_current(void)
^~~~~~~~~~~
arch/x86/include/asm/current.h:18:17: note: called from here
#define current get_current()
^~~~~~~~~~~~~
include/linux/lockdep.h:309:2: note: in expansion of macro 'current'
current->lockdep_recursion -= LOCKDEP_OFF; \
^~~~~~~
include/linux/hardirq.h:99:3: note: in expansion of macro 'lockdep_on'
lockdep_on(); \
^~~~~~~~~~
arch/x86/kernel/traps.c:543:2: note: in expansion of macro 'nmi_exit'
nmi_exit();
^~~~~~~~
In file included from include/linux/hardirq.h:7:0,
from include/linux/interrupt.h:11,
from arch/x86/kernel/traps.c:16:
>> include/linux/ftrace_irq.h:18:29: error: inlining failed in call to always_inline 'ftrace_nmi_exit': function attribute mismatch
static __always_inline void ftrace_nmi_exit(void)
^~~~~~~~~~~~~~~
In file included from include/linux/interrupt.h:11:0,
from arch/x86/kernel/traps.c:16:
include/linux/hardirq.h:98:3: note: called from here
ftrace_nmi_exit(); \
^~~~~~~~~~~~~~~~~
arch/x86/kernel/traps.c:543:2: note: in expansion of macro 'nmi_exit'
nmi_exit();
^~~~~~~~
In file included from include/linux/preempt.h:78:0,
from include/linux/rcupdate.h:27,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/context_tracking.h:5,
from arch/x86/kernel/traps.c:15:
arch/x86/include/asm/preempt.h:82:29: error: inlining failed in call to always_inline '__preempt_count_sub': function attribute mismatch
static __always_inline void __preempt_count_sub(int val)
^~~~~~~~~~~~~~~~~~~
In file included from include/linux/interrupt.h:11:0,
from arch/x86/kernel/traps.c:16:
include/linux/hardirq.h:97:3: note: called from here
__preempt_count_sub(NMI_OFFSET + HARDIRQ_OFFSET); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kernel/traps.c:543:2: note: in expansion of macro 'nmi_exit'
nmi_exit();
^~~~~~~~
--
In file included from include/linux/preempt.h:78:0,
from include/linux/rcupdate.h:27,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/context_tracking.h:5,
from arch/x86//kernel/traps.c:15:
arch/x86//kernel/traps.c: In function 'do_int3':
>> arch/x86/include/asm/preempt.h:24:28: error: inlining failed in call to always_inline 'preempt_count': function attribute mismatch
static __always_inline int preempt_count(void)
^~~~~~~~~~~~~
In file included from arch/x86/include/asm/current.h:5:0,
from include/linux/sched.h:12,
from include/linux/context_tracking.h:5,
from arch/x86//kernel/traps.c:15:
include/linux/preempt.h:102:20: note: called from here
#define in_nmi() (preempt_count() & NMI_MASK)
^~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/hardirq.h:86:3: note: in expansion of macro 'BUG_ON'
BUG_ON(in_nmi() == NMI_MASK); \
^~~~~~
include/linux/hardirq.h:86:10: note: in expansion of macro 'in_nmi'
BUG_ON(in_nmi() == NMI_MASK); \
^~~~~~
arch/x86//kernel/traps.c:521:2: note: in expansion of macro 'nmi_enter'
nmi_enter();
^~~~~~~~~
In file included from include/linux/hardirq.h:7:0,
from include/linux/interrupt.h:11,
from arch/x86//kernel/traps.c:16:
>> include/linux/ftrace_irq.h:10:29: error: inlining failed in call to always_inline 'ftrace_nmi_enter': function attribute mismatch
static __always_inline void ftrace_nmi_enter(void)
^~~~~~~~~~~~~~~~
In file included from include/linux/interrupt.h:11:0,
from arch/x86//kernel/traps.c:16:
include/linux/hardirq.h:85:3: note: called from here
ftrace_nmi_enter(); \
^~~~~~~~~~~~~~~~~~
arch/x86//kernel/traps.c:521:2: note: in expansion of macro 'nmi_enter'
nmi_enter();
^~~~~~~~~
In file included from include/linux/sched.h:12:0,
from include/linux/context_tracking.h:5,
from arch/x86//kernel/traps.c:15:
>> arch/x86/include/asm/current.h:13:44: error: inlining failed in call to always_inline 'get_current': function attribute mismatch
static __always_inline struct task_struct *get_current(void)
^~~~~~~~~~~
arch/x86/include/asm/current.h:18:17: note: called from here
#define current get_current()
^~~~~~~~~~~~~
include/linux/lockdep.h:304:2: note: in expansion of macro 'current'
current->lockdep_recursion += LOCKDEP_OFF; \
^~~~~~~
include/linux/hardirq.h:84:3: note: in expansion of macro 'lockdep_off'
lockdep_off(); \
^~~~~~~~~~~
arch/x86//kernel/traps.c:521:2: note: in expansion of macro 'nmi_enter'
nmi_enter();
^~~~~~~~~
>> arch/x86/include/asm/current.h:13:44: error: inlining failed in call to always_inline 'get_current': function attribute mismatch
static __always_inline struct task_struct *get_current(void)
^~~~~~~~~~~
arch/x86/include/asm/current.h:18:17: note: called from here
#define current get_current()
^~~~~~~~~~~~~
include/linux/irqflags.h:40:2: note: in expansion of macro 'current'
current->hardirq_context++; \
^~~~~~~
include/linux/hardirq.h:89:3: note: in expansion of macro 'trace_hardirq_enter'
trace_hardirq_enter(); \
^~~~~~~~~~~~~~~~~~~
arch/x86//kernel/traps.c:521:2: note: in expansion of macro 'nmi_enter'
nmi_enter();
^~~~~~~~~
In file included from include/linux/preempt.h:78:0,
from include/linux/rcupdate.h:27,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/context_tracking.h:5,
from arch/x86//kernel/traps.c:15:
arch/x86/include/asm/preempt.h:77:29: error: inlining failed in call to always_inline '__preempt_count_add': function attribute mismatch
static __always_inline void __preempt_count_add(int val)
^~~~~~~~~~~~~~~~~~~
In file included from include/linux/interrupt.h:11:0,
from arch/x86//kernel/traps.c:16:
include/linux/hardirq.h:87:3: note: called from here
__preempt_count_add(NMI_OFFSET + HARDIRQ_OFFSET); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86//kernel/traps.c:521:2: note: in expansion of macro 'nmi_enter'
nmi_enter();
^~~~~~~~~
In file included from include/linux/preempt.h:78:0,
from include/linux/rcupdate.h:27,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/context_tracking.h:5,
from arch/x86//kernel/traps.c:15:
>> arch/x86/include/asm/preempt.h:24:28: error: inlining failed in call to always_inline 'preempt_count': function attribute mismatch
static __always_inline int preempt_count(void)
^~~~~~~~~~~~~
In file included from arch/x86/include/asm/current.h:5:0,
from include/linux/sched.h:12,
from include/linux/context_tracking.h:5,
from arch/x86//kernel/traps.c:15:
include/linux/preempt.h:102:20: note: called from here
#define in_nmi() (preempt_count() & NMI_MASK)
^~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/hardirq.h:96:3: note: in expansion of macro 'BUG_ON'
BUG_ON(!in_nmi()); \
^~~~~~
include/linux/hardirq.h:96:11: note: in expansion of macro 'in_nmi'
BUG_ON(!in_nmi()); \
^~~~~~
arch/x86//kernel/traps.c:543:2: note: in expansion of macro 'nmi_exit'
nmi_exit();
^~~~~~~~
In file included from include/linux/sched.h:12:0,
from include/linux/context_tracking.h:5,
from arch/x86//kernel/traps.c:15:
>> arch/x86/include/asm/current.h:13:44: error: inlining failed in call to always_inline 'get_current': function attribute mismatch
static __always_inline struct task_struct *get_current(void)
^~~~~~~~~~~
arch/x86/include/asm/current.h:18:17: note: called from here
#define current get_current()
^~~~~~~~~~~~~
include/linux/irqflags.h:44:2: note: in expansion of macro 'current'
current->hardirq_context--; \
^~~~~~~
include/linux/hardirq.h:94:3: note: in expansion of macro 'trace_hardirq_exit'
trace_hardirq_exit(); \
^~~~~~~~~~~~~~~~~~
arch/x86//kernel/traps.c:543:2: note: in expansion of macro 'nmi_exit'
nmi_exit();
^~~~~~~~
>> arch/x86/include/asm/current.h:13:44: error: inlining failed in call to always_inline 'get_current': function attribute mismatch
static __always_inline struct task_struct *get_current(void)
^~~~~~~~~~~
arch/x86/include/asm/current.h:18:17: note: called from here
#define current get_current()
^~~~~~~~~~~~~
include/linux/lockdep.h:309:2: note: in expansion of macro 'current'
current->lockdep_recursion -= LOCKDEP_OFF; \
^~~~~~~
include/linux/hardirq.h:99:3: note: in expansion of macro 'lockdep_on'
lockdep_on(); \
^~~~~~~~~~
arch/x86//kernel/traps.c:543:2: note: in expansion of macro 'nmi_exit'
nmi_exit();
^~~~~~~~
In file included from include/linux/hardirq.h:7:0,
from include/linux/interrupt.h:11,
from arch/x86//kernel/traps.c:16:
>> include/linux/ftrace_irq.h:18:29: error: inlining failed in call to always_inline 'ftrace_nmi_exit': function attribute mismatch
static __always_inline void ftrace_nmi_exit(void)
^~~~~~~~~~~~~~~
In file included from include/linux/interrupt.h:11:0,
from arch/x86//kernel/traps.c:16:
include/linux/hardirq.h:98:3: note: called from here
ftrace_nmi_exit(); \
^~~~~~~~~~~~~~~~~
arch/x86//kernel/traps.c:543:2: note: in expansion of macro 'nmi_exit'
nmi_exit();
^~~~~~~~
In file included from include/linux/preempt.h:78:0,
from include/linux/rcupdate.h:27,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/context_tracking.h:5,
from arch/x86//kernel/traps.c:15:
arch/x86/include/asm/preempt.h:82:29: error: inlining failed in call to always_inline '__preempt_count_sub': function attribute mismatch
static __always_inline void __preempt_count_sub(int val)
^~~~~~~~~~~~~~~~~~~
In file included from include/linux/interrupt.h:11:0,
from arch/x86//kernel/traps.c:16:
include/linux/hardirq.h:97:3: note: called from here
__preempt_count_sub(NMI_OFFSET + HARDIRQ_OFFSET); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86//kernel/traps.c:543:2: note: in expansion of macro 'nmi_exit'
nmi_exit();
^~~~~~~~
..
vim +/try_get_desc +961 arch/x86/kernel/alternative.c
1f676247f36a4b Peter Zijlstra 2019-12-11 959
809106a6157bce Thomas Gleixner 2020-01-21 960 static __always_inline
809106a6157bce Thomas Gleixner 2020-01-21 @961 struct bp_patching_desc *try_get_desc(struct bp_patching_desc **descp)
1f676247f36a4b Peter Zijlstra 2019-12-11 962 {
a9d380bd4091e7 Peter Zijlstra 2020-01-24 963 struct bp_patching_desc *desc = READ_ONCE_NOCHECK(*descp); /* rcu_dereference */
1f676247f36a4b Peter Zijlstra 2019-12-11 964
a9d380bd4091e7 Peter Zijlstra 2020-01-24 965 if (!desc || !arch_atomic_inc_not_zero(&desc->refs))
1f676247f36a4b Peter Zijlstra 2019-12-11 966 return NULL;
1f676247f36a4b Peter Zijlstra 2019-12-11 967
1f676247f36a4b Peter Zijlstra 2019-12-11 968 return desc;
1f676247f36a4b Peter Zijlstra 2019-12-11 969 }
1f676247f36a4b Peter Zijlstra 2019-12-11 970
809106a6157bce Thomas Gleixner 2020-01-21 @971 static __always_inline void put_desc(struct bp_patching_desc *desc)
1f676247f36a4b Peter Zijlstra 2019-12-11 972 {
1f676247f36a4b Peter Zijlstra 2019-12-11 973 smp_mb__before_atomic();
a9d380bd4091e7 Peter Zijlstra 2020-01-24 974 arch_atomic_dec(&desc->refs);
1f676247f36a4b Peter Zijlstra 2019-12-11 975 }
c0213b0ac03cf6 Daniel Bristot de Oliveira 2019-06-12 976
:::::: The code at line 961 was first introduced by commit
:::::: 809106a6157bce0fff76bfc7864e7ce34080abe0 x86/int3: Ensure that poke_int3_handler() is not traced
:::::: TO: Thomas Gleixner <tglx(a)linutronix.de>
:::::: CC: Peter Zijlstra <peterz(a)infradead.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 3 weeks
Re: [PATCH v6 2/7] mm: introduce external memory hinting API
by kbuild test robot
Hi Minchan,
I love your patch! Perhaps something to improve:
[auto build test WARNING on m68k/for-next]
[also build test WARNING on powerpc/next s390/features linus/master v5.6-rc2 next-20200220]
[cannot apply to arm64/for-next/core tip/x86/asm arm/for-next hp-parisc/for-next]
[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/Minchan-Kim/introduce-memory-hin...
base: https://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git for-next
config: nds32-randconfig-a001-20200220 (attached as .config)
compiler: nds32le-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=nds32
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 arch/nds32/include/uapi/asm/unistd.h:10,
from arch/nds32/include/asm/unistd.h:6,
from arch/nds32/kernel/vdso/sigreturn.S:6:
>> include/uapi/asm-generic/unistd.h:858: warning: "__NR_pidfd_getfd" redefined
858 | #define __NR_pidfd_getfd 439
|
include/uapi/asm-generic/unistd.h:856: note: this is the location of the previous definition
856 | #define __NR_pidfd_getfd 438
|
--
In file included from arch/nds32/include/uapi/asm/unistd.h:10,
from arch/nds32/include/asm/unistd.h:6,
from <stdin>:2:
>> include/uapi/asm-generic/unistd.h:858: warning: "__NR_pidfd_getfd" redefined
858 | #define __NR_pidfd_getfd 439
|
include/uapi/asm-generic/unistd.h:856: note: this is the location of the previous definition
856 | #define __NR_pidfd_getfd 438
|
<stdin>:1511:2: warning: #warning syscall clone3 not implemented [-Wcpp]
>> <stdin>:1520:2: warning: #warning syscall process_madvise not implemented [-Wcpp]
--
In file included from arch/nds32/include/uapi/asm/unistd.h:10,
from arch/nds32/include/asm/unistd.h:6,
from <stdin>:2:
>> include/uapi/asm-generic/unistd.h:858: warning: "__NR_pidfd_getfd" redefined
858 | #define __NR_pidfd_getfd 439
|
include/uapi/asm-generic/unistd.h:856: note: this is the location of the previous definition
856 | #define __NR_pidfd_getfd 438
|
<stdin>:1511:2: warning: #warning syscall clone3 not implemented [-Wcpp]
>> <stdin>:1520:2: warning: #warning syscall process_madvise not implemented [-Wcpp]
16 real 2 user 4 sys 39.01% cpu make modules_prepare
--
In file included from arch/nds32/include/uapi/asm/unistd.h:10,
from arch/nds32/include/asm/unistd.h:6,
from <stdin>:2:
>> include/uapi/asm-generic/unistd.h:858: warning: "__NR_pidfd_getfd" redefined
858 | #define __NR_pidfd_getfd 439
|
include/uapi/asm-generic/unistd.h:856: note: this is the location of the previous definition
856 | #define __NR_pidfd_getfd 438
|
<stdin>:1511:2: warning: #warning syscall clone3 not implemented [-Wcpp]
>> <stdin>:1520:2: warning: #warning syscall process_madvise not implemented [-Wcpp]
In file included from arch/nds32/include/uapi/asm/unistd.h:10,
from arch/nds32/include/asm/unistd.h:6,
from arch/nds32/kernel/vdso/sigreturn.S:6:
>> include/uapi/asm-generic/unistd.h:858: warning: "__NR_pidfd_getfd" redefined
858 | #define __NR_pidfd_getfd 439
|
include/uapi/asm-generic/unistd.h:856: note: this is the location of the previous definition
856 | #define __NR_pidfd_getfd 438
|
In file included from arch/nds32/include/uapi/asm/unistd.h:10,
from arch/nds32/include/asm/unistd.h:6,
from arch/nds32/kernel/vdso/gettimeofday.c:11:
>> include/uapi/asm-generic/unistd.h:858: warning: "__NR_pidfd_getfd" redefined
858 | #define __NR_pidfd_getfd 439
|
include/uapi/asm-generic/unistd.h:856: note: this is the location of the previous definition
856 | #define __NR_pidfd_getfd 438
|
17 real 4 user 6 sys 59.28% cpu make prepare
vim +/__NR_pidfd_getfd +858 include/uapi/asm-generic/unistd.h
853
854 #define __NR_openat2 437
855 __SYSCALL(__NR_openat2, sys_openat2)
856 #define __NR_pidfd_getfd 438
857 __SYSCALL(__NR_pidfd_getfd, sys_pidfd_getfd)
> 858 #define __NR_pidfd_getfd 439
859 __SYSCALL(__NR_process_madvise, sys_process_madvise)
860
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 3 weeks
[linux-review:UPDATE-20200221-182711/Peter-Zijlstra/tracing-vs-world/20200221-114341 1/22] arch/powerpc/kernel/traps.c:846:7: error: 'nested' undeclared; did you mean 'net'?
by kbuild test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20200221-182711/Peter-Zij...
head: f4dfc8a95f29bf28eda9253734e8f6ffdc0c3d97
commit: 6d6e966e8cdfa647eb598e266414c176f6749010 [1/22] hardirq/nmi: Allow nested nmi_enter()
config: powerpc-mpc8313_rdb_defconfig (attached as .config)
compiler: powerpc-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
git checkout 6d6e966e8cdfa647eb598e266414c176f6749010
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=powerpc
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/powerpc/kernel/traps.c: In function 'machine_check_exception':
>> arch/powerpc/kernel/traps.c:846:7: error: 'nested' undeclared (first use in this function); did you mean 'net'?
if (!nested)
^~~~~~
net
arch/powerpc/kernel/traps.c:846:7: note: each undeclared identifier is reported only once for each function it appears in
vim +846 arch/powerpc/kernel/traps.c
75918a4b5998c9 Olof Johansson 2007-09-21 815
75918a4b5998c9 Olof Johansson 2007-09-21 816 void machine_check_exception(struct pt_regs *regs)
75918a4b5998c9 Olof Johansson 2007-09-21 817 {
75918a4b5998c9 Olof Johansson 2007-09-21 818 int recover = 0;
6d6e966e8cdfa6 Peter Zijlstra 2020-02-19 819
b96672dd840f22 Nicholas Piggin 2017-07-19 820 nmi_enter();
75918a4b5998c9 Olof Johansson 2007-09-21 821
69111bac42f5ce Christoph Lameter 2014-10-21 822 __this_cpu_inc(irq_stat.mce_exceptions);
89713ed1081540 Anton Blanchard 2010-01-31 823
d93b0ac01a9ce2 Mahesh Salgaonkar 2017-04-18 824 add_taint(TAINT_MACHINE_CHECK, LOCKDEP_NOW_UNRELIABLE);
d93b0ac01a9ce2 Mahesh Salgaonkar 2017-04-18 825
47c0bd1ae24c34 Benjamin Herrenschmidt 2007-12-21 826 /* See if any machine dependent calls. In theory, we would want
47c0bd1ae24c34 Benjamin Herrenschmidt 2007-12-21 827 * to call the CPU first, and call the ppc_md. one if the CPU
47c0bd1ae24c34 Benjamin Herrenschmidt 2007-12-21 828 * one returns a positive number. However there is existing code
47c0bd1ae24c34 Benjamin Herrenschmidt 2007-12-21 829 * that assumes the board gets a first chance, so let's keep it
47c0bd1ae24c34 Benjamin Herrenschmidt 2007-12-21 830 * that way for now and fix things later. --BenH.
47c0bd1ae24c34 Benjamin Herrenschmidt 2007-12-21 831 */
75918a4b5998c9 Olof Johansson 2007-09-21 832 if (ppc_md.machine_check_exception)
75918a4b5998c9 Olof Johansson 2007-09-21 833 recover = ppc_md.machine_check_exception(regs);
47c0bd1ae24c34 Benjamin Herrenschmidt 2007-12-21 834 else if (cur_cpu_spec->machine_check)
47c0bd1ae24c34 Benjamin Herrenschmidt 2007-12-21 835 recover = cur_cpu_spec->machine_check(regs);
75918a4b5998c9 Olof Johansson 2007-09-21 836
47c0bd1ae24c34 Benjamin Herrenschmidt 2007-12-21 837 if (recover > 0)
ba12eedee321ee Li Zhong 2013-05-13 838 goto bail;
75918a4b5998c9 Olof Johansson 2007-09-21 839
a443506b8598bb Anton Blanchard 2011-01-11 840 if (debugger_fault_handler(regs))
ba12eedee321ee Li Zhong 2013-05-13 841 goto bail;
75918a4b5998c9 Olof Johansson 2007-09-21 842
75918a4b5998c9 Olof Johansson 2007-09-21 843 if (check_io_access(regs))
ba12eedee321ee Li Zhong 2013-05-13 844 goto bail;
75918a4b5998c9 Olof Johansson 2007-09-21 845
daf00ae71dad8a Christophe Leroy 2018-10-13 @846 if (!nested)
daf00ae71dad8a Christophe Leroy 2018-10-13 847 nmi_exit();
daf00ae71dad8a Christophe Leroy 2018-10-13 848
daf00ae71dad8a Christophe Leroy 2018-10-13 849 die("Machine check", regs, SIGBUS);
daf00ae71dad8a Christophe Leroy 2018-10-13 850
0bbea75c476b77 Christophe Leroy 2019-01-22 851 /* Must die if the interrupt is not recoverable */
0bbea75c476b77 Christophe Leroy 2019-01-22 852 if (!(regs->msr & MSR_RI))
0bbea75c476b77 Christophe Leroy 2019-01-22 853 nmi_panic(regs, "Unrecoverable Machine check");
0bbea75c476b77 Christophe Leroy 2019-01-22 854
daf00ae71dad8a Christophe Leroy 2018-10-13 855 return;
daf00ae71dad8a Christophe Leroy 2018-10-13 856
ba12eedee321ee Li Zhong 2013-05-13 857 bail:
b96672dd840f22 Nicholas Piggin 2017-07-19 858 nmi_exit();
14cf11af6cf608 Paul Mackerras 2005-09-26 859 }
14cf11af6cf608 Paul Mackerras 2005-09-26 860
:::::: The code at line 846 was first introduced by commit
:::::: daf00ae71dad8aa05965713c62558aeebf2df48e powerpc/traps: restore recoverability of machine_check interrupts
:::::: TO: Christophe Leroy <christophe.leroy(a)c-s.fr>
:::::: CC: Michael Ellerman <mpe(a)ellerman.id.au>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 3 weeks
[djwong-xfs:online-fsuuid-ops 171/173] ./usr/include/linux/fs.h:143:2: error: unknown type name 'uint32_t'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git online-fsuuid-ops
head: 8ba53cec9e21583583121dbf00e661051371c35f
commit: 4bf40510d99839ff689cf55e160013b80622801f [171/173] vfs: create ioctls to query and set the filesystem uuids
config: x86_64-randconfig-s2-20200229 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.2-10+deb8u1) 4.9.2
reproduce:
git checkout 4bf40510d99839ff689cf55e160013b80622801f
# 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 ./usr/include/linux/romfs_fs.h:6:0,
from <command-line>:1:
>> ./usr/include/linux/fs.h:143:2: error: unknown type name 'uint32_t'
uint32_t fu_flags;
^
>> ./usr/include/linux/fs.h:144:2: error: unknown type name 'uint16_t'
uint16_t fu_length;
^
./usr/include/linux/fs.h:145:2: error: unknown type name 'uint16_t'
uint16_t fu_reserved;
^
>> ./usr/include/linux/fs.h:146:2: error: unknown type name 'uint64_t'
uint64_t fu_reserved1;
^
>> ./usr/include/linux/fs.h:157:19: error: unknown type name 'size_t'
static __inline__ size_t ioc_fsuuid_sizeof(size_t payload_len)
^
./usr/include/linux/fs.h:157:44: error: unknown type name 'size_t'
static __inline__ size_t ioc_fsuuid_sizeof(size_t payload_len)
^
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 4 weeks
Re: [PATCH v3 02/27] ata: expose ncq_enable_prio sysfs attribute only on NCQ capable hosts
by kbuild test robot
Hi Bartlomiej,
I love your patch! Perhaps something to improve:
[auto build test WARNING on block/for-next]
[also build test WARNING on mkp-scsi/for-next scsi/for-next v5.6-rc3 next-20200228]
[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/Bartlomiej-Zolnierkiewicz/ata-op...
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-173-ge0787745-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/ata/sata_dwc_460ex.c:1152:9: sparse: sparse: Initializer entry defined twice
>> drivers/ata/sata_dwc_460ex.c:1152:9: sparse: also defined here
vim +1152 drivers/ata/sata_dwc_460ex.c
a7e6de544c5c23 Christian Lamparter 2016-04-26 1147
62936009f35a66 Rupjyoti Sarmah 2010-07-06 1148 /*
62936009f35a66 Rupjyoti Sarmah 2010-07-06 1149 * scsi mid-layer and libata interface structures
62936009f35a66 Rupjyoti Sarmah 2010-07-06 1150 */
62936009f35a66 Rupjyoti Sarmah 2010-07-06 1151 static struct scsi_host_template sata_dwc_sht = {
62936009f35a66 Rupjyoti Sarmah 2010-07-06 @1152 ATA_NCQ_SHT(DRV_NAME),
62936009f35a66 Rupjyoti Sarmah 2010-07-06 1153 /*
62936009f35a66 Rupjyoti Sarmah 2010-07-06 1154 * test-only: Currently this driver doesn't handle NCQ
62936009f35a66 Rupjyoti Sarmah 2010-07-06 1155 * correctly. We enable NCQ but set the queue depth to a
62936009f35a66 Rupjyoti Sarmah 2010-07-06 1156 * max of 1. This will get fixed in in a future release.
62936009f35a66 Rupjyoti Sarmah 2010-07-06 1157 */
62936009f35a66 Rupjyoti Sarmah 2010-07-06 1158 .sg_tablesize = LIBATA_MAX_PRD,
d7c256e857c125 Andy Shevchenko 2015-01-07 1159 /* .can_queue = ATA_MAX_QUEUE, */
6689dfac00ef31 Andy Shevchenko 2016-04-26 1160 /*
6689dfac00ef31 Andy Shevchenko 2016-04-26 1161 * Make sure a LLI block is not created that will span 8K max FIS
6689dfac00ef31 Andy Shevchenko 2016-04-26 1162 * boundary. If the block spans such a FIS boundary, there is a chance
6689dfac00ef31 Andy Shevchenko 2016-04-26 1163 * that a DMA burst will cross that boundary -- this results in an
6689dfac00ef31 Andy Shevchenko 2016-04-26 1164 * error in the host controller.
6689dfac00ef31 Andy Shevchenko 2016-04-26 1165 */
6689dfac00ef31 Andy Shevchenko 2016-04-26 1166 .dma_boundary = 0x1fff /* ATA_DMA_BOUNDARY */,
62936009f35a66 Rupjyoti Sarmah 2010-07-06 1167 };
62936009f35a66 Rupjyoti Sarmah 2010-07-06 1168
:::::: The code at line 1152 was first introduced by commit
:::::: 62936009f35a6659cc3ebe0d90c754182d60da73 [libata] Add 460EX on-chip SATA driver, sata_dwc_460ex
:::::: TO: Rupjyoti Sarmah <rsarmah(a)amcc.com>
:::::: CC: Jeff Garzik <jgarzik(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 4 weeks
[meghadey-crypto:interrupt_message_store 4/6] include/linux/compiler.h:350:38: error: call to '__compiletime_assert_181' declared with attribute error: BUILD_BUG_ON failed: sizeof(*(&irte->high)) != sizeof(long)
by kbuild test robot
tree: https://github.com/meghadey/crypto interrupt_message_store
head: a93bce4a2486057c5520fe22717008aa251010c4
commit: 3c850d0bd6e64bdcc766786bbf7dee9cc844965c [4/6] drivers/base: Add support for a new IMS irq domain
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-5) 7.5.0
reproduce:
git checkout 3c850d0bd6e64bdcc766786bbf7dee9cc844965c
# 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//iommu/intel_irq_remapping.c: In function 'intel_ir_set_vcpu_affinity':
drivers//iommu/intel_irq_remapping.c:1243:12: warning: left shift count >= width of type [-Wshift-count-overflow]
~(-1UL << PDA_HIGH_BIT);
^~
In file included from include/linux/export.h:43:0,
from include/linux/linkage.h:7,
from include/linux/kernel.h:8,
from include/linux/interrupt.h:6,
from drivers//iommu/intel_irq_remapping.c:5:
drivers//iommu/intel_irq_remapping.c: In function 'modify_irte':
>> include/linux/compiler.h:350:38: error: call to '__compiletime_assert_181' declared with attribute error: BUILD_BUG_ON failed: sizeof(*(&irte->high)) != sizeof(long)
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^
include/linux/compiler.h:331:4: note: in definition of macro '__compiletime_assert'
prefix ## suffix(); \
^~~~~~
include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
^~~~~~~~~~~~~~~~
arch/x86/include/asm/cmpxchg.h:241:2: note: in expansion of macro 'BUILD_BUG_ON'
BUILD_BUG_ON(sizeof(*(p1)) != sizeof(long)); \
^~~~~~~~~~~~
arch/x86/include/asm/cmpxchg.h:256:2: note: in expansion of macro '__cmpxchg_double'
__cmpxchg_double(LOCK_PREFIX, p1, p2, o1, o2, n1, n2)
^~~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h:1776:2: note: in expansion of macro 'arch_cmpxchg_double'
arch_cmpxchg_double(__ai_ptr, __VA_ARGS__); \
^~~~~~~~~~~~~~~~~~~
drivers//iommu/intel_irq_remapping.c:179:9: note: in expansion of macro 'cmpxchg_double'
ret = cmpxchg_double(&irte->low, &irte->high,
^~~~~~~~~~~~~~
>> include/linux/compiler.h:350:38: error: call to '__compiletime_assert_181' declared with attribute error: BUILD_BUG_ON failed: sizeof(*(&irte->high)) != sizeof(long)
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^
include/linux/compiler.h:331:4: note: in definition of macro '__compiletime_assert'
prefix ## suffix(); \
^~~~~~
include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
^~~~~~~~~~~~~~~~
arch/x86/include/asm/cmpxchg.h:242:2: note: in expansion of macro 'BUILD_BUG_ON'
BUILD_BUG_ON(sizeof(*(p2)) != sizeof(long)); \
^~~~~~~~~~~~
arch/x86/include/asm/cmpxchg.h:256:2: note: in expansion of macro '__cmpxchg_double'
__cmpxchg_double(LOCK_PREFIX, p1, p2, o1, o2, n1, n2)
^~~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h:1776:2: note: in expansion of macro 'arch_cmpxchg_double'
arch_cmpxchg_double(__ai_ptr, __VA_ARGS__); \
^~~~~~~~~~~~~~~~~~~
drivers//iommu/intel_irq_remapping.c:179:9: note: in expansion of macro 'cmpxchg_double'
ret = cmpxchg_double(&irte->low, &irte->high,
^~~~~~~~~~~~~~
--
drivers/iommu/intel_irq_remapping.c: In function 'intel_ir_set_vcpu_affinity':
drivers/iommu/intel_irq_remapping.c:1243:12: warning: left shift count >= width of type [-Wshift-count-overflow]
~(-1UL << PDA_HIGH_BIT);
^~
In file included from include/linux/export.h:43:0,
from include/linux/linkage.h:7,
from include/linux/kernel.h:8,
from include/linux/interrupt.h:6,
from drivers/iommu/intel_irq_remapping.c:5:
drivers/iommu/intel_irq_remapping.c: In function 'modify_irte':
>> include/linux/compiler.h:350:38: error: call to '__compiletime_assert_181' declared with attribute error: BUILD_BUG_ON failed: sizeof(*(&irte->high)) != sizeof(long)
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^
include/linux/compiler.h:331:4: note: in definition of macro '__compiletime_assert'
prefix ## suffix(); \
^~~~~~
include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
^~~~~~~~~~~~~~~~
arch/x86/include/asm/cmpxchg.h:241:2: note: in expansion of macro 'BUILD_BUG_ON'
BUILD_BUG_ON(sizeof(*(p1)) != sizeof(long)); \
^~~~~~~~~~~~
arch/x86/include/asm/cmpxchg.h:256:2: note: in expansion of macro '__cmpxchg_double'
__cmpxchg_double(LOCK_PREFIX, p1, p2, o1, o2, n1, n2)
^~~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h:1776:2: note: in expansion of macro 'arch_cmpxchg_double'
arch_cmpxchg_double(__ai_ptr, __VA_ARGS__); \
^~~~~~~~~~~~~~~~~~~
drivers/iommu/intel_irq_remapping.c:179:9: note: in expansion of macro 'cmpxchg_double'
ret = cmpxchg_double(&irte->low, &irte->high,
^~~~~~~~~~~~~~
>> include/linux/compiler.h:350:38: error: call to '__compiletime_assert_181' declared with attribute error: BUILD_BUG_ON failed: sizeof(*(&irte->high)) != sizeof(long)
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^
include/linux/compiler.h:331:4: note: in definition of macro '__compiletime_assert'
prefix ## suffix(); \
^~~~~~
include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
^~~~~~~~~~~~~~~~
arch/x86/include/asm/cmpxchg.h:242:2: note: in expansion of macro 'BUILD_BUG_ON'
BUILD_BUG_ON(sizeof(*(p2)) != sizeof(long)); \
^~~~~~~~~~~~
arch/x86/include/asm/cmpxchg.h:256:2: note: in expansion of macro '__cmpxchg_double'
__cmpxchg_double(LOCK_PREFIX, p1, p2, o1, o2, n1, n2)
^~~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h:1776:2: note: in expansion of macro 'arch_cmpxchg_double'
arch_cmpxchg_double(__ai_ptr, __VA_ARGS__); \
^~~~~~~~~~~~~~~~~~~
drivers/iommu/intel_irq_remapping.c:179:9: note: in expansion of macro 'cmpxchg_double'
ret = cmpxchg_double(&irte->low, &irte->high,
^~~~~~~~~~~~~~
vim +/__compiletime_assert_181 +350 include/linux/compiler.h
9a8ab1c39970a4 Daniel Santos 2013-02-21 336
9a8ab1c39970a4 Daniel Santos 2013-02-21 337 #define _compiletime_assert(condition, msg, prefix, suffix) \
9a8ab1c39970a4 Daniel Santos 2013-02-21 338 __compiletime_assert(condition, msg, prefix, suffix)
9a8ab1c39970a4 Daniel Santos 2013-02-21 339
9a8ab1c39970a4 Daniel Santos 2013-02-21 340 /**
9a8ab1c39970a4 Daniel Santos 2013-02-21 341 * compiletime_assert - break build and emit msg if condition is false
9a8ab1c39970a4 Daniel Santos 2013-02-21 342 * @condition: a compile-time constant condition to check
9a8ab1c39970a4 Daniel Santos 2013-02-21 343 * @msg: a message to emit if condition is false
9a8ab1c39970a4 Daniel Santos 2013-02-21 344 *
9a8ab1c39970a4 Daniel Santos 2013-02-21 345 * In tradition of POSIX assert, this macro will break the build if the
9a8ab1c39970a4 Daniel Santos 2013-02-21 346 * supplied condition is *false*, emitting the supplied error message if the
9a8ab1c39970a4 Daniel Santos 2013-02-21 347 * compiler has support to do so.
9a8ab1c39970a4 Daniel Santos 2013-02-21 348 */
9a8ab1c39970a4 Daniel Santos 2013-02-21 349 #define compiletime_assert(condition, msg) \
9a8ab1c39970a4 Daniel Santos 2013-02-21 @350 _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
9a8ab1c39970a4 Daniel Santos 2013-02-21 351
:::::: The code at line 350 was first introduced by commit
:::::: 9a8ab1c39970a4938a72d94e6fd13be88a797590 bug.h, compiler.h: introduce compiletime_assert & BUILD_BUG_ON_MSG
:::::: TO: Daniel Santos <daniel.santos(a)pobox.com>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 4 weeks