-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Fix overflow in ECAL GPU unpacking [12.5.x] #39618
Fix overflow in ECAL GPU unpacking [12.5.x] #39618
Conversation
A new Pull Request was created by @fwyzard (Andrea Bocci) for CMSSW_12_5_X. It involves the following packages:
@cmsbuild, @mandrenguyen, @clacaputo can you please review it and eventually sign? Thanks. cms-bot commands are listed here
|
enable gpu |
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ec356f/28004/summary.html Comparison SummarySummary:
GPU Comparison SummarySummary:
|
+reconstruction
|
This pull request is fully signed and it will be integrated in one of the next CMSSW_12_5_X IBs (tests are also fine) and once validation in the development release cycle CMSSW_12_6_X is complete. This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @rappoccio (and backports should be raised in the release meeting by the corresponding L2) |
backport of of #39617 |
+1 |
backport of #39617 |
PR description:
Avoid a possible overflow in the ECAL GPU unpacking, that could lead to an out-of-bounds read from invalid memory.
The function
find_next_tower_block()
starts from the next memory location and keeps reading until it finds a valid payload, or it reaches the given trailer. However, there was no check that the initial value is not already at or beyond the trailer, which would result in loop that moves forward until it reaches an invalid memory address.This condition has been observed online, for example
resulting in
These changes will stop the loop if the initial value is at or beyond the trailer.
PR validation:
With these changes the ECAL unpacker runs successfully through 10'000 the error stream events.
If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:
Backported of #39617 to 12.5.x for data taking.