os: Use custom delete operator for raw_combined #64965
os: Use custom delete operator for raw_combined #64965SrinivasaBharath merged 1 commit intoceph:mainfrom
Conversation
d916cc7 to
0404d98
Compare
0404d98 to
64c7011
Compare
64c7011 to
d31598e
Compare
| // 1. Save the data pointer before the object is destroyed | ||
| // 2. Explicitly call the destructor to clean up the object's members | ||
| // 3. Free the entire combined allocation through the data pointer | ||
| // Uses std::destroying_delete_t to prevent automatic destructor call after delete |
There was a problem hiding this comment.
Huh, perhaps this could explain really weird crashes we've seen under the hypercombined buffers. Very interesting!
3cda764 to
56fc7c4
Compare
|
jenkins test make check |
|
jenkins test make check arm64 |
56fc7c4 to
8a99c07
Compare
8a99c07 to
889a97e
Compare
|
jenkins test make check arm64 |
…memory cleanup Fix UB in raw_combined 'operator delete' to eliminate uninitialized memory access Fixes: https://tracker.ceph.com/issues/72473 Signed-off-by: Edwin Rodriguez <edwin.rodriguez1@ibm.com>
889a97e to
058b0fb
Compare
|
This is an automated message by src/script/redmine-upkeep.py. I found one or more
The referenced tickets are: Those tickets do not reference this merged Pull Request. If this Pull Request merge resolves any of those tickets, please update the "Pull Request ID" field on each ticket. A future run of this script will appropriately update them. Update Log: https://github.com/ceph/ceph/actions/runs/18838061841 |
Fix UB in raw_combined 'operator delete' to eliminate uninitialized memory access
by using deferred destruction operator option
Fixes: https://tracker.ceph.com/issues/72473
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 test classic perfJenkins Job | Jenkins Job Definitionjenkins test crimson perfJenkins Job | Jenkins Job Definitionjenkins test signedJenkins Job | Jenkins Job Definitionjenkins test make checkJenkins Job | Jenkins Job Definitionjenkins test make check arm64Jenkins Job | Jenkins Job Definitionjenkins test submodulesJenkins Job | Jenkins Job Definitionjenkins test dashboardJenkins Job | Jenkins Job Definitionjenkins test dashboard cephadmJenkins Job | Jenkins Job Definitionjenkins test apiJenkins Job | Jenkins Job Definitionjenkins test docsReadTheDocs | Github Workflow Definitionjenkins test ceph-volume allJenkins Jobs | Jenkins Jobs Definitionjenkins test windowsJenkins Job | Jenkins Job Definitionjenkins test rook e2eJenkins Job | Jenkins Job Definition