This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/nuttx-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new e1958aef51 Publishing web: 1f0e88c292fbd80476d2716a9fd7c5af6e787cfc 
docs: d487c46a292d96bee1bb59b229c84714865bd40c
e1958aef51 is described below

commit e1958aef5100a7bd2573cc71d363ebc5fb381f6e
Author: The Apache Software Foundation <[email protected]>
AuthorDate: Fri Jun 12 01:09:13 2026 +0000

    Publishing web: 1f0e88c292fbd80476d2716a9fd7c5af6e787cfc docs: 
d487c46a292d96bee1bb59b229c84714865bd40c
---
 content/docs/10.0.0/index.html                     |   2 +-
 content/docs/10.0.1/index.html                     |   2 +-
 content/docs/10.1.0/index.html                     |   2 +-
 content/docs/10.2.0/index.html                     |   2 +-
 content/docs/10.3.0/index.html                     |   2 +-
 content/docs/11.0.0/index.html                     |   2 +-
 content/docs/12.0.0/index.html                     |   2 +-
 content/docs/12.0.0/searchindex.js                 |   2 +-
 content/docs/12.1.0/index.html                     |   2 +-
 content/docs/12.1.0/searchindex.js                 |   2 +-
 content/docs/12.10.0/index.html                    |   2 +-
 content/docs/12.10.0/searchindex.js                |   2 +-
 content/docs/12.11.0/guides/fully_linked_elf.html  |   2 +-
 .../docs/12.11.0/guides/partially_linked_elf.html  |   2 +-
 content/docs/12.11.0/index.html                    |   2 +-
 content/docs/12.11.0/searchindex.js                |   2 +-
 content/docs/12.12.0/guides/fully_linked_elf.html  |   2 +-
 .../docs/12.12.0/guides/partially_linked_elf.html  |   2 +-
 content/docs/12.12.0/index.html                    |   2 +-
 content/docs/12.12.0/searchindex.js                |   2 +-
 content/docs/12.13.0/guides/fully_linked_elf.html  |   2 +-
 .../docs/12.13.0/guides/partially_linked_elf.html  |   2 +-
 content/docs/12.13.0/index.html                    |   2 +-
 content/docs/12.13.0/searchindex.js                |   2 +-
 content/docs/12.2.0/index.html                     |   2 +-
 content/docs/12.2.0/searchindex.js                 |   2 +-
 content/docs/12.2.1/index.html                     |   2 +-
 .../xtensa/esp32/boards/esp32-audio-kit/index.html |   2 +-
 .../xtensa/esp32/boards/esp32-devkitc/index.html   |   2 +-
 content/docs/12.2.1/searchindex.js                 |   2 +-
 content/docs/12.3.0/index.html                     |   2 +-
 content/docs/12.3.0/searchindex.js                 |   2 +-
 content/docs/12.4.0/index.html                     |   2 +-
 content/docs/12.4.0/searchindex.js                 |   2 +-
 content/docs/12.5.0/index.html                     |   2 +-
 content/docs/12.5.0/searchindex.js                 |   2 +-
 content/docs/12.5.1/index.html                     |   2 +-
 content/docs/12.5.1/searchindex.js                 |   2 +-
 content/docs/12.6.0/index.html                     |   2 +-
 content/docs/12.6.0/searchindex.js                 |   2 +-
 content/docs/12.7.0/index.html                     |   2 +-
 content/docs/12.7.0/searchindex.js                 |   2 +-
 content/docs/12.8.0/index.html                     |   2 +-
 content/docs/12.8.0/searchindex.js                 |   2 +-
 content/docs/12.9.0/index.html                     |   2 +-
 content/docs/12.9.0/searchindex.js                 |   2 +-
 .../latest/_sources/implementation/index.rst.txt   |   1 +
 .../implementation/tasks_vs_threads.rst.txt        |   2 +
 .../_sources/implementation/user_identity.rst.txt  |  71 +++++++++
 content/docs/latest/guides/fully_linked_elf.html   |   2 +-
 .../docs/latest/guides/partially_linked_elf.html   |   2 +-
 .../implementation/bottomhalf_interrupt.html       |   1 +
 .../latest/implementation/cancellation_points.html |   1 +
 content/docs/latest/implementation/chip_h.html     |   1 +
 .../latest/implementation/context_switches.html    |   1 +
 .../latest/implementation/critical_sections.html   |   1 +
 .../docs/latest/implementation/device_drivers.html |   1 +
 .../docs/latest/implementation/device_nodes.html   |   1 +
 .../docs/latest/implementation/drivers_design.html |   1 +
 .../latest/implementation/file_descriptors.html    |   1 +
 content/docs/latest/implementation/hardfaults.html |   1 +
 content/docs/latest/implementation/index.html      |   8 +
 .../latest/implementation/interrupt_controls.html  |   1 +
 content/docs/latest/implementation/ioctl.html      |   1 +
 .../kernel_modules_vs_shared_libraries.html        |   1 +
 .../implementation/kernel_threads_vs_pthreads.html |   1 +
 .../latest/implementation/make_build_system.html   |   1 +
 .../implementation/memory_configurations.html      |   1 +
 .../naming_arch_mcu_board_interfaces.html          |   1 +
 .../latest/implementation/naming_os_internals.html |   1 +
 .../nuttx_initialization_sequence.html             |   1 +
 .../docs/latest/implementation/nuttx_tasking.html  |   1 +
 .../oneshot_timers_and_cpu_load.html               |   1 +
 .../latest/implementation/power_management.html    |   1 +
 .../latest/implementation/preemption_latency.html  |   1 +
 .../latest/implementation/processes_vs_tasks.html  |   1 +
 .../latest/implementation/short_time_delays.html   |   1 +
 .../latest/implementation/signal_handlers.html     |   1 +
 content/docs/latest/implementation/simulation.html |   1 +
 content/docs/latest/implementation/smp.html        |   1 +
 content/docs/latest/implementation/syslog.html     |   1 +
 .../latest/implementation/tasks_vs_threads.html    |   3 +
 .../docs/latest/implementation/tickless_os.html    |   1 +
 content/docs/latest/implementation/tls.html        |   5 +-
 content/docs/latest/implementation/usb.html        |   5 +-
 .../{device_nodes.html => user_identity.html}      | 170 ++++++++++-----------
 content/docs/latest/index.html                     |   3 +-
 content/docs/latest/objects.inv                    | Bin 211637 -> 211814 bytes
 .../rp2040/boards/raspberrypi-pico-w/index.html    |   2 +-
 .../arm/rp2040/boards/raspberrypi-pico/index.html  |   2 +-
 content/docs/latest/searchindex.js                 |   2 +-
 content/feed.xml                                   |   4 +-
 92 files changed, 253 insertions(+), 151 deletions(-)

diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index 816a51d48d..bae8e2ca60 100644
--- a/content/docs/10.0.0/index.html
+++ b/content/docs/10.0.0/index.html
@@ -207,7 +207,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" 
title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller 
environments, the primary governing standards in NuttX are Posix and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:45</p>
+<p>Last Updated: 12 June 26 at 00:48</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html
index 3843d61975..683445576d 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -251,7 +251,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" 
title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller 
environments, the primary governing standards in NuttX are Posix and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:45</p>
+<p>Last Updated: 12 June 26 at 00:48</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.1.0/index.html b/content/docs/10.1.0/index.html
index 86ad791436..a6d4780f23 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -251,7 +251,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" 
title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller 
environments, the primary governing standards in NuttX are POSIX and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:46</p>
+<p>Last Updated: 12 June 26 at 00:48</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.2.0/index.html b/content/docs/10.2.0/index.html
index e5962dcb50..d88e66c9f5 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -252,7 +252,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" 
title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller 
environments, the primary governing standards in NuttX are POSIX and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:46</p>
+<p>Last Updated: 12 June 26 at 00:48</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.3.0/index.html b/content/docs/10.3.0/index.html
index e5962dcb50..d88e66c9f5 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -252,7 +252,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" 
title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller 
environments, the primary governing standards in NuttX are POSIX and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:46</p>
+<p>Last Updated: 12 June 26 at 00:48</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/11.0.0/index.html b/content/docs/11.0.0/index.html
index e5962dcb50..cf94a74ed3 100644
--- a/content/docs/11.0.0/index.html
+++ b/content/docs/11.0.0/index.html
@@ -252,7 +252,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" 
title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller 
environments, the primary governing standards in NuttX are POSIX and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:46</p>
+<p>Last Updated: 12 June 26 at 00:49</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.0.0/index.html b/content/docs/12.0.0/index.html
index 089f1cb695..d36f1c5db6 100644
--- a/content/docs/12.0.0/index.html
+++ b/content/docs/12.0.0/index.html
@@ -177,7 +177,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" 
title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller 
environments, the primary governing standards in NuttX are POSIX and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:46</p>
+<p>Last Updated: 12 June 26 at 00:49</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.0.0/searchindex.js 
b/content/docs/12.0.0/searchindex.js
index 0470daeb8a..ffad6ec5e2 100644
--- a/content/docs/12.0.0/searchindex.js
+++ b/content/docs/12.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character
 [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character
 [...]
\ No newline at end of file
diff --git a/content/docs/12.1.0/index.html b/content/docs/12.1.0/index.html
index 26f108cc7e..a172a44208 100644
--- a/content/docs/12.1.0/index.html
+++ b/content/docs/12.1.0/index.html
@@ -177,7 +177,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" 
title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller 
environments, the primary governing standards in NuttX are POSIX and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:46</p>
+<p>Last Updated: 12 June 26 at 00:49</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.1.0/searchindex.js 
b/content/docs/12.1.0/searchindex.js
index a6eaf0092c..670405a9a2 100644
--- a/content/docs/12.1.0/searchindex.js
+++ b/content/docs/12.1.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character
 [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character
 [...]
\ No newline at end of file
diff --git a/content/docs/12.10.0/index.html b/content/docs/12.10.0/index.html
index 740e7d2664..44720028aa 100644
--- a/content/docs/12.10.0/index.html
+++ b/content/docs/12.10.0/index.html
@@ -189,7 +189,7 @@ standards. Additional standard APIs from Unix and other 
common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments 
(such
 as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:54</p>
+<p>Last Updated: 12 June 26 at 01:00</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.10.0/searchindex.js 
b/content/docs/12.10.0/searchindex.js
index 53d62c1565..55c6fb7714 100644
--- a/content/docs/12.10.0/searchindex.js
+++ b/content/docs/12.10.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", 
"_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560", 
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", 
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", 
"_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example", 
"_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-nrf52", 
"_tags/ [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", 
"_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560", 
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", 
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", 
"_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example", 
"_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-nrf52", 
"_tags/ [...]
\ No newline at end of file
diff --git a/content/docs/12.11.0/guides/fully_linked_elf.html 
b/content/docs/12.11.0/guides/fully_linked_elf.html
index 4c46c7880f..fa94cf707f 100644
--- a/content/docs/12.11.0/guides/fully_linked_elf.html
+++ b/content/docs/12.11.0/guides/fully_linked_elf.html
@@ -481,7 +481,7 @@ NuttX package: <code class="docutils literal 
notranslate"><span class="pre">nutt
 <div 
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version 
admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly 
outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" 
id="08b98017-2323-4c4b-9fef-d46765bdbce4" 
name="08b98017-2323-4c4b-9fef-d46765bdbce4" type="checkbox"><label 
class="sphinx_collapse__label" for="08b98017-2323-4c4b-9fef-d46765bdbce4"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="76f764d4-9a93-49ad-ad87-f2d78859403d" 
name="76f764d4-9a93-49ad-ad87-f2d78859403d" type="checkbox"><label 
class="sphinx_collapse__label" for="76f764d4-9a93-49ad-ad87-f2d78859403d"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/12.11.0/guides/partially_linked_elf.html 
b/content/docs/12.11.0/guides/partially_linked_elf.html
index da0f7402f5..d9dfacf7c5 100644
--- a/content/docs/12.11.0/guides/partially_linked_elf.html
+++ b/content/docs/12.11.0/guides/partially_linked_elf.html
@@ -507,7 +507,7 @@ NuttX package: <code class="docutils literal 
notranslate"><span class="pre">nutt
 <div 
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version 
admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly 
outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" 
id="509575c2-6032-4c1e-b6a9-d33895521d1c" 
name="509575c2-6032-4c1e-b6a9-d33895521d1c" type="checkbox"><label 
class="sphinx_collapse__label" for="509575c2-6032-4c1e-b6a9-d33895521d1c"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="606353da-9df4-40b6-abf6-a20af011d32d" 
name="606353da-9df4-40b6-abf6-a20af011d32d" type="checkbox"><label 
class="sphinx_collapse__label" for="606353da-9df4-40b6-abf6-a20af011d32d"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/12.11.0/index.html b/content/docs/12.11.0/index.html
index b9c9d20401..054ef66791 100644
--- a/content/docs/12.11.0/index.html
+++ b/content/docs/12.11.0/index.html
@@ -191,7 +191,7 @@ standards. Additional standard APIs from Unix and other 
common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments 
(such
 as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:56</p>
+<p>Last Updated: 12 June 26 at 01:01</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.11.0/searchindex.js 
b/content/docs/12.11.0/searchindex.js
index 2f19da5293..f002a6b5ae 100644
--- a/content/docs/12.11.0/searchindex.js
+++ b/content/docs/12.11.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", 
"_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560", 
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", 
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", 
"_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example", 
"_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-imx95", 
"_tags/ [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", 
"_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560", 
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", 
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", 
"_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example", 
"_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-imx95", 
"_tags/ [...]
\ No newline at end of file
diff --git a/content/docs/12.12.0/guides/fully_linked_elf.html 
b/content/docs/12.12.0/guides/fully_linked_elf.html
index 699660778c..bc6c4197ba 100644
--- a/content/docs/12.12.0/guides/fully_linked_elf.html
+++ b/content/docs/12.12.0/guides/fully_linked_elf.html
@@ -481,7 +481,7 @@ NuttX package: <code class="docutils literal 
notranslate"><span class="pre">nutt
 <div 
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version 
admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly 
outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" 
id="c1324cdd-845e-49c5-a10e-64bbd5dcddb1" 
name="c1324cdd-845e-49c5-a10e-64bbd5dcddb1" type="checkbox"><label 
class="sphinx_collapse__label" for="c1324cdd-845e-49c5-a10e-64bbd5dcddb1"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="535ea5af-b34e-49dd-bdc2-68c9126531da" 
name="535ea5af-b34e-49dd-bdc2-68c9126531da" type="checkbox"><label 
class="sphinx_collapse__label" for="535ea5af-b34e-49dd-bdc2-68c9126531da"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/12.12.0/guides/partially_linked_elf.html 
b/content/docs/12.12.0/guides/partially_linked_elf.html
index 139d89044b..3d34013229 100644
--- a/content/docs/12.12.0/guides/partially_linked_elf.html
+++ b/content/docs/12.12.0/guides/partially_linked_elf.html
@@ -507,7 +507,7 @@ NuttX package: <code class="docutils literal 
notranslate"><span class="pre">nutt
 <div 
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version 
admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly 
outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" 
id="ee198a11-a60d-423d-b01a-1e22d4ba90b8" 
name="ee198a11-a60d-423d-b01a-1e22d4ba90b8" type="checkbox"><label 
class="sphinx_collapse__label" for="ee198a11-a60d-423d-b01a-1e22d4ba90b8"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="71fe8bd0-9df9-47a6-a5bd-62dcb31d1239" 
name="71fe8bd0-9df9-47a6-a5bd-62dcb31d1239" type="checkbox"><label 
class="sphinx_collapse__label" for="71fe8bd0-9df9-47a6-a5bd-62dcb31d1239"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/12.12.0/index.html b/content/docs/12.12.0/index.html
index b1ebfc2584..82e0bc0318 100644
--- a/content/docs/12.12.0/index.html
+++ b/content/docs/12.12.0/index.html
@@ -191,7 +191,7 @@ standards. Additional standard APIs from Unix and other 
common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments 
(such
 as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:57</p>
+<p>Last Updated: 12 June 26 at 01:03</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.12.0/searchindex.js 
b/content/docs/12.12.0/searchindex.js
index 23d079bf82..9d32e08e9a 100644
--- a/content/docs/12.12.0/searchindex.js
+++ b/content/docs/12.12.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", 
"_tags/arch-example", "_tags/arch-renesas", "_tags/arch-risc-v", 
"_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-at32uc3", "_tags/chip-at90usb", "_tags/chip-atmega", 
"_tags/chip-atmega128", "_tags/chip-atmega1284p", "_tags/chip-atmega2560", 
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", 
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", "_tags/ch 
[...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", 
"_tags/arch-example", "_tags/arch-renesas", "_tags/arch-risc-v", 
"_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-at32uc3", "_tags/chip-at90usb", "_tags/chip-atmega", 
"_tags/chip-atmega128", "_tags/chip-atmega1284p", "_tags/chip-atmega2560", 
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", 
"_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", "_tags/ch 
[...]
\ No newline at end of file
diff --git a/content/docs/12.13.0/guides/fully_linked_elf.html 
b/content/docs/12.13.0/guides/fully_linked_elf.html
index 3fdd252653..cf700f8b09 100644
--- a/content/docs/12.13.0/guides/fully_linked_elf.html
+++ b/content/docs/12.13.0/guides/fully_linked_elf.html
@@ -484,7 +484,7 @@ NuttX package: <code class="docutils literal 
notranslate"><span class="pre">nutt
 <div 
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version 
admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly 
outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" 
id="0dfd4b4e-0e21-4d8c-aea2-031d1dbc2b9e" 
name="0dfd4b4e-0e21-4d8c-aea2-031d1dbc2b9e" type="checkbox"><label 
class="sphinx_collapse__label" for="0dfd4b4e-0e21-4d8c-aea2-031d1dbc2b9e"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="1749336f-a40b-4c6b-8922-d3a728b39095" 
name="1749336f-a40b-4c6b-8922-d3a728b39095" type="checkbox"><label 
class="sphinx_collapse__label" for="1749336f-a40b-4c6b-8922-d3a728b39095"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/12.13.0/guides/partially_linked_elf.html 
b/content/docs/12.13.0/guides/partially_linked_elf.html
index fee4704dd9..af23a87261 100644
--- a/content/docs/12.13.0/guides/partially_linked_elf.html
+++ b/content/docs/12.13.0/guides/partially_linked_elf.html
@@ -510,7 +510,7 @@ NuttX package: <code class="docutils literal 
notranslate"><span class="pre">nutt
 <div 
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version 
admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly 
outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" 
id="cb5ff6ed-0cca-42c2-8d10-8874d4d8094e" 
name="cb5ff6ed-0cca-42c2-8d10-8874d4d8094e" type="checkbox"><label 
class="sphinx_collapse__label" for="cb5ff6ed-0cca-42c2-8d10-8874d4d8094e"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="da401d28-108b-4631-8958-e7c137be6f1f" 
name="da401d28-108b-4631-8958-e7c137be6f1f" type="checkbox"><label 
class="sphinx_collapse__label" for="da401d28-108b-4631-8958-e7c137be6f1f"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/12.13.0/index.html b/content/docs/12.13.0/index.html
index cfe7ed892d..6bfd575fac 100644
--- a/content/docs/12.13.0/index.html
+++ b/content/docs/12.13.0/index.html
@@ -193,7 +193,7 @@ standards. Additional standard APIs from Unix and other 
common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments 
(such
 as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:58</p>
+<p>Last Updated: 12 June 26 at 01:05</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.13.0/searchindex.js 
b/content/docs/12.13.0/searchindex.js
index 529600882d..c5a9b490cb 100644
--- a/content/docs/12.13.0/searchindex.js
+++ b/content/docs/12.13.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm", "_tags/arch-arm64", 
"_tags/arch-armv8m", "_tags/arch-avr", "_tags/arch-cm33", "_tags/arch-example", 
"_tags/arch-mips", "_tags/arch-renesas", "_tags/arch-risc-v", 
"_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-at32uc3", "_tags/chip-at90usb", "_tags/chip-atmega", 
"_tags/chip-atmega128", "_tags/chip-atmega1284p", "_tags/chip-atmega2560", 
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32-c3", "_ [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm", "_tags/arch-arm64", 
"_tags/arch-armv8m", "_tags/arch-avr", "_tags/arch-cm33", "_tags/arch-example", 
"_tags/arch-mips", "_tags/arch-renesas", "_tags/arch-risc-v", 
"_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-at32uc3", "_tags/chip-at90usb", "_tags/chip-atmega", 
"_tags/chip-atmega128", "_tags/chip-atmega1284p", "_tags/chip-atmega2560", 
"_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32-c3", "_ [...]
\ No newline at end of file
diff --git a/content/docs/12.2.0/index.html b/content/docs/12.2.0/index.html
index cd2ce409de..9550de5bbc 100644
--- a/content/docs/12.2.0/index.html
+++ b/content/docs/12.2.0/index.html
@@ -178,7 +178,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" 
title="Permalink to this heading"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller 
environments, the primary governing standards in NuttX are POSIX and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:47</p>
+<p>Last Updated: 12 June 26 at 00:49</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.2.0/searchindex.js 
b/content/docs/12.2.0/searchindex.js
index 22e143be64..f5136674a8 100644
--- a/content/docs/12.2.0/searchindex.js
+++ b/content/docs/12.2.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index", 
"applications/nsh/builtin", "applications/nsh/commands", 
"applications/nsh/config", "applications/nsh/customizing", 
"applications/nsh/index", "applications/nsh/installation", 
"applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config", 
"applications/nxdiag/index", "applications/wapi/commands", 
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt", 
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index", 
"applications/nsh/builtin", "applications/nsh/commands", 
"applications/nsh/config", "applications/nsh/customizing", 
"applications/nsh/index", "applications/nsh/installation", 
"applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config", 
"applications/nxdiag/index", "applications/wapi/commands", 
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt", 
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.2.1/index.html b/content/docs/12.2.1/index.html
index cd2ce409de..f72d80bd92 100644
--- a/content/docs/12.2.1/index.html
+++ b/content/docs/12.2.1/index.html
@@ -178,7 +178,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" 
title="Permalink to this heading"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller 
environments, the primary governing standards in NuttX are POSIX and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:47</p>
+<p>Last Updated: 12 June 26 at 00:50</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git 
a/content/docs/12.2.1/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html 
b/content/docs/12.2.1/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
index 7dfe24c430..a3443171af 100644
--- 
a/content/docs/12.2.1/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
+++ 
b/content/docs/12.2.1/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
@@ -359,7 +359,7 @@ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
 <p>Look for your PC IP address and test playing the prepared audio on your
 browser:</p>
 <figure class="align-center">
-<img alt="../../../../../_images/esp32-audio-config-file1.png" 
src="../../../../../_images/esp32-audio-config-file1.png" />
+<img alt="../../../../../_images/esp32-audio-config-file.png" 
src="../../../../../_images/esp32-audio-config-file.png" />
 </figure>
 <p>After successfully built and flashed, connect the board to the Wi-Fi 
network:</p>
 <div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>$ nsh&gt; wapi psk wlan0 mypasswd 3
diff --git 
a/content/docs/12.2.1/platforms/xtensa/esp32/boards/esp32-devkitc/index.html 
b/content/docs/12.2.1/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
index d1db225c23..5b98061d9f 100644
--- a/content/docs/12.2.1/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
+++ b/content/docs/12.2.1/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
@@ -456,7 +456,7 @@ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
 <p>Look for your PC IP address and test playing the prepared audio on your
 browser:</p>
 <figure class="align-center">
-<img alt="../../../../../_images/esp32-audio-config-file.png" 
src="../../../../../_images/esp32-audio-config-file.png" />
+<img alt="../../../../../_images/esp32-audio-config-file1.png" 
src="../../../../../_images/esp32-audio-config-file1.png" />
 </figure>
 <p>After successfully built and flashed, connect the board to the Wi-Fi 
network:</p>
 <div class="highlight-none notranslate"><div 
class="highlight"><pre><span></span>nsh&gt; wapi psk wlan0 mypasswd 3
diff --git a/content/docs/12.2.1/searchindex.js 
b/content/docs/12.2.1/searchindex.js
index 8f00c8d8c4..78a018d768 100644
--- a/content/docs/12.2.1/searchindex.js
+++ b/content/docs/12.2.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index", 
"applications/nsh/builtin", "applications/nsh/commands", 
"applications/nsh/config", "applications/nsh/customizing", 
"applications/nsh/index", "applications/nsh/installation", 
"applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config", 
"applications/nxdiag/index", "applications/wapi/commands", 
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt", 
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index", 
"applications/nsh/builtin", "applications/nsh/commands", 
"applications/nsh/config", "applications/nsh/customizing", 
"applications/nsh/index", "applications/nsh/installation", 
"applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config", 
"applications/nxdiag/index", "applications/wapi/commands", 
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt", 
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.3.0/index.html b/content/docs/12.3.0/index.html
index c837662035..eb83b84bc0 100644
--- a/content/docs/12.3.0/index.html
+++ b/content/docs/12.3.0/index.html
@@ -178,7 +178,7 @@ by following these <a class="reference internal" 
href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" 
title="Permalink to this heading"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards 
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller 
environments, the primary governing standards in NuttX are POSIX and ANSI 
standards. Additional standard APIs from Unix and other common RTOS’s (such as 
VxWorks) are adopted for functionality not available under these standards, or 
for functionality that is not appropriate for deeply-embedded environments 
(such as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:47</p>
+<p>Last Updated: 12 June 26 at 00:50</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.3.0/searchindex.js 
b/content/docs/12.3.0/searchindex.js
index bfb2ebe2a7..138426cc2c 100644
--- a/content/docs/12.3.0/searchindex.js
+++ b/content/docs/12.3.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index", 
"applications/nsh/builtin", "applications/nsh/commands", 
"applications/nsh/config", "applications/nsh/customizing", 
"applications/nsh/index", "applications/nsh/installation", 
"applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config", 
"applications/nxdiag/index", "applications/wapi/commands", 
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt", 
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index", 
"applications/nsh/builtin", "applications/nsh/commands", 
"applications/nsh/config", "applications/nsh/customizing", 
"applications/nsh/index", "applications/nsh/installation", 
"applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config", 
"applications/nxdiag/index", "applications/wapi/commands", 
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt", 
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.4.0/index.html b/content/docs/12.4.0/index.html
index c0739b80af..7965c8790a 100644
--- a/content/docs/12.4.0/index.html
+++ b/content/docs/12.4.0/index.html
@@ -185,7 +185,7 @@ standards. Additional standard APIs from Unix and other 
common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments 
(such
 as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:47</p>
+<p>Last Updated: 12 June 26 at 00:50</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.4.0/searchindex.js 
b/content/docs/12.4.0/searchindex.js
index 7c5aabd6c7..72362dd20f 100644
--- a/content/docs/12.4.0/searchindex.js
+++ b/content/docs/12.4.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/coremark/index", "applications/benchmarks/index", 
"applications/boot/index", "applications/boot/mcuboot/index", 
"applications/boot/miniboot/index", "applications/canutils/candump/index", 
"applications/canutils/canlib/index", "applications/canutils/cansend/index", 
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/coremark/index", "applications/benchmarks/index", 
"applications/boot/index", "applications/boot/mcuboot/index", 
"applications/boot/miniboot/index", "applications/canutils/candump/index", 
"applications/canutils/canlib/index", "applications/canutils/cansend/index", 
"applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.5.0/index.html b/content/docs/12.5.0/index.html
index b72bbc0b0a..a6bdc42396 100644
--- a/content/docs/12.5.0/index.html
+++ b/content/docs/12.5.0/index.html
@@ -185,7 +185,7 @@ standards. Additional standard APIs from Unix and other 
common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments 
(such
 as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:48</p>
+<p>Last Updated: 12 June 26 at 00:52</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.5.0/searchindex.js 
b/content/docs/12.5.0/searchindex.js
index 13556d955d..05a147085d 100644
--- a/content/docs/12.5.0/searchindex.js
+++ b/content/docs/12.5.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/coremark/index", "applications/benchmarks/index", 
"applications/boot/index", "applications/boot/mcuboot/index", 
"applications/boot/miniboot/index", "applications/canutils/candump/index", 
"applications/canutils/canlib/index", "applications/canutils/cansend/index", 
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/coremark/index", "applications/benchmarks/index", 
"applications/boot/index", "applications/boot/mcuboot/index", 
"applications/boot/miniboot/index", "applications/canutils/candump/index", 
"applications/canutils/canlib/index", "applications/canutils/cansend/index", 
"applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.5.1/index.html b/content/docs/12.5.1/index.html
index f0c2c559aa..dad14c9ba5 100644
--- a/content/docs/12.5.1/index.html
+++ b/content/docs/12.5.1/index.html
@@ -185,7 +185,7 @@ standards. Additional standard APIs from Unix and other 
common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments 
(such
 as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:49</p>
+<p>Last Updated: 12 June 26 at 00:53</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.5.1/searchindex.js 
b/content/docs/12.5.1/searchindex.js
index 1c66be3698..9a1eeeb912 100644
--- a/content/docs/12.5.1/searchindex.js
+++ b/content/docs/12.5.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/coremark/index", "applications/benchmarks/index", 
"applications/boot/index", "applications/boot/mcuboot/index", 
"applications/boot/miniboot/index", "applications/canutils/candump/index", 
"applications/canutils/canlib/index", "applications/canutils/cansend/index", 
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/coremark/index", "applications/benchmarks/index", 
"applications/boot/index", "applications/boot/mcuboot/index", 
"applications/boot/miniboot/index", "applications/canutils/candump/index", 
"applications/canutils/canlib/index", "applications/canutils/cansend/index", 
"applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.6.0/index.html b/content/docs/12.6.0/index.html
index d07e1dc0d7..8f47ff1137 100644
--- a/content/docs/12.6.0/index.html
+++ b/content/docs/12.6.0/index.html
@@ -186,7 +186,7 @@ standards. Additional standard APIs from Unix and other 
common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments 
(such
 as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:50</p>
+<p>Last Updated: 12 June 26 at 00:54</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.6.0/searchindex.js 
b/content/docs/12.6.0/searchindex.js
index 5dda98f217..22a6e262fb 100644
--- a/content/docs/12.6.0/searchindex.js
+++ b/content/docs/12.6.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/benchmarks/iozone/index", 
"applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/benchmarks/iozone/index", 
"applications/bench [...]
\ No newline at end of file
diff --git a/content/docs/12.7.0/index.html b/content/docs/12.7.0/index.html
index 881ef9f9d8..bf5adbb7eb 100644
--- a/content/docs/12.7.0/index.html
+++ b/content/docs/12.7.0/index.html
@@ -185,7 +185,7 @@ standards. Additional standard APIs from Unix and other 
common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments 
(such
 as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:51</p>
+<p>Last Updated: 12 June 26 at 00:55</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.7.0/searchindex.js 
b/content/docs/12.7.0/searchindex.js
index a4eb7a7c7b..fe4ad1e52c 100644
--- a/content/docs/12.7.0/searchindex.js
+++ b/content/docs/12.7.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/benchmarks/iozone/index", 
"applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/benchmarks/iozone/index", 
"applications/bench [...]
\ No newline at end of file
diff --git a/content/docs/12.8.0/index.html b/content/docs/12.8.0/index.html
index eafea80dfa..8863be7afa 100644
--- a/content/docs/12.8.0/index.html
+++ b/content/docs/12.8.0/index.html
@@ -185,7 +185,7 @@ standards. Additional standard APIs from Unix and other 
common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments 
(such
 as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:52</p>
+<p>Last Updated: 12 June 26 at 00:57</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.8.0/searchindex.js 
b/content/docs/12.8.0/searchindex.js
index d34c411fc9..4928a12d7f 100644
--- a/content/docs/12.8.0/searchindex.js
+++ b/content/docs/12.8.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/benchmarks/iozone/index", 
"applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/benchmarks/iozone/index", 
"applications/bench [...]
\ No newline at end of file
diff --git a/content/docs/12.9.0/index.html b/content/docs/12.9.0/index.html
index 43f968d3ab..7739139b94 100644
--- a/content/docs/12.9.0/index.html
+++ b/content/docs/12.9.0/index.html
@@ -185,7 +185,7 @@ standards. Additional standard APIs from Unix and other 
common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments 
(such
 as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:53</p>
+<p>Last Updated: 12 June 26 at 00:58</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.9.0/searchindex.js 
b/content/docs/12.9.0/searchindex.js
index aa28fe1f56..9ffb67992b 100644
--- a/content/docs/12.9.0/searchindex.js
+++ b/content/docs/12.9.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/cyclictest/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/b [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", 
"applications/audioutils/index", "applications/audioutils/mml_parser/index", 
"applications/audioutils/nxaudio/index", 
"applications/benchmarks/cachespeed/index", 
"applications/benchmarks/coremark-pro/index", 
"applications/benchmarks/coremark/index", 
"applications/benchmarks/cyclictest/index", 
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", 
"applications/benchmarks/index", "applications/b [...]
\ No newline at end of file
diff --git a/content/docs/latest/_sources/implementation/index.rst.txt 
b/content/docs/latest/_sources/implementation/index.rst.txt
index b05cffad84..bcb87e9eff 100644
--- a/content/docs/latest/_sources/implementation/index.rst.txt
+++ b/content/docs/latest/_sources/implementation/index.rst.txt
@@ -38,4 +38,5 @@ Implementation Details
    tasks_vs_threads.rst
    tickless_os.rst
    tls.rst
+   user_identity.rst
    usb.rst
diff --git 
a/content/docs/latest/_sources/implementation/tasks_vs_threads.rst.txt 
b/content/docs/latest/_sources/implementation/tasks_vs_threads.rst.txt
index 4bd14efb6f..71bd38f989 100644
--- a/content/docs/latest/_sources/implementation/tasks_vs_threads.rst.txt
+++ b/content/docs/latest/_sources/implementation/tasks_vs_threads.rst.txt
@@ -69,6 +69,8 @@ reside within the task group structure struct 
``task_group_s``:
 * Opened message queues.
 * ``pthread`` keys.
 * Support data for ``atexit()``, ``on_exit()``, and/or ``waitpid()``.
+* User and group identity when ``CONFIG_SCHED_USER_IDENTITY`` is enabled
+  (see :ref:`user-identity`).
 
 The exception is the PIC address space used with NXFLAT.
 It currently has its own data structure (struct ``dspace_s``,
diff --git a/content/docs/latest/_sources/implementation/user_identity.rst.txt 
b/content/docs/latest/_sources/implementation/user_identity.rst.txt
new file mode 100644
index 0000000000..ab7ecdaa6c
--- /dev/null
+++ b/content/docs/latest/_sources/implementation/user_identity.rst.txt
@@ -0,0 +1,71 @@
+.. _user-identity:
+
+=======================
+User and Group Identity
+=======================
+
+When ``CONFIG_SCHED_USER_IDENTITY`` is enabled, each task group maintains POSIX
+process credentials. All threads within a task group share the same credentials
+(see :ref:`tasks-vs-threads`).
+
+Credentials
+===========
+
+The full POSIX three-field credential model is stored in ``struct 
task_group_s``
+(``include/nuttx/sched.h``):
+
+* ``tg_uid`` / ``tg_gid`` — real user and group IDs.
+* ``tg_euid`` / ``tg_egid`` — effective IDs used for permission checks.
+* ``tg_suid`` / ``tg_sgid`` — saved set-IDs that allow a non-root process to
+  restore a previously held effective ID.
+
+All six fields are zero-initialized at task creation, so the initial task runs
+as root (UID/GID 0) unless explicitly changed.
+
+Inheritance
+===========
+
+When a new task is created, ``group_inherit_identity()`` in
+``sched/group/group_create.c`` copies all six credential fields from the parent
+task group to the child task group.
+
+Privilege Transitions
+=====================
+
+``setuid()`` and ``setgid()``
+-----------------------------
+
+When the effective ID is zero (root):
+
+* ``setuid(uid)`` sets ``tg_uid``, ``tg_euid``, and ``tg_suid`` to ``uid``.
+* ``setgid(gid)`` sets ``tg_gid``, ``tg_egid``, and ``tg_sgid`` to ``gid``.
+
+When the effective ID is non-zero:
+
+* The caller may only set the effective ID to the current real or saved value.
+* Any other value causes the function to return ``-1`` with ``errno`` set to
+  ``EPERM``.
+
+``seteuid()`` and ``setegid()``
+-------------------------------
+
+When the effective ID is zero, any value may be assigned as the new effective
+ID.
+
+When the effective ID is non-zero, the requested value must equal the real or
+the saved ID. Otherwise the function returns ``-1`` with ``errno`` set to
+``EPERM``.
+
+This implements the standard POSIX pattern of temporarily dropping privileges
+with ``seteuid()`` or ``setegid()`` and later restoring them to the saved 
value.
+
+Configuration
+=============
+
+``CONFIG_SCHED_USER_IDENTITY``
+  Enables per-task-group credential tracking. Without this option, stub
+  root-only versions of all credential interfaces are provided.
+
+``CONFIG_FS_PERMISSION``
+  Enables filesystem ownership and permission enforcement. Requires
+  ``CONFIG_SCHED_USER_IDENTITY``.
diff --git a/content/docs/latest/guides/fully_linked_elf.html 
b/content/docs/latest/guides/fully_linked_elf.html
index b5134232d1..8095ab62bb 100644
--- a/content/docs/latest/guides/fully_linked_elf.html
+++ b/content/docs/latest/guides/fully_linked_elf.html
@@ -484,7 +484,7 @@ NuttX package: <code class="docutils literal 
notranslate"><span class="pre">nutt
 <div 
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version 
admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly 
outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" 
id="76795a04-2063-4e39-90cf-63c45783a170" 
name="76795a04-2063-4e39-90cf-63c45783a170" type="checkbox"><label 
class="sphinx_collapse__label" for="76795a04-2063-4e39-90cf-63c45783a170"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="58f2e68e-f505-4870-87d9-4d48c0e7206b" 
name="58f2e68e-f505-4870-87d9-4d48c0e7206b" type="checkbox"><label 
class="sphinx_collapse__label" for="58f2e68e-f505-4870-87d9-4d48c0e7206b"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/latest/guides/partially_linked_elf.html 
b/content/docs/latest/guides/partially_linked_elf.html
index ffd2c90761..a4cf3e600f 100644
--- a/content/docs/latest/guides/partially_linked_elf.html
+++ b/content/docs/latest/guides/partially_linked_elf.html
@@ -510,7 +510,7 @@ NuttX package: <code class="docutils literal 
notranslate"><span class="pre">nutt
 <div 
class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version 
admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly 
outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" 
id="a04381cc-f21a-4713-8910-88315e653bd1" 
name="a04381cc-f21a-4713-8910-88315e653bd1" type="checkbox"><label 
class="sphinx_collapse__label" for="a04381cc-f21a-4713-8910-88315e653bd1"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" 
id="c1447380-e52f-414e-a546-cd1a34b45520" 
name="c1447380-e52f-414e-a546-cd1a34b45520" type="checkbox"><label 
class="sphinx_collapse__label" for="c1447380-e52f-414e-a546-cd1a34b45520"><i 
class="sphinx_collapse__icon"></i>Show content:</label><div 
class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/latest/implementation/bottomhalf_interrupt.html 
b/content/docs/latest/implementation/bottomhalf_interrupt.html
index 9bd9fb7943..2d68c1dd5b 100644
--- a/content/docs/latest/implementation/bottomhalf_interrupt.html
+++ b/content/docs/latest/implementation/bottomhalf_interrupt.html
@@ -176,6 +176,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/cancellation_points.html 
b/content/docs/latest/implementation/cancellation_points.html
index b9c9d95f9e..24dd7f4938 100644
--- a/content/docs/latest/implementation/cancellation_points.html
+++ b/content/docs/latest/implementation/cancellation_points.html
@@ -194,6 +194,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/chip_h.html 
b/content/docs/latest/implementation/chip_h.html
index 6eee91ca6c..32f55280ba 100644
--- a/content/docs/latest/implementation/chip_h.html
+++ b/content/docs/latest/implementation/chip_h.html
@@ -173,6 +173,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/context_switches.html 
b/content/docs/latest/implementation/context_switches.html
index 25fb1f2b54..4701e0b439 100644
--- a/content/docs/latest/implementation/context_switches.html
+++ b/content/docs/latest/implementation/context_switches.html
@@ -175,6 +175,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/critical_sections.html 
b/content/docs/latest/implementation/critical_sections.html
index 7e6b07984f..30a8f5b951 100644
--- a/content/docs/latest/implementation/critical_sections.html
+++ b/content/docs/latest/implementation/critical_sections.html
@@ -195,6 +195,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/device_drivers.html 
b/content/docs/latest/implementation/device_drivers.html
index f989cbd739..eef7db16b5 100644
--- a/content/docs/latest/implementation/device_drivers.html
+++ b/content/docs/latest/implementation/device_drivers.html
@@ -185,6 +185,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/device_nodes.html 
b/content/docs/latest/implementation/device_nodes.html
index 507d099620..13102f9332 100644
--- a/content/docs/latest/implementation/device_nodes.html
+++ b/content/docs/latest/implementation/device_nodes.html
@@ -176,6 +176,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/drivers_design.html 
b/content/docs/latest/implementation/drivers_design.html
index 05a254703e..0eb7a35d40 100644
--- a/content/docs/latest/implementation/drivers_design.html
+++ b/content/docs/latest/implementation/drivers_design.html
@@ -179,6 +179,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/file_descriptors.html 
b/content/docs/latest/implementation/file_descriptors.html
index 6ace75a4ef..4e087d4387 100644
--- a/content/docs/latest/implementation/file_descriptors.html
+++ b/content/docs/latest/implementation/file_descriptors.html
@@ -179,6 +179,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/hardfaults.html 
b/content/docs/latest/implementation/hardfaults.html
index 5c638c871d..752ec3c177 100644
--- a/content/docs/latest/implementation/hardfaults.html
+++ b/content/docs/latest/implementation/hardfaults.html
@@ -180,6 +180,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/index.html 
b/content/docs/latest/implementation/index.html
index f8877aa41c..6b1526b003 100644
--- a/content/docs/latest/implementation/index.html
+++ b/content/docs/latest/implementation/index.html
@@ -170,6 +170,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
@@ -478,6 +479,13 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tls.html#code-references">Code References</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a><ul>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html#credentials">Credentials</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html#inheritance">Inheritance</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html#privilege-transitions">Privilege Transitions</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html#configuration">Configuration</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a><ul>
 <li class="toctree-l2"><a class="reference internal" 
href="usb.html#naking-usb-out-in-tokens">NAKing USB OUT/IN Tokens</a></li>
 </ul>
diff --git a/content/docs/latest/implementation/interrupt_controls.html 
b/content/docs/latest/implementation/interrupt_controls.html
index 30b349a632..a14f39b4ba 100644
--- a/content/docs/latest/implementation/interrupt_controls.html
+++ b/content/docs/latest/implementation/interrupt_controls.html
@@ -170,6 +170,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/ioctl.html 
b/content/docs/latest/implementation/ioctl.html
index 95ce7f0673..efb740ad3f 100644
--- a/content/docs/latest/implementation/ioctl.html
+++ b/content/docs/latest/implementation/ioctl.html
@@ -178,6 +178,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git 
a/content/docs/latest/implementation/kernel_modules_vs_shared_libraries.html 
b/content/docs/latest/implementation/kernel_modules_vs_shared_libraries.html
index ff1b6ed4be..64ddf81c22 100644
--- a/content/docs/latest/implementation/kernel_modules_vs_shared_libraries.html
+++ b/content/docs/latest/implementation/kernel_modules_vs_shared_libraries.html
@@ -178,6 +178,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/kernel_threads_vs_pthreads.html 
b/content/docs/latest/implementation/kernel_threads_vs_pthreads.html
index e2f30d25f5..9b86f7e91a 100644
--- a/content/docs/latest/implementation/kernel_threads_vs_pthreads.html
+++ b/content/docs/latest/implementation/kernel_threads_vs_pthreads.html
@@ -187,6 +187,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/make_build_system.html 
b/content/docs/latest/implementation/make_build_system.html
index 891d87761e..965a2235a3 100644
--- a/content/docs/latest/implementation/make_build_system.html
+++ b/content/docs/latest/implementation/make_build_system.html
@@ -201,6 +201,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/memory_configurations.html 
b/content/docs/latest/implementation/memory_configurations.html
index e47f7987b9..9885352844 100644
--- a/content/docs/latest/implementation/memory_configurations.html
+++ b/content/docs/latest/implementation/memory_configurations.html
@@ -255,6 +255,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git 
a/content/docs/latest/implementation/naming_arch_mcu_board_interfaces.html 
b/content/docs/latest/implementation/naming_arch_mcu_board_interfaces.html
index 7b31b9dbbe..c9ce2fb6dc 100644
--- a/content/docs/latest/implementation/naming_arch_mcu_board_interfaces.html
+++ b/content/docs/latest/implementation/naming_arch_mcu_board_interfaces.html
@@ -177,6 +177,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/naming_os_internals.html 
b/content/docs/latest/implementation/naming_os_internals.html
index 0d940e8b7c..afc0273f11 100644
--- a/content/docs/latest/implementation/naming_os_internals.html
+++ b/content/docs/latest/implementation/naming_os_internals.html
@@ -179,6 +179,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git 
a/content/docs/latest/implementation/nuttx_initialization_sequence.html 
b/content/docs/latest/implementation/nuttx_initialization_sequence.html
index f1b52cf4d3..40dc639ac0 100644
--- a/content/docs/latest/implementation/nuttx_initialization_sequence.html
+++ b/content/docs/latest/implementation/nuttx_initialization_sequence.html
@@ -200,6 +200,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/nuttx_tasking.html 
b/content/docs/latest/implementation/nuttx_tasking.html
index 3a9cd5ac27..8677248dfa 100644
--- a/content/docs/latest/implementation/nuttx_tasking.html
+++ b/content/docs/latest/implementation/nuttx_tasking.html
@@ -196,6 +196,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git 
a/content/docs/latest/implementation/oneshot_timers_and_cpu_load.html 
b/content/docs/latest/implementation/oneshot_timers_and_cpu_load.html
index e9ef379265..4577a2c5ff 100644
--- a/content/docs/latest/implementation/oneshot_timers_and_cpu_load.html
+++ b/content/docs/latest/implementation/oneshot_timers_and_cpu_load.html
@@ -176,6 +176,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/power_management.html 
b/content/docs/latest/implementation/power_management.html
index 72ff91754e..6f9be898dd 100644
--- a/content/docs/latest/implementation/power_management.html
+++ b/content/docs/latest/implementation/power_management.html
@@ -180,6 +180,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/preemption_latency.html 
b/content/docs/latest/implementation/preemption_latency.html
index aff00ce25e..96d0aab30f 100644
--- a/content/docs/latest/implementation/preemption_latency.html
+++ b/content/docs/latest/implementation/preemption_latency.html
@@ -178,6 +178,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/processes_vs_tasks.html 
b/content/docs/latest/implementation/processes_vs_tasks.html
index 8774ca3b1e..36663d07e8 100644
--- a/content/docs/latest/implementation/processes_vs_tasks.html
+++ b/content/docs/latest/implementation/processes_vs_tasks.html
@@ -187,6 +187,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/short_time_delays.html 
b/content/docs/latest/implementation/short_time_delays.html
index 7a3c7d5ac1..897c1c44a4 100644
--- a/content/docs/latest/implementation/short_time_delays.html
+++ b/content/docs/latest/implementation/short_time_delays.html
@@ -183,6 +183,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/signal_handlers.html 
b/content/docs/latest/implementation/signal_handlers.html
index ea3874b58e..e76c52a1e6 100644
--- a/content/docs/latest/implementation/signal_handlers.html
+++ b/content/docs/latest/implementation/signal_handlers.html
@@ -186,6 +186,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/simulation.html 
b/content/docs/latest/implementation/simulation.html
index 67f3a157ee..2b548f4fdb 100644
--- a/content/docs/latest/implementation/simulation.html
+++ b/content/docs/latest/implementation/simulation.html
@@ -191,6 +191,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/smp.html 
b/content/docs/latest/implementation/smp.html
index 6e9c69a016..7ab0770a3d 100644
--- a/content/docs/latest/implementation/smp.html
+++ b/content/docs/latest/implementation/smp.html
@@ -204,6 +204,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/syslog.html 
b/content/docs/latest/implementation/syslog.html
index c75156e186..c65fed266e 100644
--- a/content/docs/latest/implementation/syslog.html
+++ b/content/docs/latest/implementation/syslog.html
@@ -214,6 +214,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/tasks_vs_threads.html 
b/content/docs/latest/implementation/tasks_vs_threads.html
index 820da8db79..8df7a9ece9 100644
--- a/content/docs/latest/implementation/tasks_vs_threads.html
+++ b/content/docs/latest/implementation/tasks_vs_threads.html
@@ -178,6 +178,7 @@
 </li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
@@ -275,6 +276,8 @@ reside within the task group structure struct <code 
class="docutils literal notr
 <li><p>Opened message queues.</p></li>
 <li><p><code class="docutils literal notranslate"><span 
class="pre">pthread</span></code> keys.</p></li>
 <li><p>Support data for <code class="docutils literal notranslate"><span 
class="pre">atexit()</span></code>, <code class="docutils literal 
notranslate"><span class="pre">on_exit()</span></code>, and/or <code 
class="docutils literal notranslate"><span 
class="pre">waitpid()</span></code>.</p></li>
+<li><p>User and group identity when <code class="docutils literal 
notranslate"><span class="pre">CONFIG_SCHED_USER_IDENTITY</span></code> is 
enabled
+(see <a class="reference internal" 
href="user_identity.html#user-identity"><span class="std std-ref">User and 
Group Identity</span></a>).</p></li>
 </ul>
 <p>The exception is the PIC address space used with NXFLAT.
 It currently has its own data structure (struct <code class="docutils literal 
notranslate"><span class="pre">dspace_s</span></code>,
diff --git a/content/docs/latest/implementation/tickless_os.html 
b/content/docs/latest/implementation/tickless_os.html
index f1329c094c..cc3f72502e 100644
--- a/content/docs/latest/implementation/tickless_os.html
+++ b/content/docs/latest/implementation/tickless_os.html
@@ -195,6 +195,7 @@
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/implementation/tls.html 
b/content/docs/latest/implementation/tls.html
index c6c92a6284..8091cdb2ef 100644
--- a/content/docs/latest/implementation/tls.html
+++ b/content/docs/latest/implementation/tls.html
@@ -46,7 +46,7 @@
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="USB (Universal Serial Bus)" href="usb.html" />
+    <link rel="next" title="User and Group Identity" href="user_identity.html" 
/>
     <link rel="prev" title="Tickless OS" href="tickless_os.html" /> 
 </head>
 
@@ -190,6 +190,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="#code-references">Code References</a></li>
 </ul>
 </li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
@@ -540,7 +541,7 @@ TLS is probably not the right solution to do that.</p>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" 
aria-label="Footer">
         <a href="tickless_os.html" class="btn btn-neutral float-left" 
title="Tickless OS" accesskey="p" rel="prev"><span class="fa 
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="usb.html" class="btn btn-neutral float-right" title="USB 
(Universal Serial Bus)" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="user_identity.html" class="btn btn-neutral float-right" 
title="User and Group Identity" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/content/docs/latest/implementation/usb.html 
b/content/docs/latest/implementation/usb.html
index 15e31bd4f6..a78e70d7e2 100644
--- a/content/docs/latest/implementation/usb.html
+++ b/content/docs/latest/implementation/usb.html
@@ -47,7 +47,7 @@
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="API Reference" href="../reference/index.html" />
-    <link rel="prev" title="TLS: Thread Local Storage" href="tls.html" /> 
+    <link rel="prev" title="User and Group Identity" href="user_identity.html" 
/> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -170,6 +170,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" 
href="#">USB (Universal Serial Bus)</a><ul>
 <li class="toctree-l3"><a class="reference internal" 
href="#naking-usb-out-in-tokens">NAKing USB OUT/IN Tokens</a><ul>
 <li class="toctree-l4"><a class="reference internal" 
href="#naking-usb-out-tokens">NAKing USB OUT Tokens</a><ul>
@@ -358,7 +359,7 @@ to the host in the DCD.</p>
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" 
aria-label="Footer">
-        <a href="tls.html" class="btn btn-neutral float-left" title="TLS: 
Thread Local Storage" accesskey="p" rel="prev"><span class="fa 
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="user_identity.html" class="btn btn-neutral float-left" 
title="User and Group Identity" accesskey="p" rel="prev"><span class="fa 
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="../reference/index.html" class="btn btn-neutral float-right" 
title="API Reference" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
diff --git a/content/docs/latest/implementation/device_nodes.html 
b/content/docs/latest/implementation/user_identity.html
similarity index 60%
copy from content/docs/latest/implementation/device_nodes.html
copy to content/docs/latest/implementation/user_identity.html
index 507d099620..2930e629fd 100644
--- a/content/docs/latest/implementation/device_nodes.html
+++ b/content/docs/latest/implementation/user_identity.html
@@ -25,7 +25,7 @@
   <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: 
https://docutils.sourceforge.io/"; />
 
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <title>Device Nodes &mdash; NuttX latest documentation</title>
+  <title>User and Group Identity &mdash; NuttX latest documentation</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
       <link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
       <link rel="stylesheet" type="text/css" href="../_static/copybutton.css" 
/>
@@ -46,8 +46,8 @@
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="OS Drivers Design" href="drivers_design.html" />
-    <link rel="prev" title="Device Drivers" href="device_drivers.html" /> 
+    <link rel="next" title="USB (Universal Serial Bus)" href="usb.html" />
+    <link rel="prev" title="TLS: Thread Local Storage" href="tls.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -144,13 +144,7 @@
 <li class="toctree-l2"><a class="reference internal" 
href="context_switches.html">Context Switches</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="critical_sections.html">Critical Sections</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="device_drivers.html">Device Drivers</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" 
href="#">Device Nodes</a><ul>
-<li class="toctree-l3"><a class="reference internal" 
href="#linux-device-nodes">Linux Device Nodes</a></li>
-<li class="toctree-l3"><a class="reference internal" 
href="#nuttx-device-nodes">NuttX Device Nodes</a></li>
-<li class="toctree-l3"><a class="reference internal" 
href="#usage-differences">Usage Differences</a></li>
-<li class="toctree-l3"><a class="reference internal" 
href="#boardctl">boardctl()</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" 
href="device_nodes.html">Device Nodes</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="drivers_design.html">OS Drivers Design</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="file_descriptors.html">File Descriptors</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="hardfaults.html">Hardfaults</a></li>
@@ -176,6 +170,17 @@
 <li class="toctree-l2"><a class="reference internal" 
href="tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tls.html">TLS: 
Thread Local Storage</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" 
href="#">User and Group Identity</a><ul>
+<li class="toctree-l3"><a class="reference internal" 
href="#credentials">Credentials</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="#inheritance">Inheritance</a></li>
+<li class="toctree-l3"><a class="reference internal" 
href="#privilege-transitions">Privilege Transitions</a><ul>
+<li class="toctree-l4"><a class="reference internal" 
href="#setuid-and-setgid"><code class="docutils literal notranslate"><span 
class="pre">setuid()</span></code> and <code class="docutils literal 
notranslate"><span class="pre">setgid()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#seteuid-and-setegid"><code class="docutils literal notranslate"><span 
class="pre">seteuid()</span></code> and <code class="docutils literal 
notranslate"><span class="pre">setegid()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" 
href="#configuration">Configuration</a></li>
+</ul>
+</li>
 <li class="toctree-l2"><a class="reference internal" href="usb.html">USB 
(Universal Serial Bus)</a></li>
 </ul>
 </li>
@@ -206,9 +211,9 @@
   <ul class="wy-breadcrumbs">
       <li><a href="../index.html" class="icon icon-home" 
aria-label="Home"></a></li>
           <li class="breadcrumb-item"><a href="index.html">Implementation 
Details</a></li>
-      <li class="breadcrumb-item active">Device Nodes</li>
+      <li class="breadcrumb-item active">User and Group Identity</li>
       <li class="wy-breadcrumbs-aside">
-              <a 
href="https://github.com/apache/nuttx/blob/master/Documentation/implementation/device_nodes.rst";
 class="fa fa-github"> Edit on GitHub</a>
+              <a 
href="https://github.com/apache/nuttx/blob/master/Documentation/implementation/user_identity.rst";
 class="fa fa-github"> Edit on GitHub</a>
       </li>
   </ul>
   <hr/>
@@ -216,88 +221,67 @@
           <div role="main" class="document" itemscope="itemscope" 
itemtype="http://schema.org/Article";>
            <div itemprop="articleBody">
              
-  <section id="device-nodes">
-<span id="id1"></span><h1>Device Nodes<a class="headerlink" 
href="#device-nodes" title="Permalink to this heading"></a></h1>
-<section id="linux-device-nodes">
-<h2>Linux Device Nodes<a class="headerlink" href="#linux-device-nodes" 
title="Permalink to this heading"></a></h2>
-<p>I used to have good Linux expertise a decade or so ago.
-But my current Linux knowledge is dated and rusty.
-I don’t know anything about udev, SystemD, devtmpfs, sysfs, or any of that.
-So this is my simplified understanding.</p>
-<p>Device files work quite a bit differently in Linux and NuttX.
-A device node in Unix/Linux only really contains the only type of the device
-and its major and minor device numbers, i.e., it just holds data.
-So creating the device node does not install or create the driver;
-it simply writes a tiny file containing some special data.</p>
-<p>Nothing happens until you try to open the device.
-If something in the operating system has not initialized and registered
-a driver for that type and major/minor numbers,
-then you fail to open the device.</p>
-<p>So the device nodes and the device drivers are decoupled in Linux/Unix
-and there is a rendezvous that must occur later for the device node
-to actually refer to the device.</p>
-<blockquote>
-<div><p>“(..) Linux maps the device special file passed in system calls
-(say to mount a file system on a block device) to the device’s
-device driver using the major device number and a number of system
-tables, …The major number is actually the offset into the
-kernel’s device driver table, which tells the kernel what
-kind of device it is (whether it is a hard disk or a serial
-terminal) (..)”</p>
-<p class="attribution">—Source:
-www.linux-tutorial.info/modules.php?name=MContent&amp;pageid=94.</p>
-</div></blockquote>
-<p>Normally, when you create a Linux file system, you also create all of the
-standard device nodes. But most of these do not map to real devices.
-If you try to access most of the devices under <code class="docutils literal 
notranslate"><span class="pre">/dev</span></code> in Linux, they will
-fail because the underlying driver that maps to that major/minor number
-has not been initialized.</p>
+  <section id="user-and-group-identity">
+<span id="user-identity"></span><h1>User and Group Identity<a 
class="headerlink" href="#user-and-group-identity" title="Permalink to this 
heading"></a></h1>
+<p>When <code class="docutils literal notranslate"><span 
class="pre">CONFIG_SCHED_USER_IDENTITY</span></code> is enabled, each task 
group maintains POSIX
+process credentials. All threads within a task group share the same credentials
+(see <a class="reference internal" 
href="tasks_vs_threads.html#tasks-vs-threads"><span class="std std-ref">Tasks 
vs. Threads</span></a>).</p>
+<section id="credentials">
+<h2>Credentials<a class="headerlink" href="#credentials" title="Permalink to 
this heading"></a></h2>
+<p>The full POSIX three-field credential model is stored in <code 
class="docutils literal notranslate"><span class="pre">struct</span> <span 
class="pre">task_group_s</span></code>
+(<code class="docutils literal notranslate"><span 
class="pre">include/nuttx/sched.h</span></code>):</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">tg_uid</span></code> / <code class="docutils literal 
notranslate"><span class="pre">tg_gid</span></code> — real user and group 
IDs.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">tg_euid</span></code> / <code class="docutils literal 
notranslate"><span class="pre">tg_egid</span></code> — effective IDs used for 
permission checks.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">tg_suid</span></code> / <code class="docutils literal 
notranslate"><span class="pre">tg_sgid</span></code> — saved set-IDs that allow 
a non-root process to
+restore a previously held effective ID.</p></li>
+</ul>
+<p>All six fields are zero-initialized at task creation, so the initial task 
runs
+as root (UID/GID 0) unless explicitly changed.</p>
 </section>
-<section id="nuttx-device-nodes">
-<h2>NuttX Device Nodes<a class="headerlink" href="#nuttx-device-nodes" 
title="Permalink to this heading"></a></h2>
-<p>NuttX does not use major/minor device numbers and there are no device
-“system tables” to associate major/minor numbers to a driver implementation.
-NuttX simplifies this be removing the “man in the middle”: When you register
-the driver, you also create the device node.</p>
-<div class="admonition important">
-<p class="admonition-title">Important</p>
-<p>The device node IS the driver registry.
-This is a tremendous simplification and one of the things that
-makes NuttX usable in the constrained MCU environment.</p>
-</div>
-<p>In NuttX, device nodes are not really files at all.
-They are special entries in the NuttX root pseudo-filesystem.
-See <a class="reference internal" 
href="../components/filesystem/pseudofs.html#nuttx-pseudofs"><span class="std 
std-ref">NuttX Pseudo File System</span></a> for more details.</p>
+<section id="inheritance">
+<h2>Inheritance<a class="headerlink" href="#inheritance" title="Permalink to 
this heading"></a></h2>
+<p>When a new task is created, <code class="docutils literal 
notranslate"><span class="pre">group_inherit_identity()</span></code> in
+<code class="docutils literal notranslate"><span 
class="pre">sched/group/group_create.c</span></code> copies all six credential 
fields from the parent
+task group to the child task group.</p>
+</section>
+<section id="privilege-transitions">
+<h2>Privilege Transitions<a class="headerlink" href="#privilege-transitions" 
title="Permalink to this heading"></a></h2>
+<section id="setuid-and-setgid">
+<h3><code class="docutils literal notranslate"><span 
class="pre">setuid()</span></code> and <code class="docutils literal 
notranslate"><span class="pre">setgid()</span></code><a class="headerlink" 
href="#setuid-and-setgid" title="Permalink to this heading"></a></h3>
+<p>When the effective ID is zero (root):</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">setuid(uid)</span></code> sets <code class="docutils literal 
notranslate"><span class="pre">tg_uid</span></code>, <code class="docutils 
literal notranslate"><span class="pre">tg_euid</span></code>, and <code 
class="docutils literal notranslate"><span class="pre">tg_suid</span></code> to 
<code class="docutils literal notranslate"><span 
class="pre">uid</span></code>.</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">setgid(gid)</span></code> sets <code class="docutils literal 
notranslate"><span class="pre">tg_gid</span></code>, <code class="docutils 
literal notranslate"><span class="pre">tg_egid</span></code>, and <code 
class="docutils literal notranslate"><span class="pre">tg_sgid</span></code> to 
<code class="docutils literal notranslate"><span 
class="pre">gid</span></code>.</p></li>
+</ul>
+<p>When the effective ID is non-zero:</p>
+<ul class="simple">
+<li><p>The caller may only set the effective ID to the current real or saved 
value.</p></li>
+<li><p>Any other value causes the function to return <code class="docutils 
literal notranslate"><span class="pre">-1</span></code> with <code 
class="docutils literal notranslate"><span class="pre">errno</span></code> set 
to
+<code class="docutils literal notranslate"><span 
class="pre">EPERM</span></code>.</p></li>
+</ul>
+</section>
+<section id="seteuid-and-setegid">
+<h3><code class="docutils literal notranslate"><span 
class="pre">seteuid()</span></code> and <code class="docutils literal 
notranslate"><span class="pre">setegid()</span></code><a class="headerlink" 
href="#seteuid-and-setegid" title="Permalink to this heading"></a></h3>
+<p>When the effective ID is zero, any value may be assigned as the new 
effective
+ID.</p>
+<p>When the effective ID is non-zero, the requested value must equal the real 
or
+the saved ID. Otherwise the function returns <code class="docutils literal 
notranslate"><span class="pre">-1</span></code> with <code class="docutils 
literal notranslate"><span class="pre">errno</span></code> set to
+<code class="docutils literal notranslate"><span 
class="pre">EPERM</span></code>.</p>
+<p>This implements the standard POSIX pattern of temporarily dropping 
privileges
+with <code class="docutils literal notranslate"><span 
class="pre">seteuid()</span></code> or <code class="docutils literal 
notranslate"><span class="pre">setegid()</span></code> and later restoring them 
to the saved value.</p>
 </section>
-<section id="usage-differences">
-<h2>Usage Differences<a class="headerlink" href="#usage-differences" 
title="Permalink to this heading"></a></h2>
-<div class="admonition important">
-<p class="admonition-title">Important</p>
-<p>Only devices drivers can create device nodes and the existence
-of the device node means that the device has been initialized,
-registered, and is ready for use (with the exception of some
-removable devices that may not actually be ready).</p>
-<p>You cannot create device nodes from applications!</p>
-</div>
-<p>You could argue that this simplification is a deviation from my Unix/Linux
-roadmap and would have to agree that you are right.
-But it is also the kind of enabling simplification that makes a tiny
-Unix-like operating system feasible on these lower end MCUs.</p>
-<p>In Linux standard device drivers are initialized and registered as with 
NuttX.
-A (privileged) application can create a device node, but cannot initialize
-or register a device driver directly (as far as I know).
-I believe that if you want to instantiate an uninitialized, unregistered
-device driver you would have to install a kernel module containing
-the driver (which would probably also create the device nodes corresponding
-to the driver).</p>
 </section>
-<section id="boardctl">
-<h2>boardctl()<a class="headerlink" href="#boardctl" title="Permalink to this 
heading"></a></h2>
-<p>NuttX does support a sneak interface to support interactions with 
board-level
-OS logic. That sneak interface is <code class="docutils literal 
notranslate"><span class="pre">boardctl()</span></code> (see <a 
class="reference internal" 
href="../reference/user/13_boardctl.html#board-ioctl"><span class="std 
std-ref">Board IOCTL</span></a> and
-<a class="reference internal" 
href="nuttx_initialization_sequence.html#nuttx-initialization-sequence"><span 
class="std std-ref">NuttX Initialization Sequence</span></a> for more details).
-That interface could potentially be used to force initialization of device
-drivers by application code. That discussion is to be provided.</p>
+<section id="configuration">
+<h2>Configuration<a class="headerlink" href="#configuration" title="Permalink 
to this heading"></a></h2>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span 
class="pre">CONFIG_SCHED_USER_IDENTITY</span></code></dt><dd><p>Enables 
per-task-group credential tracking. Without this option, stub
+root-only versions of all credential interfaces are provided.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span 
class="pre">CONFIG_FS_PERMISSION</span></code></dt><dd><p>Enables filesystem 
ownership and permission enforcement. Requires
+<code class="docutils literal notranslate"><span 
class="pre">CONFIG_SCHED_USER_IDENTITY</span></code>.</p>
+</dd>
+</dl>
 </section>
 </section>
 
@@ -305,8 +289,8 @@ drivers by application code. That discussion is to be 
provided.</p>
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" 
aria-label="Footer">
-        <a href="device_drivers.html" class="btn btn-neutral float-left" 
title="Device Drivers" accesskey="p" rel="prev"><span class="fa 
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="drivers_design.html" class="btn btn-neutral float-right" 
title="OS Drivers Design" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="tls.html" class="btn btn-neutral float-left" title="TLS: 
Thread Local Storage" accesskey="p" rel="prev"><span class="fa 
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="usb.html" class="btn btn-neutral float-right" title="USB 
(Universal Serial Bus)" accesskey="n" rel="next">Next <span class="fa 
fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index e05cd784eb..f7ac008008 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -193,7 +193,7 @@ standards. Additional standard APIs from Unix and other 
common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments 
(such
 as fork()).</p>
-<p>Last Updated: 11 June 26 at 00:59</p>
+<p>Last Updated: 12 June 26 at 01:07</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of 
Contents</span></p>
 <ul class="current">
@@ -339,6 +339,7 @@ as fork()).</p>
 <li class="toctree-l2"><a class="reference internal" 
href="implementation/tasks_vs_threads.html">Tasks vs. Threads</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="implementation/tickless_os.html">Tickless OS</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="implementation/tls.html">TLS: Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal" 
href="implementation/user_identity.html">User and Group Identity</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="implementation/usb.html">USB (Universal Serial Bus)</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/objects.inv b/content/docs/latest/objects.inv
index be4efe90b9..7097b2c782 100644
Binary files a/content/docs/latest/objects.inv and 
b/content/docs/latest/objects.inv differ
diff --git 
a/content/docs/latest/platforms/arm/rp2040/boards/raspberrypi-pico-w/index.html 
b/content/docs/latest/platforms/arm/rp2040/boards/raspberrypi-pico-w/index.html
index b9c7a17d87..36ab28fe6e 100644
--- 
a/content/docs/latest/platforms/arm/rp2040/boards/raspberrypi-pico-w/index.html
+++ 
b/content/docs/latest/platforms/arm/rp2040/boards/raspberrypi-pico-w/index.html
@@ -817,7 +817,7 @@ ST7735 SPI LCD.</p>
 </div>
 <p>You should see this image:</p>
 <figure class="align-center">
-<img alt="../../../../../_images/st77351.png" 
src="../../../../../_images/st77351.png" />
+<img alt="../../../../../_images/st7735.png" 
src="../../../../../_images/st7735.png" />
 </figure>
 </section>
 <section id="telnet">
diff --git 
a/content/docs/latest/platforms/arm/rp2040/boards/raspberrypi-pico/index.html 
b/content/docs/latest/platforms/arm/rp2040/boards/raspberrypi-pico/index.html
index 0d8da6f58d..63aca6d62e 100644
--- 
a/content/docs/latest/platforms/arm/rp2040/boards/raspberrypi-pico/index.html
+++ 
b/content/docs/latest/platforms/arm/rp2040/boards/raspberrypi-pico/index.html
@@ -840,7 +840,7 @@ ST7735 SPI LCD.</p>
 </div>
 <p>You should see this image:</p>
 <figure class="align-center">
-<img alt="../../../../../_images/st7735.png" 
src="../../../../../_images/st7735.png" />
+<img alt="../../../../../_images/st77351.png" 
src="../../../../../_images/st77351.png" />
 </figure>
 </section>
 <section id="tmp112">
diff --git a/content/docs/latest/searchindex.js 
b/content/docs/latest/searchindex.js
index 596e13fd3b..6c3a7dd58f 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm", "_tags/arch-arm64", 
"_tags/arch-armv8m", "_tags/arch-avr", "_tags/arch-cm33", "_tags/arch-example", 
"_tags/arch-mips", "_tags/arch-renesas", "_tags/arch-risc-v", 
"_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-am62x", "_tags/chip-am67", "_tags/chip-at32uc3", 
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega128", 
"_tags/chip-atmega1284p", "_tags/chip-atmega2560", "_tags/chip-bcm2711", "_tags 
[...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm", "_tags/arch-arm64", 
"_tags/arch-armv8m", "_tags/arch-avr", "_tags/arch-cm33", "_tags/arch-example", 
"_tags/arch-mips", "_tags/arch-renesas", "_tags/arch-risc-v", 
"_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64", 
"_tags/chip-am62x", "_tags/chip-am67", "_tags/chip-at32uc3", 
"_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega128", 
"_tags/chip-atmega1284p", "_tags/chip-atmega2560", "_tags/chip-bcm2711", "_tags 
[...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index b98d326cd7..03642781e0 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -5,8 +5,8 @@
     <description></description>
     <link>/</link>
     <atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
-    <pubDate>Thu, 11 Jun 2026 01:01:11 +0000</pubDate>
-    <lastBuildDate>Thu, 11 Jun 2026 01:01:11 +0000</lastBuildDate>
+    <pubDate>Fri, 12 Jun 2026 01:08:49 +0000</pubDate>
+    <lastBuildDate>Fri, 12 Jun 2026 01:08:49 +0000</lastBuildDate>
     <generator>Jekyll v4.4.1</generator>
     
       <item>

Reply via email to