erasure-code/isa: Handle case where data and coding buffers are not 3…#59862
Merged
erasure-code/isa: Handle case where data and coding buffers are not 3…#59862
Conversation
Contributor
Author
|
jenkins test api |
…2-byte aligned Signed-off-by: Jamie Pryde <jamiepry@uk.ibm.com>
261941f to
524dabc
Compare
perezjosibm
reviewed
Sep 19, 2024
perezjosibm
reviewed
Sep 19, 2024
Member
|
@perezjosibm Heya! Given that you've read over the code... If you are satisfied, would you be willing to approve the PR and add the needs-qa flag? Thanks! |
perezjosibm
approved these changes
Sep 30, 2024
Member
|
retest this please |
Contributor
Author
|
jenkins test make check |
14 tasks
Contributor
Author
|
jenkins test make check |
1 similar comment
Contributor
Author
|
jenkins test make check |
14 tasks
Contributor
Author
|
jenkins test make check |
Member
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…2-byte aligned
#58594 updated isa_encode() to use ISA's xor_gen() function as an optimisation when m=1. That PR missed the case where the data and coding buffers are not aligned to 32 bytes. Passing misaligned buffers to xor_gen() can result in a segmentation fault.
This PR checks the alignment of the buffers and only uses xor_gen() if the buffers are 32-byte aligned. I have also restored the byte_xor() function that was removed in 58594. If buffers are not aligned, then byte_xor() will be used instead of xor_gen().
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windowsjenkins test rook e2e