日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Alibaba Cloud Linux 3 EROFS文件系統掛載功能異常導致系統宕機的修復方案

本文為您介紹Alibaba Cloud Linux 3(kernel-5.10.134-15.al8)EROFS文件系統掛載功能異常導致系統宕機的原因及解決方案。

問題描述

在符合如下條件的Alibaba Cloud Linux 3實例中,通過塊設備掛載EROFS文件系統可能會導致系統宕機。

  • 鏡像:Alibaba Cloud Linux 3.2104。

  • 內核:kernel-5.10.134-15.al8。

執行以下命令判斷當前系統是否存在問題。

sudo yum install -y erofs-utils
mkdir -p test mnt
mkfs.erofs foo.erofs test
sudo mount -t erofs -o loop foo.erofs mnt

如果出現此問題,系統將會發生宕機,并提供如下調用棧信息。

[  225.747952] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000370
..
[  225.752658] CPU: 3 PID: 5829 Comm: mount Kdump: loaded Not tainted 5.10.134-15.al8.aarch64 #1
[  225.753089] Hardware name: Alibaba Cloud Alibaba Cloud ECS, BIOS 1.0.0 01/01/2017
[  225.753468] pstate: 62401005 (nZCv daif +PAN -UAO +TCO BTYPE=--)
[  225.753775] pc : __erofs_bread+0x64/0x1d0 [erofs]
[  225.754016] lr : erofs_read_metabuf+0x44/0x80 [erofs]
[  225.754271] sp : ffff800013fcbb00
[  225.754442] x29: ffff800013fcbb00 x28: ffff0000c5ac0000
[  225.754711] x27: 0000000000000000 x26: ffff0000ef1dcf50
[  225.754982] x25: ffff0000d9896b80 x24: 0000000000000000
[  225.755271] x23: 0000000000000001 x22: ffff0000ef1dcdd8
[  225.755540] x21: ffff800013fcbbb0 x20: 0000000000000000
[  225.755810] x19: 0000000000000000 x18: 0000000000000000
[  225.756079] x17: 0000000000000000 x16: 0000000000000000
[  225.756347] x15: ffffffffffffffff x14: ffffff0000000000
[  225.756618] x13: 00000000000003f3 x12: 0000000000000000
[  225.756888] x11: 0000000000000040 x10: ffff800011d169b8
[  225.757158] x9 : ffff800009124a84 x8 : ffff0000c7cd9e00
[  225.757427] x7 : 0000000000000000 x6 : 000000000000003f
[  225.757697] x5 : ffff0000c773f000 x4 : 0000000000000001
[  225.757966] x3 : 0000000000000000 x2 : ffff0000ef1dcdd8
[  225.758235] x1 : ffff800013fcbbb0 x0 : 0000000000000000
[  225.758508] Call trace:
[  225.758636]  __erofs_bread+0x64/0x1d0 [erofs]
[  225.758859]  erofs_read_metabuf+0x44/0x80 [erofs]
[  225.759112]  erofs_read_superblock+0x60/0x264 [erofs]
[  225.759370]  erofs_fc_fill_super+0xf0/0x310 [erofs]
[  225.759621]  get_tree_bdev+0x15c/0x250
[  225.760109]  erofs_fc_get_tree+0x38/0x54 [erofs]
[  225.760662]  vfs_get_tree+0x2c/0xf0
[  225.761157]  do_new_mount+0x164/0x1d0
[  225.761652]  path_mount+0x1bc/0x570
[  225.762133]  __arm64_sys_mount+0x114/0x140
[  225.762633]  el0_svc_common+0x90/0x250
[  225.763124]  do_el0_svc+0x7c/0x90
[  225.763579]  el0_svc+0x1c/0x30
[  225.764019]  el0_sync_handler+0xa8/0xb0
[  225.764498]  el0_sync+0x168/0x180
[  225.764949] Code: eb1b001f 540003e0 aa0103e0 97ffff6c (f941bb00)
[  225.765543] ---[ end trace 50d06630866b5b03 ]---

問題根因

kernel-5.10.134-15.al8內核EROFS文件系統相關新特性對__erofs_bread()函數進行修改時未正確處理通用塊設備掛載的場景,導致系統出現空指針解引用。

解決方案

  • 安裝內核熱補丁。

    sudo yum install -y kernel-hotfix-18359162-5.10.134-15
  • 避免使用kernel-5.10.134-15.al8內核版本,例如升級至kernel-5.10.134-15.1.al8及以后版本。具體操作,請參見更換內核版本