diff options
| author | Kumar Kartikeya Dwivedi <memxor@gmail.com> | 2026-09-04 10:43:19 +0200 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2026-09-04 07:58:36 -0700 |
| commit | 6668ed271eaefaa63e686bdfbedaeb7b8e492722 (patch) | |
| tree | 58e8288fead484f6755ad0815fc74c3742663761 /fs/unicode/README.utf8data | |
| download | linux-stable-6668ed271eaefaa63e686bdfbedaeb7b8e492722.tar.gz linux-stable-6668ed271eaefaa63e686bdfbedaeb7b8e492722.zip | |
selftests/bpf: Reject graph kptr use after RCU unlockgrafted
Add a sleepable verifier test that loads a graph-node local kptr in an
explicit RCU read-side critical section, then passes its node to
bpf_rbtree_remove() after the section ends.
Before the verifier fix, the stale NON_OWN_REF flag makes the node look like
a live borrowed reference and the program is accepted. After the fix, the
pointer is demoted without NON_OWN_REF and the graph kfunc argument is
rejected.
Also exercise a graph kptr loaded while a spin lock provides implicit RCU
protection. The pointer must be invalidated when the lock is released, which
guards the required ordering between non-owning-reference invalidation and
RCU demotion.
Update the existing fault-protected load test state description. The
post-unlock pointer no longer carries NON_OWN_REF, but remains readable
because the load is rewritten to use BPF_PROBE_MEM.
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://lore.kernel.org/r/20260904084325.52250-7-memxor@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'fs/unicode/README.utf8data')
| -rw-r--r-- | fs/unicode/README.utf8data | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/fs/unicode/README.utf8data b/fs/unicode/README.utf8data new file mode 100644 index 000000000..f75567e28 --- /dev/null +++ b/fs/unicode/README.utf8data @@ -0,0 +1,57 @@ +The utf8data.c file in this directory is generated from the Unicode +Character Database for version 12.1.0 of the Unicode standard. + +The full set of files can be found here: + + http://www.unicode.org/Public/12.1.0/ucd/ + +Individual source links: + + https://www.unicode.org/Public/12.1.0/ucd/CaseFolding.txt + https://www.unicode.org/Public/12.1.0/ucd/DerivedAge.txt + https://www.unicode.org/Public/12.1.0/ucd/extracted/DerivedCombiningClass.txt + https://www.unicode.org/Public/12.1.0/ucd/DerivedCoreProperties.txt + https://www.unicode.org/Public/12.1.0/ucd/NormalizationCorrections.txt + https://www.unicode.org/Public/12.1.0/ucd/NormalizationTest.txt + https://www.unicode.org/Public/12.1.0/ucd/UnicodeData.txt + +md5sums (verify by running "md5sum -c README.utf8data"): + + 900e76da1d822a160fd6b8c0b1d70094 CaseFolding.txt + 131256380bff4fea8ad4a851616f2f10 DerivedAge.txt + e731a4089b30002144e107e3d6f8d1fa DerivedCombiningClass.txt + a47c9fbd7ff92a9b261ba9831e68778a DerivedCoreProperties.txt + fcab6dad15e440879d92f315978f93d3 NormalizationCorrections.txt + f9ff1c55a60decf436100f791b44aa98 NormalizationTest.txt + 755f6af699f8c8d2d958da411f78f6c6 UnicodeData.txt + +sha1sums (verify by running "sha1sum -c README.utf8data"): + + dc9245f6803c4ac99555c361f5052e0b13eb779b CaseFolding.txt + 3281104f237184cdb5d869e86eb8573678ada7da DerivedAge.txt + 2f5f995ccb96e0fa84b15151b35d5e2681535175 DerivedCombiningClass.txt + 5b8698a3fcd5018e1987f296b02e2c17e696415e DerivedCoreProperties.txt + cd83935fbc012345d8792d2c704f69497e753835 NormalizationCorrections.txt + ea419aae505b337b0d99a83fa83fe58ddff7c19f NormalizationTest.txt + dc973c0fc93d6f09d9ab9f70d1c9f89c447f0526 UnicodeData.txt + + +To update to the newer version of the Unicode standard, the latest +released version of the UCD can be found here: + + http://www.unicode.org/Public/UCD/latest/ + +Then, build under fs/unicode/ with REGENERATE_UTF8DATA=1: + + make REGENERATE_UTF8DATA=1 fs/unicode/ + +After sanity checking the newly generated utf8data.c file (the +version generated from the 12.1.0 UCD should be 4,109 lines long, and +have a total size of 324k) and/or comparing it with the older version +of utf8data.c_shipped, rename it to utf8data.c_shipped. + +If you are a kernel developer updating to a newer version of the +Unicode Character Database, please update this README.utf8data file +with the version of the UCD that was used, the md5sum and sha1sums of +the *.txt files, before checking in the new versions of the utf8data.c +and README.utf8data files. |
