diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h index 67e5ebe25097..1479f5c89cea 100644 --- a/arch/arm64/include/asm/sysreg.h +++ b/arch/arm64/include/asm/sysreg.h @@ -1430,14 +1430,20 @@ par; \ }) +/* + * Disallow any use of the following backported SYS_FIELD macros. They rely on + * use of pre-shifted masked (for example, as generated by GENMASK). Most of + * the masks defined in this tree are not shifted, making these macros subtly + * dangerous! + */ #define SYS_FIELD_GET(reg, field, val) \ - FIELD_GET(reg##_##field##_MASK, val) + BUILD_BUG() #define SYS_FIELD_PREP(reg, field, val) \ - FIELD_PREP(reg##_##field##_MASK, val) + BUILD_BUG() #define SYS_FIELD_PREP_ENUM(reg, field, val) \ - FIELD_PREP(reg##_##field##_MASK, reg##_##field##_##val) + BUILD_BUG() #endif