Skip to content

[PW_SID:1060024] uaccess: Updates to scoped_user_access()#1531

Closed
linux-riscv-bot wants to merge 5 commits into
workflow__riscv__fixesfrom
pw1060024
Closed

[PW_SID:1060024] uaccess: Updates to scoped_user_access()#1531
linux-riscv-bot wants to merge 5 commits into
workflow__riscv__fixesfrom
pw1060024

Conversation

@linux-riscv-bot
Copy link
Copy Markdown

PR for series 1060024 applied to workflow__riscv__fixes

Name: uaccess: Updates to scoped_user_access()
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1060024
Version: 2

David Laight added 5 commits March 2, 2026 14:02
If a 'const struct foo __user *ptr' is used for the address passed
to scoped_user_read_access() then you get a warning/error
uaccess.h:691:1: error: initialization discards 'const' qualifier
    from pointer target type [-Werror=discarded-qualifiers]
for the
    void __user *_tmpptr = __scoped_user_access_begin(mode, uptr, size, elbl)
assignment.

Fix by using 'auto' for both _tmpptr and the redeclaration of uptr.
Replace the CLASS() with explicit __cleanup() functions on uptr.

Fixes: e497310 "(uaccess: Provide scoped user access regions)"
Signed-off-by: David Laight <david.laight.linux@gmail.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Autoterminating nested for() loops can be used inside #defines to
declare variables that are scoped to the statement that follows.
These are used by __scoped_user_access() but may have other uses
and the gory details are best separated from the use.

Using 'with (declaration)' and 'and_with (declaration)' seems to
read reasonably well and doesn't seem to collide with any existing
code.

As an example the scoped user access definition becomes:
	with (auto _tmpptr = __scoped_user_access_begin(mode, uptr, size, elbl)) \
		/* Force modified pointer usage within the scope */		\
		and_with (const auto uptr __cleanup(...) = _tmpptr)

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Wrappers for autoterminating nested for() loops have been added to
compiler.h, use them to hide the gory details.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
-Wshadow is enabled by W=2 builds and __scoped_user_access() quite
deliberately creates a 'const' shadow of the 'user' address that
references a 'guard page' when the application passes a kernel pointer.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Mechanically change the access_ok() and __get/put_user() to use
scoped_user_read/write_access() and unsafe_get/put_user().

This generates better code with fewer STAC/CLAC pairs.

It also ensures that access_ok() is called near the user accesses.
I failed to find the one for __save_altstack().

Looking at the change, perhaps there should be aliases:
#define scoped_put_user unsafe_put_user
#define scoped_get_user unsafe_get_user

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v2,1/5] uaccess: Fix scoped_user_read_access() for 'pointer to const'"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 139.99 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v2,1/5] uaccess: Fix scoped_user_read_access() for 'pointer to const'"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 2232.48 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v2,1/5] uaccess: Fix scoped_user_read_access() for 'pointer to const'"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 3034.17 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v2,1/5] uaccess: Fix scoped_user_read_access() for 'pointer to const'"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 27.27 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v2,1/5] uaccess: Fix scoped_user_read_access() for 'pointer to const'"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 28.56 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v2,1/5] uaccess: Fix scoped_user_read_access() for 'pointer to const'"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 2.07 seconds
Result: ERROR
Output:

WARNING: Please use correct Fixes: style 'Fixes: <12+ chars of sha1> ("<title line>")' - ie: 'Fixes: e497310b4ffb ("uaccess: Provide scoped user access regions")'
#17: 
Fixes: e497310b4ffb "(uaccess: Provide scoped user access regions)"

CHECK: Please use a blank line after function/struct/union/enum declarations
#67: FILE: include/linux/uaccess.h:658:
+};
+static __always_inline void __scoped_user_write_access_end(const void *p)

CHECK: Please use a blank line after function/struct/union/enum declarations
#71: FILE: include/linux/uaccess.h:662:
+};
+static __always_inline void __scoped_user_rw_access_end(const void *p)

