Search Linux Wireless

Re: Broken fragmentation

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

 



On Thu, 2008-06-19 at 16:08 +0300, Tomas Winkler wrote:
> On Thu, Jun 19, 2008 at 3:23 PM, Johannes Berg
> <johannes@xxxxxxxxxxxxxxxx> wrote:
> >
> >> > Now it crashes in the driver...maybe the txinfo to cb changes. Looking into it.
> >> > Tomas
> >> Looks like this is the second part keyconf is null
> >
> > Part? You mean fragment? What encryption algorithm? I've quickly looked
> > and all of them seem to do the control.hw_key assignment in their
> > respective _skb handler so it should be done for all fragments.
> 
> The problem is w/o crypto
> I think this is not set on each fragment
> info->flags |= IEEE80211_TX_CTL_DO_NOT_ENCRYPT;

Ouch, you're right, the whole tx info isn't properly initialised for
fragments.

Can you try putting

memcpy(frag->cb, first->cb, sizeof(first->cb));

at around line 690 of tx.c where this code is?

                frag->priority = first->priority;
                skb_reserve(frag, tx->local->tx_headroom +
                                  IEEE80211_ENCRYPT_HEADROOM);


[now I know what the cause is. I had another patch that used skb_segment
to do the fragmentation, but that was dropped and skb_segment does copy
skb->cb while our code doesn't]

johannes

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