Skip to content
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

P1315 secure_clear / memset_explicit #67

Open
jensmaurer opened this issue Jan 5, 2019 · 26 comments
Open

P1315 secure_clear / memset_explicit #67

jensmaurer opened this issue Jan 5, 2019 · 26 comments
Labels
B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 C++26 Targeted at C++26 IS Ship vehicle: IS LEWG Library Evolution ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting

Comments

@jensmaurer
Copy link
Member

jensmaurer commented Jan 5, 2019

P1315R1 secure_val: a secure-clear-on-move type (Miguel Ojeda)

Other papers related to abstract machine semantics:

@jensmaurer jensmaurer added this to the 2019-02 milestone Jan 5, 2019
@jensmaurer jensmaurer added LEWG Library Evolution LWG Library labels Jan 5, 2019
@jensmaurer jensmaurer removed the LWG Library label Jan 31, 2019
@jensmaurer
Copy link
Member Author

Ville in http://lists.isocpp.org/lib-ext/2019/02/10157.php: Optimization barriers of any sort are EWG territory.

@jensmaurer jensmaurer added EWG Evolution and removed LEWG Library Evolution labels Feb 1, 2019
@jfbastien jfbastien added the EWGI Evolution Incubator label Feb 2, 2019
@jfbastien
Copy link
Collaborator

Ryan McDougall volunteered to present in Kona, the author will be present at one of the upcoming European meetings.

@jensmaurer jensmaurer removed the EWG Evolution label Feb 5, 2019
@jensmaurer
Copy link
Member Author

Discussion on lib-ext: http://lists.isocpp.org/lib-ext/2019/01/10033.php

@brycelelbach
Copy link

@jfbastien Please send this back to LEWGI when you are done with it.

@jfbastien jfbastien added this to EWGIWednesday in EWGIKonaFeb2019 Feb 16, 2019
@jfbastien jfbastien moved this from EWGIWednesday to EWGIMonday in EWGIKonaFeb2019 Feb 16, 2019
@jfbastien
Copy link
Collaborator

Remove all cache related things from the proposal.
SF F N A SA
3 1 3 0 0
Remove encrypting at rest from the proposal.
SF F N A SA
4 1 1 1 0
(A vote: encryption is a novel thing about the proposal)
Want secure_clear to write indeterminate values (as opposed to memset_s).
SF F N A SA
4 1 2 0 0
Want to work with WG14 on secure_clear (e.g. salvage memset_s from Annex K).
SF F N A SA
2 3 2 0 0
We want something along the lines of secure_val (with compiler support).
SF F N A SA
0 0 2 2 3

@jfbastien jfbastien modified the milestones: 2019-02, 2019-07 Feb 24, 2019
@jensmaurer jensmaurer removed this from the 2019-07 milestone Mar 21, 2019
@wg21bot
Copy link
Collaborator

wg21bot commented Jun 23, 2019

P1315R2 secure_clear (Miguel Ojeda)

@wg21bot wg21bot added this to the 2019-07 milestone Jun 23, 2019
@ojeda

This comment has been minimized.

@jensmaurer jensmaurer added this to Wednesday in EWG-I in Cologne 2019 Jul 11, 2019
@jfbastien
Copy link
Collaborator

jfbastien commented Jul 18, 2019

EWGI in Cologne:

Spend committee time on this versus other proposals, given that time is limited?
SF F N A SA
2 9 2 1 0
Send the paper to SG1 for input on abstract machine integration and wording (similar to volatile_load / volatile_store). Send it back to us after.
SF F N A SA
4 5 4 0 0

@jfbastien jfbastien added SG1 Concurrency and removed EWGI Evolution Incubator labels Jul 18, 2019
@jfbastien jfbastien changed the title P1315 secure_val: a secure-clear-on-move type P1315 secure_clear Jul 18, 2019
@wg21bot
Copy link
Collaborator

wg21bot commented Aug 23, 2019

P1315R3 secure_clear (Miguel Ojeda)

@wg21bot wg21bot removed this from the 2019-07 milestone Aug 23, 2019
@AaronBallman
Copy link
Collaborator

Adding the SG22 label per request from EWG.

@brycelelbach brycelelbach added ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 C++23 Targeted at C++23 IS Ship vehicle: IS scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Apr 19, 2021
@AaronBallman AaronBallman added the needs-revision Paper needs changes before it can proceed label Apr 23, 2021
@AaronBallman
Copy link
Collaborator

Adding needs-revision because the author is working on an update to the paper currently.

@brycelelbach brycelelbach removed scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review LEWG Library Evolution ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting labels May 26, 2021
@brycelelbach
Copy link

brycelelbach commented May 26, 2021

2021-05-25 Library Evolution Telecon

P1315R7: memset_explicit

2021-05-25 Library Evolution Telecon Minutes

Chair: Nevin Liber

Champion: Miguel Ojeda

Minute Taker: Ben Craig

Summary

A fair bit of discussion on what the intended and guaranteed semantics of this function are (the paper says it is implementation-defined) and whether it should apply to trivially copyable types, trivially destructible types and/or implicit lifetime types.  Discussion then moved on to how does calling memset_explicit on an object interact with the lifetime of that object.  Ultimately, those are all things that are better discussed in other groups with their expertise.

We briefly discussed adding a range-type interface, but ended up deciding to remove the C++-specific interface from the proposal.

Outcome

Voted to remove the C++ templated interface from the proposal, leaving the C interface (and LEWG does not need to see that revision). The revision of this paper should be run by the SSRG and back to EWG to decide what to do with it.

@ojeda
Copy link

ojeda commented May 26, 2021

the paper says it is implementation-defined

Note: only in some of the alternatives -- it is not clear what WG14 will decide (last time this was polled, people were evenly split between A1 and A2), and we have a pending, new wording suggested too from the reflector.

@jensmaurer
Copy link
Member Author

@ojeda, there is a "needs-revision" label on this entry. Do you agree this paper should be updated before being scheduled in other groups?

@ojeda
Copy link

ojeda commented Oct 26, 2021

The paper will be updated at least once for WG14, yeah.

@jensmaurer jensmaurer removed this from the 2021-telecon milestone Nov 12, 2021
@jensmaurer
Copy link
Member Author

WG14 has looked at the paper, but has not come to a conclusion. It seems fair to say this won't make it into C++23. Removing "C++23" label.

@ThePhD
Copy link
Collaborator

ThePhD commented Oct 27, 2023

WG14 has looked at the C version of this paper and it is accepted for C23 as memset_explicit. WG21 will receive memset_explicit as part of their implicit C library importation (when they rebase on C23); nothing about memset_explicit is surprising or different from what WG21 would expect its signature to look like.

WG21 can figure out secure_clear without SG22 decision making, as that interface need not be directly compatible as a std:: entity with the existing C memset_explicit.

@ThePhD ThePhD removed the SG22 C / C++ liaison label Oct 27, 2023
@jfbastien jfbastien added LEWG Library Evolution and removed EWG Evolution needs-revision Paper needs changes before it can proceed IS Ship vehicle: IS SG12 Undefined Behavior labels Oct 28, 2023
@jfbastien
Copy link
Collaborator

Given that C adopted the paper, LEWG should decide how to proceed, and then refer the paper to the right groups if needed. @inbal2l

@inbal2l inbal2l added IS Ship vehicle: IS ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting labels Dec 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 C++26 Targeted at C++26 IS Ship vehicle: IS LEWG Library Evolution ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting
Projects
No open projects
Development

No branches or pull requests

9 participants