On Thu, Apr 20, 2017 at 03:35:09PM +1000, Michael Ellerman wrote: > In crct10dif_vpmsum() we call enable_kernel_altivec() without first > disabling preemption, which is not allowed. > > It used to be sufficient just to call pagefault_disable(), because that > also disabled preemption. But the two were decoupled in commit 8222dbe21e79 > ("sched/preempt, mm/fault: Decouple preemption from the page fault > logic") in mid 2015. > > The crct10dif-vpmsum code inherited this bug from the crc32c-vpmsum code > on which it was modelled. > > So add the missing preempt_disable/enable(). We should also call > disable_kernel_fp(), although it does nothing by default, there is a > debug switch to make it active and all enables should be paired with > disables. > > Fixes: b01df1c16c9a ("crypto: powerpc - Add CRC-T10DIF acceleration") > Acked-by: Daniel Axtens <dja@xxxxxxxxxx> > Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Patch applied. Thanks. -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt