On Mon, Jan 05, 2026 at 03:47:12PM +0800, Qingfang Deng wrote: > On 4 Jan 2026 21:12:35 -0800, Eric Biggers wrote: > > extern const u8 crypto_aes_sbox[]; > > extern const u8 crypto_aes_inv_sbox[]; > > +extern const u32 __cacheline_aligned aes_enc_tab[256]; > > +extern const u32 __cacheline_aligned aes_dec_tab[256]; > > __cacheline_aligned puts the array in ".data..cacheline_aligned" > section. As a const array, it should be in ".rodata" section, so > ____cacheline_aligned (note the extra underscores) should be used > instead. > You can also apply the same to crypto_aes_sbox and crypto_aes_inv_sbox > while at it. > > Regards, > Qingfang
Good catch! So the result is that MMU protection isn't applied to the const data as intended. I guess I'll change these to the four-underscore ____cacheline_aligned. Though, I'm tempted to instead just do __aligned(SMP_CACHE_BYTES), to stay well away from this footgun. - Eric
