elastio / elastio-snap

kernel module for taking block-level snapshots and incremental backups of Linux block devices
GNU General Public License v2.0
21 stars 6 forks source link

Syscall hook randomly fails on Ubuntu 22.04 with aarch64 #262

Closed skypodolsky closed 1 year ago

skypodolsky commented 1 year ago
[   73.266666] elastio_snap: loading out-of-tree module taints kernel.
[   73.267150] elastio_snap: module verification failed: signature and/or required key missing - tainting kernel
[   73.268344] elastio-snap: module init
[   73.268346] elastio-snap: get major number
[   73.268348] elastio-snap: allocate global device array
[   73.268353] elastio-snap: registering proc file
[   73.268359] elastio-snap: registering control device
[   73.268473] elastio-snap: locating system call table
[   73.268476] elastio-snap: system call table located at 0x00000000f59f5230
[   73.270370] ------------[ cut here ]------------
[   73.270371] WARNING: CPU: 3 PID: 25931 at mm/memory.c:2664 apply_to_pmd_range+0xf8/0x1d0
[   73.270382] Modules linked in: elastio_snap(OE+) xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user xfrm_algo xt_addrtype nft_compat nf_tables nfnetlink br_netfilter bridge stp llc overlay binfmt_misc ofpart nls_iso8859_1 redboot cmdlinepart cfi_cmdset_0001 cfi_probe cfi_util input_leds gen_probe physmap arm_smccc_trng map_funcs chipreg mtd qemu_fw_cfg uio_pdrv_genirq uio dm_multipath sch_fq_codel scsi_dh_rdac scsi_dh_emc scsi_dh_alua ramoops reed_solomon pstore_blk pstore_zone efi_pstore ip_tables x_tables autofs4 btrfs blake2b_generic raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor xor_neon hid_generic usbhid hid raid6_pq libcrc32c raid1 raid0 multipath linear virtio_gpu virtio_dma_buf drm_shmem_helper crct10dif_ce drm_kms_helper virtio_net ghash_ce syscopyarea sha2_ce net_failover sysfillrect sysimgblt sha256_arm64 fb_sys_fops sha1_ce failover drm xhci_pci gpio_keys virtio_blk
[   73.270466]  xhci_pci_renesas aes_neon_bs aes_neon_blk aes_ce_blk aes_ce_cipher
[   73.270474] CPU: 3 PID: 25931 Comm: insmod Tainted: G           OE     5.19.0-41-generic #42~[22](https://github.com/elastio/elastio-snap/actions/runs/4936046915/jobs/8823108325#step:17:23).04.1-Ubuntu
[   73.270478] Hardware name: QEMU KVM Virtual Machine, BIOS 0.0.0 02/06/2015
[   73.270479] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   73.270483] pc : apply_to_pmd_range+0xf8/0x1d0
[   73.270487] lr : apply_to_pmd_range+0x50/0x1d0
[   73.270490] sp : ffff80000d88b850
[   73.270492] x29: ffff80000d88b850 x28: ffff00027fffe250 x27: ffff800009402930
[   73.270496] x26: 0000000000000000 x25: ffff80000940292f x24: ffff80000d88b9d8
[   73.270501] x[23](https://github.com/elastio/elastio-snap/actions/runs/4936046915/jobs/8823108325#step:17:24): ffff80000815be30 x22: ffff80000ad9fdf0 x21: ffff80000d88b994
[   73.270505] x20: 0000000000000001 x19: ffff800009402930 x18: 0000000000000000
[   73.270509] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[   73.270512] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[   73.270516] x11: 0000000000000000 x10: 0000000000000000 x9 : ffff8000084b7740
[   73.270520] x8 : 0000000000000000 x7 : ffff80000d88b994 x6 : 0000000000000001
[   73.2705[24](https://github.com/elastio/elastio-snap/actions/runs/4936046915/jobs/8823108325#step:17:25)] x5 : ffff80000d88b9d8 x4 : ffff80000815be30 x3 : 0c00000000000001
[   73.[27](https://github.com/elastio/elastio-snap/actions/runs/4936046915/jobs/8823108325#step:17:28)05[28](https://github.com/elastio/elastio-snap/actions/runs/4936046915/jobs/8823108325#step:17:29)] x2 : ffff800009401930 x1 : 0000000000000001 x0 : 00600002a9400f81
[   73.270532] Call trace:
[   73.270533]  apply_to_pmd_range+0xf8/0x1d0
[   73.270537]  apply_to_pud_range+0x9c/0x1f4
[   73.270541]  __apply_to_page_range+0xb4/0x19c
[   73.270545]  apply_to_page_range+0x1c/0x44
[   73.270549]  __change_memory_common+0x5c/0x110
[   73.270553]  syscall_set_hook+0x5c/0xf0 [elastio_snap]
[   73.270560]  agent_init+0x[29](https://github.com/elastio/elastio-snap/actions/runs/4936046915/jobs/8823108325#step:17:30)4/0x1000 [elastio_snap]
[   73.270565]  do_one_initcall+0x4c/0x2e0
[   73.270569]  do_init_module+0x50/0x220
[   73.270572]  load_module+0x9ec/0xbb0
[   73.270574]  __do_sys_finit_module+0xac/0x144
[   73.270577]  __arm64_sys_finit_module+0x28/0x4c
[   73.270579]  invoke_syscall+0x78/0x120
[   73.270582]  el0_svc_common.constprop.0+0x54/0x1b4
[   73.270584]  do_el0_svc+0x[38](https://github.com/elastio/elastio-snap/actions/runs/4936046915/jobs/8823108325#step:17:39)/0x60
[   73.270586]  el0_svc+0x[54](https://github.com/elastio/elastio-snap/actions/runs/4936046915/jobs/8823108325#step:17:55)/0x1a0
[   73.270[59](https://github.com/elastio/elastio-snap/actions/runs/4936046915/jobs/8823108325#step:17:60)0]  el0t_64_sync_handler+0xdc/0x1[60](https://github.com/elastio/elastio-snap/actions/runs/4936046915/jobs/8823108325#step:17:61)
[   73.270594]  el0t_[64](https://github.com/elastio/elastio-snap/actions/runs/4936046915/jobs/8823108325#step:17:65)_sync+0x1a0/0x1a4
[   73.270597] ---[ end trace 0000000000000000 ]---
e-kov commented 1 year ago

It turns out that this issue affects Ubuntu 22.04 arm64 on envs with disabled ACPI. It seems to be untypical env on our Vagrant boxes and will be fixed not in the driver, but in the boxes by switching on ACPI.