ERROR: Macros with complex values should be enclosed in parentheses
#89: FILE: include/linux/uaccess.h:739:
+#define __scoped_user_access(mode, uptr, size, elbl)				\
+for (bool done = false; !done; done = true)					\
+	for (auto _tmpptr = __scoped_user_access_begin(mode, uptr, size, elbl);	\
+	     !done; done = true)						\
+		/* Force modified pointer usage within the scope */		\
+		for (const auto uptr  __cleanup(__scoped_user_##mode##_access_end) = \
+		     _tmpptr; !done; done = true)

BUT SEE:

   do {} while (0) advice is over-stated in a few situations:

   The more obvious case is macros, like MODULE_PARM_DESC, invoked at
   file-scope, where C disallows code (it must be in functions).  See
   $exceptions if you have one to add by name.

   More troublesome is declarative macros used at top of new scope,
   like DECLARE_PER_CPU.  These might just compile with a do-while-0
   wrapper, but would be incorrect.  Most of these are handled by
   detecting struct,union,etc declaration primitives in $exceptions.

   Theres also macros called inside an if (block), which "return" an
   expression.  These cannot do-while, and need a ({}) wrapper.

   Enjoy this qualification while we work to improve our heuristics.

total: 1 errors, 1 warnings, 2 checks, 69 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Commit 091adeb11ae2 ("uaccess: Fix scoped_user_read_access() for 'pointer to const'") has style problems, please review.

NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.
CHECK: Please use a blank line after function/struct/union/enum declarations
ERROR: Macros with complex values should be enclosed in parentheses
WARNING: Please use correct Fixes: style 'Fixes: <12+ chars of sha1> ("<title line>")' - ie: 'Fixes: e497310b4ffb ("uaccess: Provide scoped user access regions")'


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v2,1/5] uaccess: Fix scoped_user_read_access() for 'pointer to const'"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 84.08 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v2,1/5] uaccess: Fix scoped_user_read_access() for 'pointer to const'"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v2,1/5] uaccess: Fix scoped_user_read_access() for 'pointer to const'"
kdoc
Desc: Detects for kdoc errors
Duration: 0.93 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v2,1/5] uaccess: Fix scoped_user_read_access() for 'pointer to const'"
module-param
Desc: Detect module_param changes
Duration: 0.27 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v2,1/5] uaccess: Fix scoped_user_read_access() for 'pointer to const'"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 1.24 seconds
Result: ERROR
Output:

Commit: 091adeb11ae25 ("uaccess: Fix scoped_user_read_access() for 'pointer to const'")
	Fixes tag: Fixes: e497310b4ffb "(uaccess: Provide scoped user access regions)"
	Has these problem(s):
		- Subject does not match target commit subject
		  Just use
			git log -1 --format='Fixes: %h ("%s")'
Problems with Fixes tag: 1


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v2,1/5] uaccess: Fix scoped_user_read_access() for 'pointer to const'"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.32 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v2,2/5] compiler.h: Add generic support for 'autoterminating nested for() loops'"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 140.35 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v2,2/5] compiler.h: Add generic support for 'autoterminating nested for() loops'"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 2285.20 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v2,2/5] compiler.h: Add generic support for 'autoterminating nested for() loops'"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 3056.57 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v2,2/5] compiler.h: Add generic support for 'autoterminating nested for() loops'"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 26.93 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v2,2/5] compiler.h: Add generic support for 'autoterminating nested for() loops'"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 31.97 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v2,2/5] compiler.h: Add generic support for 'autoterminating nested for() loops'"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 1.80 seconds
Result: ERROR
Output:

ERROR: trailing whitespace
#49: FILE: include/linux/compiler.h:386:
+ *^I} $

ERROR: Macros with complex values should be enclosed in parentheses
#55: FILE: include/linux/compiler.h:392:
+#define with(declaration) \
+	for (bool _with_done = false; !_with_done; _with_done = true)	\
+		and_with (declaration)

BUT SEE:

   do {} while (0) advice is over-stated in a few situations:

   The more obvious case is macros, like MODULE_PARM_DESC, invoked at
   file-scope, where C disallows code (it must be in functions).  See
   $exceptions if you have one to add by name.

   More troublesome is declarative macros used at top of new scope,
   like DECLARE_PER_CPU.  These might just compile with a do-while-0
   wrapper, but would be incorrect.  Most of these are handled by
   detecting struct,union,etc declaration primitives in $exceptions.

   Theres also macros called inside an if (block), which "return" an
   expression.  These cannot do-while, and need a ({}) wrapper.

   Enjoy this qualification while we work to improve our heuristics.

WARNING: space prohibited between function name and open parenthesis '('
#57: FILE: include/linux/compiler.h:394:
+		and_with (declaration)

total: 2 errors, 1 warnings, 0 checks, 32 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

NOTE: Whitespace errors detected.
      You may wish to use scripts/cleanpatch or scripts/cleanfile

Commit 1486bcb92b98 ("compiler.h: Add generic support for 'autoterminating nested for() loops'") has style problems, please review.

NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.
ERROR: Macros with complex values should be enclosed in parentheses
ERROR: trailing whitespace
WARNING: space prohibited between function name and open parenthesis '('


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v2,2/5] compiler.h: Add generic support for 'autoterminating nested for() loops'"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 85.68 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v2,2/5] compiler.h: Add generic support for 'autoterminating nested for() loops'"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v2,2/5] compiler.h: Add generic support for 'autoterminating nested for() loops'"
kdoc
Desc: Detects for kdoc errors
Duration: 0.96 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v2,2/5] compiler.h: Add generic support for 'autoterminating nested for() loops'"
module-param
Desc: Detect module_param changes
Duration: 0.27 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v2,2/5] compiler.h: Add generic support for 'autoterminating nested for() loops'"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v2,2/5] compiler.h: Add generic support for 'autoterminating nested for() loops'"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.32 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v2,3/5] uaccess.h: Use with() and and_with() in __scoped_user_access()"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 139.72 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v2,3/5] uaccess.h: Use with() and and_with() in __scoped_user_access()"
kdoc
Desc: Detects for kdoc errors
Duration: 0.91 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v2,3/5] uaccess.h: Use with() and and_with() in __scoped_user_access()"
module-param
Desc: Detect module_param changes
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v2,3/5] uaccess.h: Use with() and and_with() in __scoped_user_access()"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.22 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v2,3/5] uaccess.h: Use with() and and_with() in __scoped_user_access()"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v2,4/5] uaccess: Disable -Wshadow in __scoped_user_access()"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 140.88 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v2,4/5] uaccess: Disable -Wshadow in __scoped_user_access()"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 2242.38 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v2,4/5] uaccess: Disable -Wshadow in __scoped_user_access()"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 3040.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v2,4/5] uaccess: Disable -Wshadow in __scoped_user_access()"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 27.17 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v2,4/5] uaccess: Disable -Wshadow in __scoped_user_access()"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 28.86 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v2,4/5] uaccess: Disable -Wshadow in __scoped_user_access()"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 1.86 seconds
Result: WARNING
Output:

WARNING: space prohibited between function name and open parenthesis '('
#26: FILE: include/linux/uaccess.h:743:
+		and_with (const auto uptr __cleanup(__scoped_user_##mode##_access_end) = _tmpptr) \

total: 0 errors, 1 warnings, 0 checks, 10 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Commit 3ef22988b8e9 ("uaccess: Disable -Wshadow in __scoped_user_access()") has style problems, please review.

NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.
total: 0 errors, 1 warnings, 0 checks, 10 lines checked
WARNING: space prohibited between function name and open parenthesis '('


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v2,4/5] uaccess: Disable -Wshadow in __scoped_user_access()"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 84.12 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v2,4/5] uaccess: Disable -Wshadow in __scoped_user_access()"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v2,4/5] uaccess: Disable -Wshadow in __scoped_user_access()"
kdoc
Desc: Detects for kdoc errors
Duration: 0.97 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v2,4/5] uaccess: Disable -Wshadow in __scoped_user_access()"
module-param
Desc: Detect module_param changes
Duration: 0.27 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v2,4/5] uaccess: Disable -Wshadow in __scoped_user_access()"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v2,4/5] uaccess: Disable -Wshadow in __scoped_user_access()"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.32 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v2,next,5/5] signal: Use scoped_user_access() instead of __put/get_user()"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 139.97 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v2,next,5/5] signal: Use scoped_user_access() instead of __put/get_user()"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1139.33 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v2,next,5/5] signal: Use scoped_user_access() instead of __put/get_user()"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1679.89 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v2,next,5/5] signal: Use scoped_user_access() instead of __put/get_user()"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 27.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v2,next,5/5] signal: Use scoped_user_access() instead of __put/get_user()"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 28.52 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v2,next,5/5] signal: Use scoped_user_access() instead of __put/get_user()"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 4.41 seconds
Result: WARNING
Output:

WARNING: Commit log lines starting with '#' are dropped by git as comments
#15: 
#define scoped_put_user unsafe_put_user

WARNING: Commit log lines starting with '#' are dropped by git as comments
#16: 
#define scoped_get_user unsafe_get_user

CHECK: Alignment should match open parenthesis
#126: FILE: kernel/signal.c:4774:
+		    unsafe_put_user(ptr_to_compat(old_ka.sa.sa_handler),
+			       &oact->sa_handler, Efault);

CHECK: Alignment should match open parenthesis
#128: FILE: kernel/signal.c:4776:
+		    unsafe_put_user(ptr_to_compat(old_ka.sa.sa_restorer),
+			       &oact->sa_restorer, Efault);

total: 0 errors, 2 warnings, 2 checks, 107 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Commit 16db20662ba5 ("signal: Use scoped_user_access() instead of __put/get_user()") has style problems, please review.

NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.
total: 0 errors, 2 warnings, 2 checks, 107 lines checked
CHECK: Alignment should match open parenthesis
WARNING: Commit log lines starting with '#' are dropped by git as comments


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v2,next,5/5] signal: Use scoped_user_access() instead of __put/get_user()"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 84.65 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v2,next,5/5] signal: Use scoped_user_access() instead of __put/get_user()"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v2,next,5/5] signal: Use scoped_user_access() instead of __put/get_user()"
kdoc
Desc: Detects for kdoc errors
Duration: 0.92 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v2,next,5/5] signal: Use scoped_user_access() instead of __put/get_user()"
module-param
Desc: Detect module_param changes
Duration: 0.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v2,next,5/5] signal: Use scoped_user_access() instead of __put/get_user()"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.22 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 5: "[v2,next,5/5] signal: Use scoped_user_access() instead of __put/get_user()"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.30 seconds
Result: PASS

@linux-riscv-bot linux-riscv-bot deleted the pw1060024 branch March 10, 2026 01:18
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.

1 participant