Messages in this thread | | | Date | Mon, 19 Jul 2021 13:38:51 +0800 | From | Herbert Xu <> | Subject | Re: flush_kernel_dcache_page fixes and removal |
| |
Russell King Oracle <linux@armlinux.org.uk> wrote: > > I think you need to be careful - I seem to have a recollection that the > reason we ended up with flush_kernel_dcache_page() was the need to avoid > the taking of the mmap lock for 32-bit ARM VIVT based CPUs in > flush_dcache_page(). 32-bit ARM flush_dcache_page() can block. > > If you're sure that all these changes you're making do not end up > calling flush_dcache_page() from a path where we are atomic, then fine.
The Crypto API has been calling flush_dcache_page from softirq context since before the advent of git (see crypto/scatterwalk.c from the initial import). So if 32-bit ARM blocks on it then this has been broken for almost 20 years.
Cheers, -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
| |