Reconcile hns3 SAUCE patches with upstream
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
dann frazier | ||
Bionic |
Fix Released
|
Undecided
|
dann frazier |
Bug Description
[Impact]
The functional change is negligible - the primary goal here is to align our tree closer to upstream to make future backports cleaner (and therefore safer).
We are currently carrying 61 SAUCE patches for the hns3 driver. 5 of these changes haven't been posted yet, 1 has been rejected, but the remaining have now all been merged.
Functionally, the upstream patches differ from our SAUCE in 2 ways:
1) In one case, the upstream patch corrected a mistake in the SAUCE counterpart:
e22b531b5889d UBUNTU: SAUCE: {topost} net: hns3: modify hnae_ to hnae3_
While it purports to just be a symbol rename, it also made the following change (the test_bit() addition), which I've verified with upstream is incorrect:
@@ -2703,7 +2703,8 @@ static int hclge_reset_
}
val = hclge_read_
- while (hnae_get_bit(val, reg_bit) && cnt < HCLGE_RESET_
+ while (hnae3_get_bit(val, reg_bit) && cnt < HCLGE_RESET_
+ test_bit(
val = hclge_read_
2) One patch was rejected for its performance impact, and Ubuntu should follow suit:
c4a05b6f9f4b6 UBUNTU: SAUCE: {topost} net: hns3: using modulo for cyclic counters in hclge_cmd_send
See: https:/
In addition, several of the patches have changed in non-functional ways (whitespace, comments, commit messages, etc). This will likely prevent future patches from cherry-picking cleanly and, in the case of commit messages, obfuscate which fixes we already have.
[Test Case]
1) git diff, to make sure delta after includes only the test_bit() correction, modulo removal, and non-functional changes.
2) Functional test on D06 hardware (the only impacted platform).
[Fix]
Revert all the SAUCE patches that have counterparts upstream, and apply the upstream cherry-picks instead. Revert the rejected patch.
[Regression Risk]
The git diff from before and after this series clearly shows only the one correction, the one revert, and the various cosmetic changes.
CVE References
Changed in linux (Ubuntu Bionic): | |
status: | New → In Progress |
assignee: | nobody → dann frazier (dannf) |
description: | updated |
description: | updated |
description: | updated |
summary: |
- Replace hns3 SAUCE patches with upstream + Reconcile hns3 SAUCE patches with upstream |
description: | updated |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
tags: | added: cscc |
This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification- needed- bionic' to 'verification- done-bionic' . If the problem still exists, change the tag 'verification- needed- bionic' to 'verification- failed- bionic' .
If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.
See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation how to enable and use -proposed. Thank you!