page dumped because: nonzero _count

问题描述:

[  771.379814] BUG: Bad page state in process pesdk  pfn:5aa5c
[  771.452077] page:ffffea00016a9700 count:-1 mapcount:0 mapping:          (null) index:0x0
[  771.559752] page flags: 0x1fffff00000000()
[  771.612599] page dumped because: nonzero _count
[  771.672223] Modules linked in: phy88e1548(OE) pe_sdk_ko_ts(OE) ip6t_rpfilter ipt_REJECT nf_reject_ipv4 ip6t_REJECT nf_reject_ipv6 xt_conntrack ip_set nfnetlink ebtable_nat ebtable_broute bridge stp llc ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw ebtable_filter ebtables ip6table_filter ip6_tables iptable_filter vfat fat sha512_ssse3 sha512_generic drbg ansi_cprng edac_core intel_powerclamp coretemp intel_rapl iosf_mbi kvm_intel kvm irqbypass crc32_pclmul ghash_clmulni_intel aesni_intel lrw gf128mul iTCO_wdt glue_helper iTCO_vendor_support ablk_helper cryptd qat_c62x pcspkr sg intel_qat dh_generic mei_me rsa_generic mei authenc i2c_i801 shpchp ip_tables xfs libcrc32c sd_mod crc_t10dif crct10dif_generic uas igb i2c_algo_bit i2c_core dca e1000e i40e ahci libahci libata crct10dif_pclmul crct10dif_common crc32c_intel serio_raw usb_storage ptp pps_core
[  772.869305] CPU: 0 PID: 10844 Comm: pesdk Tainted: G    B      OE  ------------   3.10.0-693.el7.x86_64 #1
[  772.996582] Hardware name: Default string Default string/Default string, BIOS  0.06 07/24/2020
[  773.111138]  ffffea00016a9700 000000007c801a27 ffff88045ebdfaa8 ffffffff816a3d91
[  773.207558]  ffff88045ebdfad0 ffffffff8169f40f 0000000000000800 00000000000007ab
[  773.305021]  ffffea00016a9700 ffff88045ebdfbe0 ffffffff8118c808 ffffffff811a31b8
[  773.402486] Call Trace:
[  773.435638]  [<ffffffff816a3d91>] dump_stack+0x19/0x1b
[  773.502243]  [<ffffffff8169f40f>] bad_page.part.75+0xdc/0xf9
[  773.576776]  [<ffffffff8118c808>] get_page_from_freelist+0x868/0x9e0
[  773.660479]  [<ffffffff811a31b8>] ? zone_statistics+0x88/0xa0
[  773.736170]  [<ffffffff8118caf6>] __alloc_pages_nodemask+0x176/0x420
[  773.819865]  [<ffffffffc0576a77>] ? pe_memset+0x57/0x90 [pe_sdk_ko_ts]
[  773.905859]  [<ffffffff811d1108>] alloc_pages_current+0x98/0x110
[  773.984977]  [<ffffffff8118760e>] __get_free_pages+0xe/0x40
[  774.058364]  [<ffffffffc057ba04>] drv_fpga_alloc_one+0xf4/0x320 [pe_sdk_ko_ts]
[  774.153531]  [<ffffffffc057af85>] pe_send_buf+0xa5/0x150 [pe_sdk_ko_ts]
[  774.240675]  [<ffffffffc057c1e7>] drv_fpga_send_pkt+0x57/0xa0 [pe_sdk_ko_ts]
[  774.333551]  [<ffffffffc057844f>] pe_sdk_send_packets+0xef/0x200 [pe_sdk_ko_ts]
[  774.429870]  [<ffffffffc057857e>] pe_sdk_send_packets_thread+0x1e/0x80 [pe_sdk_ko_ts]
[  774.533063]  [<ffffffffc057434d>] pe_sdk_ko_ioctl+0x32d/0x4b0 [pe_sdk_ko_ts]
[  774.625943]  [<ffffffff812151cd>] do_vfs_ioctl+0x33d/0x540
[  774.698178]  [<ffffffff816affd1>] ? __do_page_fault+0x171/0x450
[  774.777192]  [<ffffffff81215471>] SyS_ioctl+0xa1/0xc0
[  774.842653]  [<ffffffff816b4fc9>] system_call_fastpath+0x16/0x1b

问题原因:

通过__get_free_page(GFP_AMD32)函数申请的内存,通过free_page()函数进行释放时,进行了多次释放,改为1次释放,可解决问题。

 

posted on 2020-08-24 14:49  裸睡的猪  阅读(2725)  评论(0编辑  收藏  举报