Most of the optimized xor_blocks versions require FPU/vector registers, which generally are not supported in interrupt context.
Both callers already are in user context, so enforce this at the highest level. Signed-off-by: Christoph Hellwig <[email protected]> --- crypto/xor.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crypto/xor.c b/crypto/xor.c index f39621a57bb3..864f3604e867 100644 --- a/crypto/xor.c +++ b/crypto/xor.c @@ -28,6 +28,8 @@ xor_blocks(unsigned int src_count, unsigned int bytes, void *dest, void **srcs) { unsigned long *p1, *p2, *p3, *p4; + WARN_ON_ONCE(in_interrupt()); + p1 = (unsigned long *) srcs[0]; if (src_count == 1) { active_template->do_2(bytes, dest, p1); -- 2.47.3
