* [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk @ 2023-06-19 18:15 Brian Inglis 2023-06-19 18:15 ` [PATCH v4 1/3] wincap.h: add wincap member has_user_shstk Brian Inglis ` (3 more replies) 0 siblings, 4 replies; 8+ messages in thread From: Brian Inglis @ 2023-06-19 18:15 UTC (permalink / raw) To: cygwin-patches In test for for AMD/Intel Control flow Enforcement Technology user mode shadow stack support replace Windows version tests with test of wincap member addition has_user_shstk with Windows version dependent value Fixes: 41fdb869f998 fhandler/proc.cc(format_proc_cpuinfo): Add Linux 6.3 cpuinfo Signed-off-by: Brian Inglis <Brian.Inglis@Shaw.ca> Brian Inglis (3): wincap.h: add wincap member has_user_shstk wincap.cc: set wincap member has_user_shstk true for 2004+ fhandler/proc.cc: use wincap.has_user_shstk winsup/cygwin/fhandler/proc.cc | 8 ++++---- winsup/cygwin/local_includes/wincap.h | 2 ++ winsup/cygwin/wincap.cc | 10 ++++++++++ 3 files changed, 16 insertions(+), 4 deletions(-) -- 2.39.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v4 1/3] wincap.h: add wincap member has_user_shstk 2023-06-19 18:15 [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk Brian Inglis @ 2023-06-19 18:15 ` Brian Inglis 2023-06-19 18:15 ` [PATCH v4 2/3] wincap.cc: set wincap member has_user_shstk true for 2004+ Brian Inglis ` (2 subsequent siblings) 3 siblings, 0 replies; 8+ messages in thread From: Brian Inglis @ 2023-06-19 18:15 UTC (permalink / raw) To: cygwin-patches Fixes: 41fdb869f998 fhandler/proc.cc(format_proc_cpuinfo): Add Linux 6.3 cpuinfo Signed-off-by: Brian Inglis <Brian.Inglis@Shaw.ca> --- winsup/cygwin/local_includes/wincap.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/winsup/cygwin/local_includes/wincap.h b/winsup/cygwin/local_includes/wincap.h index 29a7a63de7f6..c14872787ca2 100644 --- a/winsup/cygwin/local_includes/wincap.h +++ b/winsup/cygwin/local_includes/wincap.h @@ -32,6 +32,7 @@ struct wincaps unsigned has_linux_tcp_keepalive_sockopts : 1; unsigned has_tcp_maxrtms : 1; unsigned has_con_broken_tabs : 1; + unsigned has_user_shstk : 1; }; }; @@ -84,6 +85,7 @@ public: bool IMPLEMENT (has_linux_tcp_keepalive_sockopts) bool IMPLEMENT (has_tcp_maxrtms) bool IMPLEMENT (has_con_broken_tabs) + bool IMPLEMENT (has_user_shstk) void disable_case_sensitive_dirs () { -- 2.39.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v4 2/3] wincap.cc: set wincap member has_user_shstk true for 2004+ 2023-06-19 18:15 [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk Brian Inglis 2023-06-19 18:15 ` [PATCH v4 1/3] wincap.h: add wincap member has_user_shstk Brian Inglis @ 2023-06-19 18:15 ` Brian Inglis 2023-06-19 18:15 ` [PATCH v4 3/3] fhandler/proc.cc: use wincap.has_user_shstk Brian Inglis 2023-06-20 8:22 ` [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk Corinna Vinschen 3 siblings, 0 replies; 8+ messages in thread From: Brian Inglis @ 2023-06-19 18:15 UTC (permalink / raw) To: cygwin-patches Fixes: 41fdb869f998 fhandler/proc.cc(format_proc_cpuinfo): Add Linux 6.3 cpuinfo Signed-off-by: Brian Inglis <Brian.Inglis@Shaw.ca> --- winsup/cygwin/wincap.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index 91d5d9df8889..30d9c14e8d3b 100644 --- a/winsup/cygwin/wincap.cc +++ b/winsup/cygwin/wincap.cc @@ -31,6 +31,7 @@ static const wincaps wincap_8_1 = { has_linux_tcp_keepalive_sockopts:false, has_tcp_maxrtms:false, has_con_broken_tabs:false, + has_user_shstk:false, }, }; @@ -52,6 +53,7 @@ static const wincaps wincap_10_1507 = { has_linux_tcp_keepalive_sockopts:false, has_tcp_maxrtms:false, has_con_broken_tabs:false, + has_user_shstk:false, }, }; @@ -73,6 +75,7 @@ static const wincaps wincap_10_1607 = { has_linux_tcp_keepalive_sockopts:false, has_tcp_maxrtms:true, has_con_broken_tabs:false, + has_user_shstk:false, }, }; @@ -94,6 +97,7 @@ static const wincaps wincap_10_1703 = { has_linux_tcp_keepalive_sockopts:false, has_tcp_maxrtms:true, has_con_broken_tabs:true, + has_user_shstk:false, }, }; @@ -115,6 +119,7 @@ static const wincaps wincap_10_1709 = { has_linux_tcp_keepalive_sockopts:true, has_tcp_maxrtms:true, has_con_broken_tabs:true, + has_user_shstk:false, }, }; @@ -136,6 +141,7 @@ static const wincaps wincap_10_1803 = { has_linux_tcp_keepalive_sockopts:true, has_tcp_maxrtms:true, has_con_broken_tabs:true, + has_user_shstk:false, }, }; @@ -157,6 +163,7 @@ static const wincaps wincap_10_1809 = { has_linux_tcp_keepalive_sockopts:true, has_tcp_maxrtms:true, has_con_broken_tabs:true, + has_user_shstk:false, }, }; @@ -178,6 +185,7 @@ static const wincaps wincap_10_1903 = { has_linux_tcp_keepalive_sockopts:true, has_tcp_maxrtms:true, has_con_broken_tabs:true, + has_user_shstk:false, }, }; @@ -199,6 +207,7 @@ static const wincaps wincap_10_2004 = { has_linux_tcp_keepalive_sockopts:true, has_tcp_maxrtms:true, has_con_broken_tabs:true, + has_user_shstk:true, }, }; @@ -220,6 +229,7 @@ static const wincaps wincap_11 = { has_linux_tcp_keepalive_sockopts:true, has_tcp_maxrtms:true, has_con_broken_tabs:false, + has_user_shstk:true, }, }; -- 2.39.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v4 3/3] fhandler/proc.cc: use wincap.has_user_shstk 2023-06-19 18:15 [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk Brian Inglis 2023-06-19 18:15 ` [PATCH v4 1/3] wincap.h: add wincap member has_user_shstk Brian Inglis 2023-06-19 18:15 ` [PATCH v4 2/3] wincap.cc: set wincap member has_user_shstk true for 2004+ Brian Inglis @ 2023-06-19 18:15 ` Brian Inglis 2023-06-20 8:22 ` [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk Corinna Vinschen 3 siblings, 0 replies; 8+ messages in thread From: Brian Inglis @ 2023-06-19 18:15 UTC (permalink / raw) To: cygwin-patches Fixes: 41fdb869f998 fhandler/proc.cc(format_proc_cpuinfo): Add Linux 6.3 cpuinfo Signed-off-by: Brian Inglis <Brian.Inglis@Shaw.ca> --- winsup/cygwin/fhandler/proc.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/winsup/cygwin/fhandler/proc.cc b/winsup/cygwin/fhandler/proc.cc index 3c79762e0fbd..cbc49a12a417 100644 --- a/winsup/cygwin/fhandler/proc.cc +++ b/winsup/cygwin/fhandler/proc.cc @@ -1486,12 +1486,12 @@ format_proc_cpuinfo (void *, char *&destbuf) /* ftcprint (features1, 6, "split_lock_detect");*//* MSR_TEST_CTRL split lock */ - /* cpuid 0x00000007 ecx & Windows [20]20H1/[20]2004+ */ - if (maxf >= 0x00000007 && wincap.osname () >= "10.0" - && wincap.build_number () >= 19041) + /* Windows [20]20H1/[20]2004/19041 user shadow stack */ + if (maxf >= 0x00000007 && wincap.has_user_shstk ()) { + /* cpuid 0x00000007 ecx CET shadow stack */ cpuid (&unused, &unused, &features1, &unused, 0x00000007, 0); - ftcprint (features1, 7, "user_shstk"); /* "user shadow stack" */ + ftcprint (features1, 7, "user_shstk"); /* user shadow stack */ } /* cpuid 0x00000007:1 eax */ -- 2.39.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk 2023-06-19 18:15 [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk Brian Inglis ` (2 preceding siblings ...) 2023-06-19 18:15 ` [PATCH v4 3/3] fhandler/proc.cc: use wincap.has_user_shstk Brian Inglis @ 2023-06-20 8:22 ` Corinna Vinschen 2023-06-21 4:50 ` Brian Inglis 3 siblings, 1 reply; 8+ messages in thread From: Corinna Vinschen @ 2023-06-20 8:22 UTC (permalink / raw) To: cygwin-patches On Jun 19 12:15, Brian Inglis wrote: > In test for for AMD/Intel Control flow Enforcement Technology user mode > shadow stack support replace Windows version tests with test of wincap > member addition has_user_shstk with Windows version dependent value > > Fixes: 41fdb869f998 fhandler/proc.cc(format_proc_cpuinfo): Add Linux 6.3 cpuinfo > Signed-off-by: Brian Inglis <Brian.Inglis@Shaw.ca> > > Brian Inglis (3): > wincap.h: add wincap member has_user_shstk > wincap.cc: set wincap member has_user_shstk true for 2004+ > fhandler/proc.cc: use wincap.has_user_shstk > > winsup/cygwin/fhandler/proc.cc | 8 ++++---- > winsup/cygwin/local_includes/wincap.h | 2 ++ > winsup/cygwin/wincap.cc | 10 ++++++++++ > 3 files changed, 16 insertions(+), 4 deletions(-) Never mind, I fixed the remaining problems. Thanks for the patch, I pushed it with slight modifications to the commit messages. I'm a bit puzzled if my original mail https://cygwin.com/pipermail/cygwin-patches/2023q2/012280.html was really that unclear. Reiterating for the records: - Commit messages should really try to explain why the patch is made and what it's good for. In case of fixing a bug, the bug should be explained and, ideally, explain why the patch is the better solution. - If a patch fixes an older bug, it should say so and point out the commit which introduced the bug using the Fixes: tag. The format is Fixes: <12-digit-SHA1> ("<commit headline>") The parens and quoting chars are part of the format. - Every patch should contain a Signed-off-by: to indicate that you did the patch by yourself. That's easily automated by using `git commit -s'. - Other Tags like "Reported-by:" or "Tested-by:" are nice to have, but not essential. Thanks, Corinna ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk 2023-06-20 8:22 ` [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk Corinna Vinschen @ 2023-06-21 4:50 ` Brian Inglis 2023-06-21 8:22 ` Corinna Vinschen 0 siblings, 1 reply; 8+ messages in thread From: Brian Inglis @ 2023-06-21 4:50 UTC (permalink / raw) To: cygwin-patches On 2023-06-20 02:22, Corinna Vinschen wrote: > On Jun 19 12:15, Brian Inglis wrote: >> In test for for AMD/Intel Control flow Enforcement Technology user mode >> shadow stack support replace Windows version tests with test of wincap >> member addition has_user_shstk with Windows version dependent value >> >> Fixes: 41fdb869f998 fhandler/proc.cc(format_proc_cpuinfo): Add Linux 6.3 cpuinfo >> Signed-off-by: Brian Inglis <Brian.Inglis@Shaw.ca> >> >> Brian Inglis (3): >> wincap.h: add wincap member has_user_shstk >> wincap.cc: set wincap member has_user_shstk true for 2004+ >> fhandler/proc.cc: use wincap.has_user_shstk >> >> winsup/cygwin/fhandler/proc.cc | 8 ++++---- >> winsup/cygwin/local_includes/wincap.h | 2 ++ >> winsup/cygwin/wincap.cc | 10 ++++++++++ >> 3 files changed, 16 insertions(+), 4 deletions(-) > > Never mind, I fixed the remaining problems. Thanks for the patch, > I pushed it with slight modifications to the commit messages. > > I'm a bit puzzled if my original mail > https://cygwin.com/pipermail/cygwin-patches/2023q2/012280.html > was really that unclear. Reiterating for the records: > > - Commit messages should really try to explain why the patch is made and > what it's good for. In case of fixing a bug, the bug should be explained > and, ideally, explain why the patch is the better solution. > > - If a patch fixes an older bug, it should say so and point out the > commit which introduced the bug using the Fixes: tag. The format > is > > Fixes: <12-digit-SHA1> ("<commit headline>") > > The parens and quoting chars are part of the format. > > - Every patch should contain a Signed-off-by: to indicate that > you did the patch by yourself. That's easily automated by > using `git commit -s'. > > - Other Tags like "Reported-by:" or "Tested-by:" are nice to have, > but not essential. >> - For obvious reasons, the message text in your cover message won't make >> it into the git repo. However, the commit messages in git should >> reflect why the change was made, so a future interested reader has >> a chance to understand why a change was made. Not obvious to me unfortunately! >> - As I already mentioned a couple of times on this list (but not >> lately), it would be great if you could always add a "Signed-off-by:" >> line. I added that to my config. >> - Also, given this patch fixes an earlier patch, it should contain >> a line >> >> Fixes: <12-digit-SHA1> ("commit headline") ASSUME NOTHING (as we used to write in masm) about me, git, background info, or conventions: man page or link refs please? I personally used CVS then Hg, and needed BK for another project. I only use git seriously for this project, as most businesses supported at best CVS, most projects relied on backups of network shares, and saw little value in source control, even in software cos; others were anal about it, requiring diffs, but did not trust developers (maybe just contractors) with access to their secure vaults! [It made for interesting chats, some after I was gone, when their test builds were still showing bugs I had fixed, tested, and submitted source changes for weeks earlier!] After trying to earlier track down useful docs I just managed to find: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst which presumably is the background I need? Some stuff is also mentioned in: https://git.kernel.org/pub/scm/git/git.git/tree/Documentation/SubmittingPatches which may have a more explanatory and practical focus. -- Take care. Thanks, Brian Inglis Calgary, Alberta, Canada La perfection est atteinte Perfection is achieved non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut -- Antoine de Saint-Exupéry ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk 2023-06-21 4:50 ` Brian Inglis @ 2023-06-21 8:22 ` Corinna Vinschen 2023-06-21 15:04 ` Brian Inglis 0 siblings, 1 reply; 8+ messages in thread From: Corinna Vinschen @ 2023-06-21 8:22 UTC (permalink / raw) To: cygwin-patches On Jun 20 22:50, Brian Inglis wrote: > On 2023-06-20 02:22, Corinna Vinschen wrote: > > On Jun 19 12:15, Brian Inglis wrote: > > > In test for for AMD/Intel Control flow Enforcement Technology user mode > > > shadow stack support replace Windows version tests with test of wincap > > > member addition has_user_shstk with Windows version dependent value > > > > > > Fixes: 41fdb869f998 fhandler/proc.cc(format_proc_cpuinfo): Add Linux 6.3 cpuinfo > > > Signed-off-by: Brian Inglis <Brian.Inglis@Shaw.ca> > > > > > > Brian Inglis (3): > > > wincap.h: add wincap member has_user_shstk > > > wincap.cc: set wincap member has_user_shstk true for 2004+ > > > fhandler/proc.cc: use wincap.has_user_shstk > > > > > > winsup/cygwin/fhandler/proc.cc | 8 ++++---- > > > winsup/cygwin/local_includes/wincap.h | 2 ++ > > > winsup/cygwin/wincap.cc | 10 ++++++++++ > > > 3 files changed, 16 insertions(+), 4 deletions(-) > > > > Never mind, I fixed the remaining problems. Thanks for the patch, > > I pushed it with slight modifications to the commit messages. > > > > I'm a bit puzzled if my original mail > > https://cygwin.com/pipermail/cygwin-patches/2023q2/012280.html > > was really that unclear. Reiterating for the records: > > > > - Commit messages should really try to explain why the patch is made and > > what it's good for. In case of fixing a bug, the bug should be explained > > and, ideally, explain why the patch is the better solution. > > > > - If a patch fixes an older bug, it should say so and point out the > > commit which introduced the bug using the Fixes: tag. The format > > is > > Fixes: <12-digit-SHA1> ("<commit headline>") > > > > The parens and quoting chars are part of the format. > > > > - Every patch should contain a Signed-off-by: to indicate that > > you did the patch by yourself. That's easily automated by > > using `git commit -s'. > > > > - Other Tags like "Reported-by:" or "Tested-by:" are nice to have, > > but not essential. > > > > - For obvious reasons, the message text in your cover message won't make > > > it into the git repo. However, the commit messages in git should > > > reflect why the change was made, so a future interested reader has > > > a chance to understand why a change was made. > > Not obvious to me unfortunately! No worries, we're all learning while we're going along. > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst This is pretty well written, and it very nicely explains how to write commit messages and use tagging. Writing useful commit messages helps other people a lot to understand why a patch was made, especially in tricky error cases (locking issues are hard to follow, a good explanation is key). If you ask me, there's no such thing as a too long commit message. We're a small group so we're not supposed to follow the above document to the core. However, things like "Fixes:" are really great, because they connect a patch with a history of other patches and allow an aha effect when checking on the referenced older patch. I can honestely tell you that it already helped me a lot when working on the Linux kernel. That's why I'd like to make this standard for our small project here, too. And one of the core expressions used in this doc is this: Don't get discouraged - or impatient :) Corinna ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk 2023-06-21 8:22 ` Corinna Vinschen @ 2023-06-21 15:04 ` Brian Inglis 0 siblings, 0 replies; 8+ messages in thread From: Brian Inglis @ 2023-06-21 15:04 UTC (permalink / raw) To: cygwin-patches On 2023-06-21 02:22, Corinna Vinschen wrote: > On Jun 20 22:50, Brian Inglis wrote: >> On 2023-06-20 02:22, Corinna Vinschen wrote: >>> Never mind, I fixed the remaining problems. Thanks for the patch, >>> I pushed it with slight modifications to the commit messages. >>> >>> I'm a bit puzzled if my original mail >>> https://cygwin.com/pipermail/cygwin-patches/2023q2/012280.html >>> was really that unclear. Reiterating for the records: >>> >>> - Commit messages should really try to explain why the patch is made and >>> what it's good for. In case of fixing a bug, the bug should be explained >>> and, ideally, explain why the patch is the better solution. >>> >>> - If a patch fixes an older bug, it should say so and point out the >>> commit which introduced the bug using the Fixes: tag. The format >>> is >>> Fixes: <12-digit-SHA1> ("<commit headline>") >>> >>> The parens and quoting chars are part of the format. >>> >>> - Every patch should contain a Signed-off-by: to indicate that >>> you did the patch by yourself. That's easily automated by >>> using `git commit -s'. >>> >>> - Other Tags like "Reported-by:" or "Tested-by:" are nice to have, >>> but not essential. >> >>>> - For obvious reasons, the message text in your cover message won't make >>>> it into the git repo. However, the commit messages in git should >>>> reflect why the change was made, so a future interested reader has >>>> a chance to understand why a change was made. >> >> Not obvious to me unfortunately! > > No worries, we're all learning while we're going along. > >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst > > This is pretty well written, and it very nicely explains how to write > commit messages and use tagging. > > Writing useful commit messages helps other people a lot to understand > why a patch was made, especially in tricky error cases (locking issues > are hard to follow, a good explanation is key). > > If you ask me, there's no such thing as a too long commit message. > > We're a small group so we're not supposed to follow the above document > to the core. However, things like "Fixes:" are really great, because > they connect a patch with a history of other patches and allow an aha > effect when checking on the referenced older patch. I can honestely > tell you that it already helped me a lot when working on the Linux > kernel. That's why I'd like to make this standard for our small project > here, too. > > And one of the core expressions used in this doc is this: > Don't get discouraged - or impatient > :) Cheers - never discouraged - a bit impatient because often frustrated - sometimes confused - like Alice and the White Knight's song "Haddocks' Eyes" - finding that the /footers/ are sometimes called /headers/ and other times /tags/ but actually named *trailers* finally gave more useful results where /fixes/ did not! ;^> -- Take care. Thanks, Brian Inglis Calgary, Alberta, Canada La perfection est atteinte Perfection is achieved non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut -- Antoine de Saint-Exupéry ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-06-21 15:04 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-06-19 18:15 [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk Brian Inglis 2023-06-19 18:15 ` [PATCH v4 1/3] wincap.h: add wincap member has_user_shstk Brian Inglis 2023-06-19 18:15 ` [PATCH v4 2/3] wincap.cc: set wincap member has_user_shstk true for 2004+ Brian Inglis 2023-06-19 18:15 ` [PATCH v4 3/3] fhandler/proc.cc: use wincap.has_user_shstk Brian Inglis 2023-06-20 8:22 ` [PATCH v4 0/3] use wincap in format_proc_cpuinfo for user_shstk Corinna Vinschen 2023-06-21 4:50 ` Brian Inglis 2023-06-21 8:22 ` Corinna Vinschen 2023-06-21 15:04 ` Brian Inglis
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).