Hi, Kernel Crash, while receiving packet because of skb_reserve. --------------------------------------------------------------------- Problem 1 ------------ Configuration : Processor : MPC-852 SCC configured as Synchronous HDLC. Data Link Layers : PPP or LAPD. We receive packets over the synchronous HDLC device. SKB is preallocated and is assigned to the buffer descriptors of the scc driver. skb of MAX_SIZE(1560) is allocated each time. Provision of 8 such buffers is possible. As soon as data arrives over the synchronous HDLC link, processor fills the available buffer descriptor and raises receive interrupt. The filled skb is passed to PPP or LAPD for further processing. By default skb alloc provides a header space of 16. If we don't need any extra space, the PPP/LAPD links works fine with no crash. Now we need extra space in the skb, so we added a skb_reserve(40) after the allocation. The PPP links works fine, but it is obeserved that on a On fiber reinsertion for LAPD link between two nodes, kernel crashes after sometime receiving few packets. The crash was observed in free_pages() called during dev_kfree_skb(). Before fiber reinsertion, the link worked fine and heavy data transfer was done over the link. But just after few seconds of fiber reinsertion, kernel crashed. Work Around -------------- We changed the skb_reserve(40) to skb_reserve(32) it seems to be working perfect. Problem 2. --------------- Configuration : Processor : MPC-8247 Quicc Multi Channel (QMC) Configured in HDLC Mode. Data Link Layers : PPP/LAPD With skb_reserve(32), we observed that the LAPD link works perfect. But a different crash was observed for PPP link. As soon as we start a heavy data transfer (ping of size > 1500 or ftp from node etc), the linux crashes in ip fragmentation/reassembly routine We changed the skb_reserve(32) to skb_reserve(16), and it seems to be working fine. - I would like to know, what reasons of skb_reserve can cause kernel crash? - Are we missing any necessary initialization after skb_allcation? - Why the behavior is different in two different platforms with same linux ? Please tell me, If i can provide any other related information (e.g oops ) or any other relevant mailing list. regards ~biju - : send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html