kmap_atomic

在fuse文件系统下尝试调用其内核write接口对文件写入内容,内核日志中报出这个错误:

BUG: scheduling while atomic: vim/49280/0x00000001

Call Trace:
Apr 26 15:50:35 localhost kernel: [<ffffffff81685fac>] dump_stack+0x19/0x1b
Apr 26 15:50:35 localhost kernel: [<ffffffff8167fc4a>] __schedule_bug+0x4d/0x5b
Apr 26 15:50:35 localhost kernel: [<ffffffff8168b55e>] __schedule+0x89e/0x990
Apr 26 15:50:35 localhost kernel: [<ffffffff8168b679>] schedule+0x29/0x70
Apr 26 15:50:35 localhost kernel: [<ffffffffa0776241>] wait_answer_interruptible+0x91/0xe0 [fuse]
Apr 26 15:50:35 localhost kernel: [<ffffffff810b1600>] ? wake_up_atomic_t+0x30/0x30
Apr 26 15:50:35 localhost kernel: [<ffffffffa0776653>] __fuse_request_send+0x253/0x2c0 [fuse]
Apr 26 15:50:35 localhost kernel: [<ffffffffa07766d2>] fuse_request_send+0x12/0x20 [fuse]
Apr 26 15:50:35 localhost kernel: [<ffffffffa077a1e5>] fuse_getxattr+0xe5/0x190 [fuse]
Apr 26 15:50:35 localhost kernel: [<ffffffff812a6bdd>] cap_inode_need_killpriv+0x2d/0x40
Apr 26 15:50:35 localhost kernel: [<ffffffff812a8ab6>] security_inode_need_killpriv+0x16/0x20
Apr 26 15:50:35 localhost kernel: [<ffffffff81219c3f>] dentry_needs_remove_privs.part.13+0x1f/0x30
Apr 26 15:50:35 localhost kernel: [<ffffffff81219e18>] file_remove_privs+0x98/0x110
Apr 26 15:50:35 localhost kernel: [<ffffffff813f7cb5>] ? vt_console_print+0x275/0x420
Apr 26 15:50:35 localhost kernel: [<ffffffff8108626f>] ? print_prefix+0x6f/0xb0
Apr 26 15:50:35 localhost kernel: [<ffffffffa078188f>] fuse_file_aio_write+0x10f/0x340 [fuse]
Apr 26 15:50:35 localhost kernel: [<ffffffff810880d4>] ? wake_up_klogd+0x34/0x50
Apr 26 15:50:35 localhost kernel: [<ffffffff810882f8>] ? console_unlock+0x208/0x400
Apr 26 15:50:35 localhost kernel: [<ffffffff811fd8bd>] do_sync_write+0x8d/0xd0
网上查找后发现是自身kmap_atomic使用错误

使用kmap_atomic内存映射未解除映射调用fuse_file_aio_write后便会出现这个错误

参考:

https://blog.csdn.net/tiantao2012/article/details/73275750 //BUG:schedule while atomic

https://blog.csdn.net/dog250/article/details/6129826 //kmap_atomic的细节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值