The source code is static int ieee80211_set_mcast_rate(struct wiphy *wiphy, struct net_device *dev, int rate[IEEE80211_NUM_BANDS]) { struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); memcpy(sdata->vif.bss_conf.mcast_rate, rate, sizeof(rate)); The compiler says cfg.c: In function ‘int ieee80211_set_mcast_rate(wiphy*, net_device*, int*)’: cfg.c:1995: warning: argument to ‘sizeof’ in ‘void* memcpy(void*, const void*, size_t)’ call is the same expression as the source; did you mean to dereference it? [-Wsizeof-pointer-memaccess] memcpy(rate2, rate, sizeof(rate)); ^ Here is static analyser cppcheck also finding the same problem [linux-3.8-rc1/net/mac80211/cfg.c:1995]: (error) Using 'sizeof' on array given as function argument returns size of a pointer. Suggest code rework.