public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug target/101276] New: [i386] Keylocker output should be cleared when instruction reports runtime error. @ 2021-07-01 3:24 wwwhhhyyy333 at gmail dot com 2021-07-01 4:48 ` [Bug target/101276] " crazylht at gmail dot com ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: wwwhhhyyy333 at gmail dot com @ 2021-07-01 3:24 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101276 Bug ID: 101276 Summary: [i386] Keylocker output should be cleared when instruction reports runtime error. Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: wwwhhhyyy333 at gmail dot com Target Milestone: --- Some keylocker instruction will set ZF when runtime occurs, and the output data should be invalid. Current intrinsic just copy the input data to output regardless of the ZF, like movdqa k2(%rip), %xmm0 aesdec128kl h1(%rip), %xmm0 sete %al movups %xmm0, k1(%rip) It could bring safety issue that return the unencrypted data when runtime error occurs. So the code should be like movdqa k2(%rip), %xmm0 aesdec128kl h1(%rip), %xmm0 je .L4 .L2: sete %al movups %xmm0, k1(%rip) ret .L4: pxor %xmm0, %xmm0 jmp .L2 To clear the output data. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/101276] [i386] Keylocker output should be cleared when instruction reports runtime error. 2021-07-01 3:24 [Bug target/101276] New: [i386] Keylocker output should be cleared when instruction reports runtime error wwwhhhyyy333 at gmail dot com @ 2021-07-01 4:48 ` crazylht at gmail dot com 2021-07-01 7:19 ` rguenth at gcc dot gnu.org ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: crazylht at gmail dot com @ 2021-07-01 4:48 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101276 Hongtao.liu <crazylht at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |crazylht at gmail dot com --- Comment #1 from Hongtao.liu <crazylht at gmail dot com> --- Note this is not a bug, but a re-implementation of the keylocker intrinsic from a security perspective. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/101276] [i386] Keylocker output should be cleared when instruction reports runtime error. 2021-07-01 3:24 [Bug target/101276] New: [i386] Keylocker output should be cleared when instruction reports runtime error wwwhhhyyy333 at gmail dot com 2021-07-01 4:48 ` [Bug target/101276] " crazylht at gmail dot com @ 2021-07-01 7:19 ` rguenth at gcc dot gnu.org 2021-07-01 7:34 ` crazylht at gmail dot com 2021-07-02 7:30 ` wwwhhhyyy333 at gmail dot com 3 siblings, 0 replies; 5+ messages in thread From: rguenth at gcc dot gnu.org @ 2021-07-01 7:19 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101276 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- It might slow down things when data is encrypted in a loop and the error state is accumulated and checked afterwards? Maybe warrants a -msecured-kl option or so? ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/101276] [i386] Keylocker output should be cleared when instruction reports runtime error. 2021-07-01 3:24 [Bug target/101276] New: [i386] Keylocker output should be cleared when instruction reports runtime error wwwhhhyyy333 at gmail dot com 2021-07-01 4:48 ` [Bug target/101276] " crazylht at gmail dot com 2021-07-01 7:19 ` rguenth at gcc dot gnu.org @ 2021-07-01 7:34 ` crazylht at gmail dot com 2021-07-02 7:30 ` wwwhhhyyy333 at gmail dot com 3 siblings, 0 replies; 5+ messages in thread From: crazylht at gmail dot com @ 2021-07-01 7:34 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101276 --- Comment #3 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Richard Biener from comment #2) > It might slow down things when data is encrypted in a loop and the error > state > is accumulated and checked afterwards? This is the exact case that the user mentioned, by the time the state is checked, idata has been already written to odata. They hope when intructions failed to encrpt idata, 0 would used for odata. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/101276] [i386] Keylocker output should be cleared when instruction reports runtime error. 2021-07-01 3:24 [Bug target/101276] New: [i386] Keylocker output should be cleared when instruction reports runtime error wwwhhhyyy333 at gmail dot com ` (2 preceding siblings ...) 2021-07-01 7:34 ` crazylht at gmail dot com @ 2021-07-02 7:30 ` wwwhhhyyy333 at gmail dot com 3 siblings, 0 replies; 5+ messages in thread From: wwwhhhyyy333 at gmail dot com @ 2021-07-02 7:30 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101276 Hongyu Wang <wwwhhhyyy333 at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #4 from Hongyu Wang <wwwhhhyyy333 at gmail dot com> --- Fixed by https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=1aeefa5720a71e622e2f26bf10ec8e7ecbd76f4c ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-07-02 7:30 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-07-01 3:24 [Bug target/101276] New: [i386] Keylocker output should be cleared when instruction reports runtime error wwwhhhyyy333 at gmail dot com 2021-07-01 4:48 ` [Bug target/101276] " crazylht at gmail dot com 2021-07-01 7:19 ` rguenth at gcc dot gnu.org 2021-07-01 7:34 ` crazylht at gmail dot com 2021-07-02 7:30 ` wwwhhhyyy333 at gmail dot com
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).