Search Linux Wireless

mac80211 qdisc bugs [Fwd: Re: [patch] d80211: use pfifo_qdisc_ops rather than d80211-specific qdisc]

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

 



Has anybody addressed these points yet? I don't understand much about
qdiscs myself... Add to todo list?

johannes

-------- Forwarded Message --------
> From: Patrick McHardy <kaber@xxxxxxxxx>
> To: David Kimdon <david.kimdon@xxxxxxxxxxxxxxx>
> Cc: netdev@xxxxxxxxxxxxxxx, John W. Linville <linville@xxxxxxxxxxxxx>,
> Jiri Benc <jbenc@xxxxxxx>
> Subject: Re: [patch] d80211: use pfifo_qdisc_ops rather than
> d80211-specific qdisc
> Date: Thu, 26 Oct 2006 03:21:10 +0200

[...]

> BTW, I noticed a few bugs while looking at the qdisc handling in
> wireless-dev:
> 
> - wme_qdiscop_enqueue doesn't increment q.qlen for packets queued
>   to q->requeued[], which might cause upper layer code to stop
>   dequeueing if q.qlen reaches zero.
> 
> - classify_1d doesn't care about tc_classify return values.
>   tc_classify may decide to steal packets, drop them, etc. In case
>   of stolen packets this causes use-after-free, otherwise just
>   malfunctions.
> 
> - classify_1d returns res.class if it is != -1, which can never happen
>   (except with an empty classifier list because of the explicit
>   initialization, but you should check the return code) since ->get()
>   and ->bind_tcf() both return 0 for invalid classes and the classid
>   otherwise. There's also an off-by-one, classids start at one, so it
>   should return res.class - 1 (or better res.classid - 1, which is
>   meant to be a numerical identifier).
> 
> - wme_discop_destroy leaks classifier module references and memory
>   when destroying classifiers, it should use tcf_destroy()
> 
> Considering that it is possibly and may be desirable to attach a
> different qdisc than the built-in multiband qdisc, it might also
> make sense to split the 80211 specific classification in a seperate
> classifier module to allow simple classification of management traffic
> with other qdiscs.

Attachment: signature.asc
Description: This is a digitally signed message part


[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