-
Notifications
You must be signed in to change notification settings - Fork 5
bpf: verifier improvement in 32bit shift sign extension pattern #6400
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bpf: verifier improvement in 32bit shift sign extension pattern #6400
Conversation
|
Upstream branch: d6ec090 |
0bdd2b9 to
729c7ba
Compare
|
Upstream branch: d088da9 |
96bee83 to
568c738
Compare
729c7ba to
623bab9
Compare
|
Upstream branch: e0940c6 |
568c738 to
2ec2746
Compare
623bab9 to
fe03c14
Compare
|
Upstream branch: 792f258 |
2ec2746 to
4b62155
Compare
|
Upstream branch: 792f258 |
4b62155 to
c484cb3
Compare
fe03c14 to
65bfb85
Compare
|
Upstream branch: 878ee3c |
c484cb3 to
9893510
Compare
65bfb85 to
b1f8b58
Compare
|
Upstream branch: ae24fc8 |
9893510 to
ae0b613
Compare
b1f8b58 to
8f7081b
Compare
|
Upstream branch: b7f7d76 |
ae0b613 to
cd01844
Compare
8f7081b to
c347688
Compare
|
Upstream branch: 4dd3a48 |
cd01844 to
3dad50b
Compare
c347688 to
fb42a92
Compare
|
Upstream branch: 8f7cf30 |
3dad50b to
69f4e3a
Compare
fb42a92 to
3282beb
Compare
This patch improves the verifier to correctly compute bounds for sign extension compiler pattern composed of left shift by 32bits followed by a sign right shift by 32bits. Pattern in the verifier was limitted to positive value bounds and would reset bound computation for negative values. New code allows both positive and negative values for sign extension without compromising bound computation and verifier to pass. This change is required by GCC which generate such pattern, and was detected in the context of systemd, as described in the following GCC bugzilla: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119731 Three new tests were added in verifier_subreg.c. Signed-off-by: Cupertino Miranda <[email protected]> Signed-off-by: Andrew Pinski <[email protected]> Cc: David Faust <[email protected]> Cc: Jose Marchesi <[email protected]> Cc: Elena Zannoni <[email protected]> Acked-by: Eduard Zingerman <[email protected]>
|
Upstream branch: c427320 |
69f4e3a to
128a6a1
Compare
|
At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=1025754 expired. Closing PR. |
Pull request for series with
subject: bpf: verifier improvement in 32bit shift sign extension pattern
version: 1
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=1025754