【标题描述】能够简要描述问题:说明什么场景下,做了什么操作,出现什么问题(尽量使用正向表达方式)
【环境信息】
硬件信息:
1) 裸机场景提供出问题的硬件信息;
2) 虚机场景提供虚机XML文件或者配置信息
软件信息:
1) OS版本及分支
2) 内核信息
3) 发现问题的组件版本信息
如果有特殊组网,请提供网络拓扑图
【问题复现步骤】
具体操作步骤
出现概率(是否必现,概率性错误)
【预期结果】
描述预期结果,可以通过对比新老版本获取
【实际结果】
描述出问题的结果
【附件信息】
比如系统message日志/组件日志、dump信息、图片等
Hi chenxiaosonggitee, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Kernel, and any of the maintainers: @yangyingliang , @gatieme , @jiaoff , @zhengzengkai , @LiuYongQiang0816 , @wangxiongfeng , @kevinzhu1 , @jentlestea , @lujialin2 , @wuxu_buque , @xukuohai , @lengchao , @alvin-ling , @yuzenghui , @yuehaibing , @juntianlinux , @chenguangli , @gasonchen , @whoisxxx , @koulihong , @kailiu42 , @hanjun-guo , @woqidaideshi , @chiqijun , @wkfxxx , @thundertown , @guohaocs2c , @kylin-mayukun , @oskernel0719 , @liuxinux , @newbeats , @zhujianwei001 , @zhenpengzheng , @SuperSix173 , @colyli , @zhangyi089 , @htforge , @qiuuuuu , @xiexiuqi , @openeuler-sync-bot
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
从 pending_mid_q 链表中移到 dispose_list 链表前,先增加 mid_entry 的引用计数(注意同时还持有锁 GlobalMid_Lock),避免在操作链表的过程中 struct mid_q_entry 被释放。 另外从 pending_mid_q 链表移除后,mid_entry->mid_flags 设上标记 MID_DELETED。 从 pending_mid_q 链表删除前,判断 MID_DELETED,然后调用 DeleteMidQEntry 释放。
补丁合入前 DeleteMidQEntry 释放 mid_entry 时没有 GlobalMid_Lock 保护,可能引起 UAF,补丁合入后的 DeleteMidQEntry 流程:
DeleteMidQEntry
cifs_mid_q_entry_release
spin_lock(&GlobalMid_Lock)
kref_put
_cifs_mid_q_entry_release
// 释放 mid_entry
spin_unlock(&GlobalMid_Lock)
登录 后才可以发表评论