kernel BUG at mm/slab.c
来源:互联网 发布:监控安装设计软件 编辑:程序博客网 时间:2024/06/11 08:13
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- <2>GMAC: swgmac_linux_xmit_frames No More Free Tx Descriptors
- kernel BUG at mm/slab.c:602!
- <0>Kernel panic - not syncing: BUG!
解决方法:
(1) 定位出错代码
- <mm/slab.c>
- static inline struct slab *page_get_slab(struct page *page)
- {
- BUG_ON(!PageSlab(page));
- return (struct slab *)page->lru.prev;
- }
(2) 跟踪PageSlab()函数,PageSlab()函数的宏定义位于
- <linux-2.6.28/include/linux/page-flags.h>
- __PAGEFLAG(Slab, slab)
- #define TESTPAGEFLAG(uname, lname) \
- static inline int Page##uname(struct page *page) \
- { return test_bit(PG_##lname, &page->flags); }
- #define __PAGEFLAG(uname, lname) TESTPAGEFLAG(uname, lname) \
- __SETPAGEFLAG(uname, lname) __CLEARPAGEFLAG(uname, lname)
由此可知PageSlab函数原型为:
- static inline int PageSlab(struct page *page)
- {
- return test_bit(PG_slab, &page->flags);
- }
- status = gmac_set_tx_qptr(gmacdev, dma_addr, skb->len, (u64)skb,0,0,0,offload_needed);
- if(status < 0){
- TR0("%s No More Free Tx Descriptors\n",__FUNCTION__);
- dev_kfree_skb (skb); //出错的根源。
- // dev_kfree_skb (skb); // 修改后的代码
- netif_stop_queue(netdev);
- local_irq_restore(flags);
- return -EBUSY;
- }
- kernel BUG at mm/slab.c
- kernel BUG at mm/slab.c
- linux/mm/slab.c
- linux2.6内核移植zc301摄像头时 kernel BUG at arch/arm/mm/dma-mapping.c:409!..的解决方法
- kernel BUG at kernel/posix-cpu-timers.c:1389!
- Kernel阅读手记之slab
- base-kernel-memory-slab系统
- KERNEL BUG: unable to handle kernel NULL pointer dereference at 00000004
- slab算法c实现
- 记 BUG: unable to handle kernel paging requrest at 0xffff7fXXXXXXXXX
- NAND: U-Boot BUG at mtdcore.c:20
- Linux Kernel BUG?
- centos6.4 kernel bug
- 22、 BUG at __get_vm_area_node()
- 25 BUG at check_bytes_and_report
- 26 BUG at _i2c_deal_resualt
- slab
- Bug : mm/page-writeback.c:820: internal compiler error: Segmentation fault
- epoll-linux提高并发服务器效率
- MySQL增删改查
- apt-get下载安装本地包
- Java反编译工具Jad及插件JadClipse配置
- 字符集
- kernel BUG at mm/slab.c
- Apache启动不了,httpd: apr_sockaddr_info_get() failed for apache 启动问题
- 【LeetCode】Remove Nth Node From End of List
- samba服务配置时常见问题
- 简单JS-带复选框的下拉菜单
- Discuz! X3列表开启图片模式
- PL/SQL复合类型变量的使用(record、pl/sql表、bulk collect)
- super和this放在一起,谁放在首行呢?
- 正则表达式