Repository navigation
feat(libressl3): retain SSL_CTX references - #12578
PrivacyOnion wants to merge 1 commit into
Conversation
MarcZX10
left a comment
There was a problem hiding this comment.
A coordination note for this PR's landing order: I checked the exact current heads, and merge previews with #12580 and #12582 conflict in Key.cpp, GuestLibreSsl3KeyReference.cpp, and docs/dev/debt/libSceLibreSsl3.md. If this PR is intended to land first, please coordinate with the same author so the later PRs declare their dependencies and are restacked. I have not found a functional blocker in this diff; its Windows check is still running.
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
MarcZX10
left a comment
There was a problem hiding this comment.
Review note — coordinate the landing order
I found no functional issue in this PR’s focused change. The merge previews show a sequencing issue across the three open LibreSSL reference-count PRs: each pair conflicts in shared source, regression-test, and debt files. The PR currently declares no dependencies, so the intended application order is unclear.
What I ran
- Compared current PR heads #12578
00b24c75b4be4b3ee7ed97013e4ea4a7a21b3afe, #12580e5f35a2407c01477085fc0d9aa78ddbba669fda7, and #12582dd47c78d6d72d3d88b2d21ccac72ffd8adb193c3. - Generated pairwise merge previews against current
main319621ba2e578bd053b0baba2877fe70520e0737. - Refreshed the hosted checks.
Results
| Check | Result |
|---|---|
| #12578 + #12580 merge preview | conflict in Key.cpp, GuestLibreSsl3KeyReference.cpp, and libSceLibreSsl3.md |
| #12578 + #12582 merge preview | conflict in the same three files |
| #12580 + #12582 merge preview | conflict in the same three files |
| #12578 checks | conventions, intake, labels, report, and Windows pass; Linux/product jobs skipped |
Findings
Blocking
None in the change reviewed here. The pairwise conflicts require a recorded landing order before the stack can be applied without resolving shared hunks.
Non-blocking
This PR can be first if that is the agreed order. Please record the intended successor dependencies in the PR checklists or restack the later changes on top of this one after it lands. The conflicting files are:
core/libs/prx/libSceLibreSsl3/src/Key.cppcore/libs/tests/GuestLibreSsl3KeyReference.cppdocs/dev/debt/libSceLibreSsl3.md
Sources
Not verified
I did not independently rerun the focused tests. Hosted Linux/product checks were skipped; Windows and policy checks passed.
To get this to a good state
Confirm that #12578 is intended to land first and record the dependencies on #12580 and #12582, or propose another explicit order and restack the conflicting PRs accordingly.
|
@PrivacyOnion a heads-up: we'd like to open a draft stacked on this PR shortly, with "Depends on: #12578", merging after yours. It implements six more The branch is feat/libressl3-sourced-b267-1-on-12578 on our fork (12dbb93). It keeps your commit as it is and builds on your
|
|
@PrivacyOnion a correction to my note above. Lindamea1's #12754, which is also stacked on this PR, already covers five of those six exports, so we won't open them. |
00b24c7 to
ced92ec
Compare
What
Implement
SSL_CTX_up_refinlibSceLibreSsl3by atomically incrementing the reference counter at offset 40 ofLibreSsl3SslCtx, following the LP64struct ssl_ctx_stlayout in LibreSSL 4.0.0 (ssl_lib.c#L2244-L2248). Null pointers and counter overflow throwstd::invalid_argumentandstd::overflow_errorwithout mutation.Tested
Windows 11, verified sequential and concurrent retain semantics, boundary return values and layout integrity with
guest_libressl3_key_reference.Ran locally on
00b24c75b4:Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)