The arm64 implementations of some atomic operations had incorrect assembly constraints. Depending on the compiler version and options, this can result in a build failure for some parameter values:
/tmp/ccDOb5nB.s: Assembler messages: /tmp/ccDOb5nB.s:2214: Error: immediate out of range at operand 3 -- `bic w1,w0,5'
This has specifically been seen when building a 4.9 stable kernel with gcc 6.3.0, since commit 23025393dbeb "xen/netback: use lateeoi irq binding" was applied. I can also reproduce it with 4.14.
I cannot reproduce it with 4.19, but the same fixes are applicable and the issue presumably could occur when using different compiler options.
I haven't done anything about the 4.4 branch since it does not have that xen-netback fix and it has significantly different definitions for arm64 atomic ops.
I've attached a mailbox of patches for each of the 4.9, 4.14, and 4.19 branches.
Ben.
On Mon, Mar 01, 2021 at 08:56:07PM +0100, Ben Hutchings wrote:
The arm64 implementations of some atomic operations had incorrect assembly constraints. Depending on the compiler version and options, this can result in a build failure for some parameter values:
/tmp/ccDOb5nB.s: Assembler messages: /tmp/ccDOb5nB.s:2214: Error: immediate out of range at operand 3 -- `bic w1,w0,5'
This has specifically been seen when building a 4.9 stable kernel with gcc 6.3.0, since commit 23025393dbeb "xen/netback: use lateeoi irq binding" was applied. I can also reproduce it with 4.14.
I cannot reproduce it with 4.19, but the same fixes are applicable and the issue presumably could occur when using different compiler options.
I haven't done anything about the 4.4 branch since it does not have that xen-netback fix and it has significantly different definitions for arm64 atomic ops.
I've attached a mailbox of patches for each of the 4.9, 4.14, and 4.19 branches.
All now queued up, thanks.
greg k-h
linux-stable-mirror@lists.linaro.org