tree: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master head: 7ea3e110f2f8ba23f330c2f702f556acd539bcb8 commit: 7ea3e110f2f8ba23f330c2f702f556acd539bcb8 [20/20] cfg80211: release station info tidstats where needed reproduce: # apt-get install sparse git checkout 7ea3e110f2f8ba23f330c2f702f556acd539bcb8 make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> net/wireless/nl80211.c:4802:48: sparse: incorrect type in argument 1 (different base types) @@ expected struct station_info *sinfo @@ got struct statiostruct station_info *sinfo @@ net/wireless/nl80211.c:4802:48: expected struct station_info *sinfo net/wireless/nl80211.c:4802:48: got struct station_info [addressable] sinfo net/wireless/nl80211.c:7587:33: sparse: expression using sizeof(void) net/wireless/nl80211.c:7587:33: sparse: expression using sizeof(void) net/wireless/nl80211.c: In function 'nl80211_get_station': net/wireless/nl80211.c:4802:34: error: incompatible type for argument 1 of 'cfg80211_sinfo_release_content' cfg80211_sinfo_release_content(sinfo); ^~~~~ In file included from net/wireless/nl80211.c:24:0: include/net/cfg80211.h:5721:20: note: expected 'struct station_info *' but argument is of type 'struct station_info' static inline void cfg80211_sinfo_release_content(struct station_info *sinfo) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +4802 net/wireless/nl80211.c 4776 4777 static int nl80211_get_station(struct sk_buff *skb, struct genl_info *info) 4778 { 4779 struct cfg80211_registered_device *rdev = info->user_ptr[0]; 4780 struct net_device *dev = info->user_ptr[1]; 4781 struct station_info sinfo; 4782 struct sk_buff *msg; 4783 u8 *mac_addr = NULL; 4784 int err; 4785 4786 memset(&sinfo, 0, sizeof(sinfo)); 4787 4788 if (!info->attrs[NL80211_ATTR_MAC]) 4789 return -EINVAL; 4790 4791 mac_addr = nla_data(info->attrs[NL80211_ATTR_MAC]); 4792 4793 if (!rdev->ops->get_station) 4794 return -EOPNOTSUPP; 4795 4796 err = rdev_get_station(rdev, dev, mac_addr, &sinfo); 4797 if (err) 4798 return err; 4799 4800 msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL); 4801 if (!msg) { > 4802 cfg80211_sinfo_release_content(sinfo); 4803 return -ENOMEM; 4804 } 4805 4806 if (nl80211_send_station(msg, NL80211_CMD_NEW_STATION, 4807 info->snd_portid, info->snd_seq, 0, 4808 rdev, dev, mac_addr, &sinfo) < 0) { 4809 nlmsg_free(msg); 4810 return -ENOBUFS; 4811 } 4812 4813 return genlmsg_reply(msg, info); 4814 } 4815 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation