Search Linux Wireless

Re: kernel page fault in r8712u

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

 



On 05/16/2015 12:16 PM, Haggai Eran wrote:
On 16 May 2015 at 17:57, Larry Finger <Larry.Finger@xxxxxxxxxxxx> wrote:
The problem appears to be from r8712u. From the stack dump, the problem
happens when r8712_free_recvframe() calls __dev_kfree_skb_any(). A
complication is that my copy of the kernel source does not show such a call.
:(

Please use gdb to help with the debugging. From the main directory of your
source, enter the command 'gdb drivers/staging/rtl8712/r8712u.ko'. Once it
prompts you, enter 'l *r8712_free_recvframe+0x2c'. The first character is
ell, not one. That will show the actual line of code. Please post that info.

Here's what I get:

(gdb) l *r8712_free_recvframe+0x2c
0x16714 is in r8712_free_recvframe (drivers/staging/rtl8712/rtl8712_recv.c:145).
140             struct _adapter *padapter = precvframe->u.hdr.adapter;
141             struct recv_priv *precvpriv = &padapter->recvpriv;
142
143             if (precvframe->u.hdr.pkt) {
144
dev_kfree_skb_any(precvframe->u.hdr.pkt);/*free skb by driver*/
145                     precvframe->u.hdr.pkt = NULL;
146             }
147             spin_lock_irqsave(&pfree_recv_queue->lock, irqL);
148             list_del_init(&(precvframe->u.hdr.list));
149             list_add_tail(&(precvframe->u.hdr.list),
&pfree_recv_queue->queue);

It seems that dev_kfree_skb_any is an inline function that calls
__dev_kfree_skb_any,
so that should explain why that call didn't show up in the stack dump.

Thanks. From your original posting, the bad address for precvframe->u.hdr.pkt is a9d797d7. I'm a little bothered by that odd address. I would have expected it to be even, at least. The actual definition should be OK with the alignment, but there are a number of places where there is a cast. If the alignment of the object of the cast is wrong, then that might cause the problem. It will take a while to trace back through your call chain to see if any of these are involved here.

I will be back to you later.

Larry


--
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 Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux