Search Linux Wireless

Re: [PATCH] cfg80211: size various nl80211 messages correctly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Johannes,

[auto build test ERROR on mac80211-next/master]
[also build test ERROR on v4.10-rc3 next-20170106]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Johannes-Berg/cfg80211-size-various-nl80211-messages-correctly/20170109-185808
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
config: x86_64-kexec (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   net/wireless/nl80211.c: In function 'nl80211_michael_mic_failure':
>> net/wireless/nl80211.c:13365:24: error: 'req_ie_len' undeclared (first use in this function)
     msg = nlmsg_new(100 + req_ie_len + resp_ie_len, gfp);
                           ^~~~~~~~~~
   net/wireless/nl80211.c:13365:24: note: each undeclared identifier is reported only once for each function it appears in
>> net/wireless/nl80211.c:13365:37: error: 'resp_ie_len' undeclared (first use in this function)
     msg = nlmsg_new(100 + req_ie_len + resp_ie_len, gfp);
                                        ^~~~~~~~~~~
   net/wireless/nl80211.c: In function 'nl80211_send_remain_on_chan_event':
>> net/wireless/nl80211.c:13459:24: error: 'len' undeclared (first use in this function)
     msg = nlmsg_new(100 + len, gfp);
                           ^~~
   net/wireless/nl80211.c: In function 'nl80211_ch_switch_notify':
   net/wireless/nl80211.c:14049:24: error: 'req_ie_len' undeclared (first use in this function)
     msg = nlmsg_new(100 + req_ie_len + resp_ie_len, gfp);
                           ^~~~~~~~~~
   net/wireless/nl80211.c:14049:37: error: 'resp_ie_len' undeclared (first use in this function)
     msg = nlmsg_new(100 + req_ie_len + resp_ie_len, gfp);
                                        ^~~~~~~~~~~

vim +/req_ie_len +13365 net/wireless/nl80211.c

 13359					 enum nl80211_key_type key_type, int key_id,
 13360					 const u8 *tsc, gfp_t gfp)
 13361	{
 13362		struct sk_buff *msg;
 13363		void *hdr;
 13364	
 13365		msg = nlmsg_new(100 + req_ie_len + resp_ie_len, gfp);
 13366		if (!msg)
 13367			return;
 13368	
 13369		hdr = nl80211hdr_put(msg, 0, 0, 0, NL80211_CMD_MICHAEL_MIC_FAILURE);
 13370		if (!hdr) {
 13371			nlmsg_free(msg);
 13372			return;
 13373		}
 13374	
 13375		if (nla_put_u32(msg, NL80211_ATTR_WIPHY, rdev->wiphy_idx) ||
 13376		    nla_put_u32(msg, NL80211_ATTR_IFINDEX, netdev->ifindex) ||
 13377		    (addr && nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, addr)) ||
 13378		    nla_put_u32(msg, NL80211_ATTR_KEY_TYPE, key_type) ||
 13379		    (key_id != -1 &&
 13380		     nla_put_u8(msg, NL80211_ATTR_KEY_IDX, key_id)) ||
 13381		    (tsc && nla_put(msg, NL80211_ATTR_KEY_SEQ, 6, tsc)))
 13382			goto nla_put_failure;
 13383	
 13384		genlmsg_end(msg, hdr);
 13385	
 13386		genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
 13387					NL80211_MCGRP_MLME, gfp);
 13388		return;
 13389	
 13390	 nla_put_failure:
 13391		genlmsg_cancel(msg, hdr);
 13392		nlmsg_free(msg);
 13393	}
 13394	
 13395	void nl80211_send_beacon_hint_event(struct wiphy *wiphy,
 13396					    struct ieee80211_channel *channel_before,
 13397					    struct ieee80211_channel *channel_after)
 13398	{
 13399		struct sk_buff *msg;
 13400		void *hdr;
 13401		struct nlattr *nl_freq;
 13402	
 13403		msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_ATOMIC);
 13404		if (!msg)
 13405			return;
 13406	
 13407		hdr = nl80211hdr_put(msg, 0, 0, 0, NL80211_CMD_REG_BEACON_HINT);
 13408		if (!hdr) {
 13409			nlmsg_free(msg);
 13410			return;
 13411		}
 13412	
 13413		/*
 13414		 * Since we are applying the beacon hint to a wiphy we know its
 13415		 * wiphy_idx is valid
 13416		 */
 13417		if (nla_put_u32(msg, NL80211_ATTR_WIPHY, get_wiphy_idx(wiphy)))
 13418			goto nla_put_failure;
 13419	
 13420		/* Before */
 13421		nl_freq = nla_nest_start(msg, NL80211_ATTR_FREQ_BEFORE);
 13422		if (!nl_freq)
 13423			goto nla_put_failure;
 13424		if (nl80211_msg_put_channel(msg, channel_before, false))
 13425			goto nla_put_failure;
 13426		nla_nest_end(msg, nl_freq);
 13427	
 13428		/* After */
 13429		nl_freq = nla_nest_start(msg, NL80211_ATTR_FREQ_AFTER);
 13430		if (!nl_freq)
 13431			goto nla_put_failure;
 13432		if (nl80211_msg_put_channel(msg, channel_after, false))
 13433			goto nla_put_failure;
 13434		nla_nest_end(msg, nl_freq);
 13435	
 13436		genlmsg_end(msg, hdr);
 13437	
 13438		rcu_read_lock();
 13439		genlmsg_multicast_allns(&nl80211_fam, msg, 0,
 13440					NL80211_MCGRP_REGULATORY, GFP_ATOMIC);
 13441		rcu_read_unlock();
 13442	
 13443		return;
 13444	
 13445	nla_put_failure:
 13446		genlmsg_cancel(msg, hdr);
 13447		nlmsg_free(msg);
 13448	}
 13449	
 13450	static void nl80211_send_remain_on_chan_event(
 13451		int cmd, struct cfg80211_registered_device *rdev,
 13452		struct wireless_dev *wdev, u64 cookie,
 13453		struct ieee80211_channel *chan,
 13454		unsigned int duration, gfp_t gfp)
 13455	{
 13456		struct sk_buff *msg;
 13457		void *hdr;
 13458	
 13459		msg = nlmsg_new(100 + len, gfp);
 13460		if (!msg)
 13461			return;
 13462	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux