Search Linux Wireless

Re: [RFC PATCHv5] mac80211: Add support for hardware ARP query filtering

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

 



On Thu, 2010-05-27 at 13:11 +0200, ext Johannes Berg wrote:
> On Thu, 2010-05-27 at 14:00 +0300, Juuso Oikarinen wrote:
> 
> [...]
> 
> > Signed-off-by: Juuso Oikarinen <juuso.oikarinen@xxxxxxxxx>
> > ---
> 
> Btw, a patch changelog after the --- would be good.
> 
> Like, for example,
> 
> v5: no changes, still don't fix interface type crash
> 
> 
> > +static int ieee80211_ifa_changed(struct notifier_block *nb,
> > +				 unsigned long data, void *arg)
> > +{
> > +	struct in_ifaddr *ifa = arg;
> > +	struct ieee80211_local *local =
> > +		container_of(nb, struct ieee80211_local,
> > +			     ifa_notifier);
> > +	struct net_device *ndev = ifa->ifa_dev->dev;
> > +	struct wireless_dev *wdev = ndev->ieee80211_ptr;
> > +	struct ieee80211_sub_if_data *sdata;
> > +	struct ieee80211_if_managed *ifmgd;
> > +
> > +	/* Make sure it's our interface that got changed */
> > +	if (!wdev)
> > +		return NOTIFY_DONE;
> > +
> > +	if (wdev->wiphy != local->hw.wiphy)
> > +		return NOTIFY_DONE;
> > +
> > +	/* We are concerned about IP addresses only when associated */
> > +	sdata = IEEE80211_DEV_TO_SUB_IF(ndev);
> > +	ifmgd = &sdata->u.mgd;
> > +	mutex_lock(&ifmgd->mtx);
> > +	if (ifmgd->associated)
> > +		ieee80211_set_arp_filter(sdata);
> > +	mutex_unlock(&ifmgd->mtx);
> > +
> > +	return NOTIFY_DONE;
> > +}
> 
> Ok ...
> 
> Was I not clear enough? I thought I was or you'd have asked, but I can
> spell it out too:
> 
>         This *will* crash if you use an interface of a type other than
>         managed/station. You need to check the interface type here and
>         document that the callback will only be invoked for managed mode
>         interfaces.

Hmm,

I'm sorry. This time I appear to have forgotten to commit :'(

I had added this:

        /* ARP filtering is only supported in managed mode */
        if (sdata->vif.type != NL80211_IFTYPE_STATION)
                return NOTIFY_DONE;

And even tested that with ad-hoc. I'll just have to go again.

-Juuso

> 
> johannes
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux