Skip to content

docs(linuxkm): document DTLS 1.3 configure flags#10377

Open
jackctj117 wants to merge 2 commits intowolfSSL:masterfrom
jackctj117:DTLS13-Kernel
Open

docs(linuxkm): document DTLS 1.3 configure flags#10377
jackctj117 wants to merge 2 commits intowolfSSL:masterfrom
jackctj117:DTLS13-Kernel

Conversation

@jackctj117
Copy link
Copy Markdown
Contributor

This pull request adds new documentation to clarify how to enable DTLS 1.3 support in the kernel module build process. The update explains that enabling DTLS 1.3 requires explicit configuration flags and describes the resulting exported symbols.

Documentation improvements:

  • Added a new section to linuxkm/README.md explaining that --enable-linuxkm does not automatically enable TLS 1.3 or DTLS, and that enabling DTLS 1.3 requires passing --enable-tls13, --enable-dtls, and --enable-dtls13 to configure. The section also documents the exported DTLS 1.3 kernel symbols.

Copy link
Copy Markdown

@wolfSSL-Fenrir-bot wolfSSL-Fenrir-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fenrir Automated Review — PR #10377

No scan targets match the changed files in this PR. Review skipped.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Linux kernel module documentation to clarify how DTLS 1.3 is enabled in linuxkm builds and what DTLS 1.3-related APIs become available to in-kernel consumers.

Changes:

  • Added a new linuxkm/README.md section describing the configure flags needed to enable DTLS 1.3.
  • Documented that DTLS 1.3-related entry points are exported from libwolfssl.ko for use by other kernel code.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread linuxkm/README.md
Comment on lines +62 to +64
`--enable-linuxkm` does not implicitly enable TLS 1.3 or DTLS, so the DTLS 1.3
configure check (`configure.ac:5634-5636`) requires all three flags to be
passed explicitly:
Copy link

Copilot AI May 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The text says DTLS 1.3 "requires all three flags" to be passed explicitly and points to specific configure.ac line numbers. In configure.ac, --enable-tls13 defaults to enabled (unless overridden, e.g., some FIPS cases), so explicitly passing it is not generally required. Also, hard-coding configure.ac:5634-5636 is brittle as line numbers change; consider referencing the actual configure error message or simply stating that --enable-dtls13 requires both DTLS and TLS 1.3 to be enabled.

Suggested change
`--enable-linuxkm` does not implicitly enable TLS 1.3 or DTLS, so the DTLS 1.3
configure check (`configure.ac:5634-5636`) requires all three flags to be
passed explicitly:
`--enable-linuxkm` does not implicitly enable TLS 1.3 or DTLS. To enable
DTLS 1.3 support, `--enable-dtls13` requires both DTLS and TLS 1.3 to be
enabled, for example:

Copilot uses AI. Check for mistakes.
Comment thread linuxkm/README.md
Comment on lines +74 to +76
(`wolfDTLSv1_3_client_method`, `wolfDTLSv1_3_server_method`, etc.) as GPL
kernel symbols, available to other in-kernel consumers via
`EXPORT_SYMBOL_GPL`.
Copy link

Copilot AI May 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The module export mechanism here is EXPORT_SYMBOL_NS_GPL(..., WOLFSSL) (see linuxkm/Kbuild and module_exports.c.template), not plain EXPORT_SYMBOL_GPL. On kernels with symbol namespaces, in-kernel consumers may also need to import the namespace (e.g., MODULE_IMPORT_NS(WOLFSSL)). Consider updating this wording to avoid implying the symbols are exported without a namespace.

Suggested change
(`wolfDTLSv1_3_client_method`, `wolfDTLSv1_3_server_method`, etc.) as GPL
kernel symbols, available to other in-kernel consumers via
`EXPORT_SYMBOL_GPL`.
(`wolfDTLSv1_3_client_method`, `wolfDTLSv1_3_server_method`, etc.) as
namespace-qualified GPL kernel symbols via
`EXPORT_SYMBOL_NS_GPL(..., WOLFSSL)`. On kernels with symbol namespaces,
other in-kernel consumers may also need to import the `WOLFSSL` namespace,
for example with `MODULE_IMPORT_NS(WOLFSSL)`.

Copilot uses AI. Check for mistakes.
Comment thread linuxkm/README.md
Comment on lines +67 to +70
./configure --enable-linuxkm \
--enable-tls13 --enable-dtls --enable-dtls13 \
--with-linux-source=/lib/modules/$(uname -r)/build
make -j$(nproc) module
Copy link

Copilot AI May 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For consistency with the earlier README examples, consider prefixing the configure/make commands with a shell prompt ($) and keeping the make -j form consistent (the earlier section uses make -j module). This helps readers copy/paste and visually parse the commands.

Suggested change
./configure --enable-linuxkm \
--enable-tls13 --enable-dtls --enable-dtls13 \
--with-linux-source=/lib/modules/$(uname -r)/build
make -j$(nproc) module
$ ./configure --enable-linuxkm \
--enable-tls13 --enable-dtls --enable-dtls13 \
--with-linux-source=/lib/modules/$(uname -r)/build
$ make -j module

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 1, 2026

MemBrowse Memory Report

No memory changes detected for:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants