---
title: Atlas 800-3010 fchownat 和 close 并发访问相同 socket 导致 system crash-昇腾社区
description: 该问题为内核 bug。并发执行 fchownat 和 close 系统调用并操作同一个 socket 会触发 "NULL pointer dereference" 问题，从而导致 system crash。错误日志如下：
keywords: system crash, fchownat, close
url: https://www.hiascend.com/document/caselibrary/detail/zh_cn_Atlas_800_3010_00102.xml
section: (其他)
---

# Atlas 800-3010 fchownat 和 close 并发访问相同 socket 导致 system crash-昇腾社区

URL: https://www.hiascend.com/document/caselibrary/detail/zh_cn_Atlas_800_3010_00102.xml
描述: 该问题为内核 bug。并发执行 fchownat 和 close 系统调用并操作同一个 socket 会触发 "NULL pointer dereference" 问题，从而导致 system crash。错误日志如下：
关键词: system crash, fchownat, close

昇腾文档 [了解详情](https://www.hiascend.com/document)

故障案例 [了解详情](https://www.hiascend.com/document/caselibrary)

Atlas 800-3010 fchownat 和 close 并发访问相同 socket 导致 system crash

Atlas 800-3010 fchownat 和 close 并发访问相同 socket 导致 system crash

2022/03/03

555

问题信息

| 问题来源 | 产品大类 | 产品子类 | 关键字 |
| --- | --- | --- | ---|
| 实验室问题 | 安装部署 | 驱动固件 | system crash、 fchownat、 close |

#### 问题现象描述

受影响系统：

SLES15、Ubuntu16.04 LTS、Ubuntu 18.04 LTS、Oracle Linux 7

问题现象：

该问题为内核 bug。并发执行 fchownat 和 close 系统调用并操作同一个 socket 会触发 "NULL pointer dereference" 问题，从而导致 system crash。错误日志如下：

问题复现代码如下：

socket.c [了解详情](https://www.hiascend.com/true)

#### 关键过程、根本原因分析

fchownat 系统调用用于更改文件的用户ID和组ID，close 系统调用用于文件描述，并且 fchownat 和 close 操作对象为 socket 时会分别调用 sockfs_setattr 和 sock_release 函数。函数代码如下：

由于 sockfs_setattr 函数执行过程没有增加文件描述符的引用计数，此时执行 sock_release，调用 "sock-&gt;ops-&gt;release(sock);"，sock-&gt;sk 会被置空，sockfs_setattr 接着执行 "sock-&gt;sk-&gt;sk_uid = iattr-&gt;ia_uid;" 来修改文件属性时就会出现 "NULL pointer dereference" 问题。

#### 结论、解决方案及效果

升级或安装patch。

SLES15：kernel (SUSE-SU-2019:0224-1)

Ubuntu 16.04 LTS：linux-hwe vulnerabilities (USN-3752-2)

Ubuntu 18.04 LTS：linux, linux-aws, linux-gcp, linux-kvm, linux-raspi2 vulnerabilities (USN-3752-1)

Oracle Linux 7 : Unbreakable Enterprise kernel (ELSA-2018-4195)

#### 经验总结、预防措施和规范建议

无

#### 备注

https://patchwork.ozlabs.org/patch/926519/

https://www.tenable.com/cve/CVE-2018-12232

本页内容

- 问题信息
- 问题现象描述
- 关键过程、根本原因分析
- 结论、解决方案及效果
- 经验总结、预防措施和规范建议
- 备注
