Project

General

Profile

Actions

Bug #24225

closed

AArch64 CRC32 crash with SIGILL

Added by Artemy Kapitula almost 6 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
rados
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

ceph-mon crashes with SIGILL on some ARM AArch64 SoC.

The crash is produced every time when performing CRC check.

I.e the problem happen on well-known ODroid-C2 SBC built atop of AmLogic S905 but all work fine on a RK3389-based ROCK64.

After investigation we found that difference is a CPU features:

ODroid-C2 (AmLogic S905) CPU /proc/cpuinfo features "Features : fp asimd crc32"

ROCK64 (RK3389) CPU /proc/cpuinfo features: "Features : fp asimd evtstrm aes pmull sha1 sha2 crc32"

On AArch64 ceph uses asm CRC calculations in crc32c.cc and the source of problem is pmull feature.

The suggested solution is to check for pmull support too while probing for crc32 support in src/arch/arm.c

Actions

Also available in: Atom PDF