memset_s: more or less yes, that is the core of what this article is talking about.
It sounds like memset_explicit might be the “solution”. This requires the backend be aware of these semantics, and while I don’t know about GCC, llvm’s register allocation does not carry such info and I’ve generally encountered push back against adding the data required to track such semantics (though in my case in the context of pointer authentication). IMO it would be a general win for a lot of security related purposes.
Even if normally the variable is stored only in a register,
memset_s()has to write to memory? Even if marked non-volatile?score 1 · canonical
deleted by creator
memset_s: more or less yes, that is the core of what this article is talking about.
It sounds like memset_explicit might be the “solution”. This requires the backend be aware of these semantics, and while I don’t know about GCC, llvm’s register allocation does not carry such info and I’ve generally encountered push back against adding the data required to track such semantics (though in my case in the context of pointer authentication). IMO it would be a general win for a lot of security related purposes.
score 1 · canonical