From 22c8182fc6f923e1b71cd880802ec88c03c9f46c Mon Sep 17 00:00:00 2001 From: Nell Shamrell Date: Mon, 7 Aug 2023 11:35:41 -0700 Subject: [PATCH 1/5] adds initial docs around funding and best practices Signed-off-by: Nell Shamrell --- ...t-practice-non-memory-safe-by-default-languages.md | 10 ++++++++++ docs/funding-recommendations.md | 11 +++++++++++ 2 files changed, 21 insertions(+) create mode 100644 docs/best-practice-non-memory-safe-by-default-languages.md create mode 100644 docs/funding-recommendations.md diff --git a/docs/best-practice-non-memory-safe-by-default-languages.md b/docs/best-practice-non-memory-safe-by-default-languages.md new file mode 100644 index 0000000..16397a1 --- /dev/null +++ b/docs/best-practice-non-memory-safe-by-default-languages.md @@ -0,0 +1,10 @@ +# Best Practices - Non Memory-Safe By Default Languages + +This working group recommends switching to a memory-safe by default language whenever possible. However, when switching to a memory-safe by default language is not possible, there are developer practices that will improve memory safety, even if it is not the default. + +# C +* [Scope-based resource management for the kernel](https://lwn.net/Articles/934679/) + +## C++ +* [Making C++ Memory-Safe Without Borrow Checking, Reference Counting, or Tracing Garbage Collection](https://verdagon.dev/blog/vale-memory-safe-cpp) +* [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) diff --git a/docs/funding-recommendations.md b/docs/funding-recommendations.md new file mode 100644 index 0000000..40af08e --- /dev/null +++ b/docs/funding-recommendations.md @@ -0,0 +1,11 @@ +# Funding recommendations + +This document captures initiatives this working group recommends that the OpenSSF and its members fund. + +## Evaluation Criteria + +TODO + +## Initiatives we have evaluated and recommend + +## Initiatives we are currently evaluating \ No newline at end of file From 5a468fed364dfe2465a36ee9b4cf66fc6aa6f862 Mon Sep 17 00:00:00 2001 From: Nell Shamrell Date: Mon, 7 Aug 2023 11:41:15 -0700 Subject: [PATCH 2/5] corrects formatting Signed-off-by: Nell Shamrell --- docs/funding-recommendations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/funding-recommendations.md b/docs/funding-recommendations.md index 40af08e..fe85036 100644 --- a/docs/funding-recommendations.md +++ b/docs/funding-recommendations.md @@ -8,4 +8,4 @@ TODO ## Initiatives we have evaluated and recommend -## Initiatives we are currently evaluating \ No newline at end of file +## Initiatives we are currently evaluating From feb70134eb5666cf1544f6446a6d869644f438e0 Mon Sep 17 00:00:00 2001 From: Nell Shamrell Date: Thu, 10 Aug 2023 09:53:50 -0700 Subject: [PATCH 3/5] incorporates feedback Signed-off-by: Nell Shamrell --- docs/best-practice-non-memory-safe-by-default-languages.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/best-practice-non-memory-safe-by-default-languages.md b/docs/best-practice-non-memory-safe-by-default-languages.md index 16397a1..9d17179 100644 --- a/docs/best-practice-non-memory-safe-by-default-languages.md +++ b/docs/best-practice-non-memory-safe-by-default-languages.md @@ -1,6 +1,6 @@ # Best Practices - Non Memory-Safe By Default Languages -This working group recommends switching to a memory-safe by default language whenever possible. However, when switching to a memory-safe by default language is not possible, there are developer practices that will improve memory safety, even if it is not the default. +This working group recommends switching to a memory-safe by default language whenever possible or practical. However, when switching to a memory-safe by default language is not possible or practical, there are developer practices that will improve memory safety, even if it is not the default. # C * [Scope-based resource management for the kernel](https://lwn.net/Articles/934679/) From c9b40a4c78c8ce7d3183abcaded935b1bf2ad8c2 Mon Sep 17 00:00:00 2001 From: Nell Shamrell Date: Thu, 10 Aug 2023 09:58:41 -0700 Subject: [PATCH 4/5] fix markdown Signed-off-by: Nell Shamrell --- docs/best-practice-non-memory-safe-by-default-languages.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/best-practice-non-memory-safe-by-default-languages.md b/docs/best-practice-non-memory-safe-by-default-languages.md index 9d17179..a1ceace 100644 --- a/docs/best-practice-non-memory-safe-by-default-languages.md +++ b/docs/best-practice-non-memory-safe-by-default-languages.md @@ -2,9 +2,11 @@ This working group recommends switching to a memory-safe by default language whenever possible or practical. However, when switching to a memory-safe by default language is not possible or practical, there are developer practices that will improve memory safety, even if it is not the default. -# C +## C + * [Scope-based resource management for the kernel](https://lwn.net/Articles/934679/) ## C++ + * [Making C++ Memory-Safe Without Borrow Checking, Reference Counting, or Tracing Garbage Collection](https://verdagon.dev/blog/vale-memory-safe-cpp) * [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) From f0be6af00c6da292fb1abb082166d771b8cc096f Mon Sep 17 00:00:00 2001 From: Nell Shamrell Date: Tue, 5 Sep 2023 16:29:59 -0700 Subject: [PATCH 5/5] edits to best practices doc Signed-off-by: Nell Shamrell --- docs/best-practice-non-memory-safe-by-default-languages.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/best-practice-non-memory-safe-by-default-languages.md b/docs/best-practice-non-memory-safe-by-default-languages.md index a1ceace..20b92fb 100644 --- a/docs/best-practice-non-memory-safe-by-default-languages.md +++ b/docs/best-practice-non-memory-safe-by-default-languages.md @@ -1,6 +1,6 @@ # Best Practices - Non Memory-Safe By Default Languages -This working group recommends switching to a memory-safe by default language whenever possible or practical. However, when switching to a memory-safe by default language is not possible or practical, there are developer practices that will improve memory safety, even if it is not the default. +This working group recommends using a memory-safe by default language whenever possible or practical. However, when using a memory-safe by default language is not possible or practical, there are developer practices that will improve memory safety, even if it is not the default. ## C @@ -10,3 +10,4 @@ This working group recommends switching to a memory-safe by default language whe * [Making C++ Memory-Safe Without Borrow Checking, Reference Counting, or Tracing Garbage Collection](https://verdagon.dev/blog/vale-memory-safe-cpp) * [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) +* [C/C++ Hardening Guide](https://github.com/ossf/wg-best-practices-os-developers/tree/main/docs/Compiler-Hardening-Guides)