summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2019-09-25 19:46:13 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2019-09-25 20:51:39 -0400
commit917cda2790c4bd624c5191b8d9edd12121749e86 (patch)
tree72669d3bb43b95d0923eba7f5f0dd3804d2d0c01
parent6d2052d188d962ffb7ad3d413e6ffd5f276aec94 (diff)
kernel-doc: core-api: include string.h into core-api
core-api should show all the various string functions including the newly added stracpy and stracpy_pad. Miscellanea: o Update the Returns: value for strscpy o fix a defect with %NUL) [joe@perches.com: correct return of -E2BIG descriptions] Link: http://lkml.kernel.org/r/29f998b4c1a9d69fbeae70500ba0daa4b340c546.1563889130.git.joe@perches.com Link: http://lkml.kernel.org/r/224a6ebf39955f4107c0c376d66155d970e46733.1563841972.git.joe@perches.com Signed-off-by: Joe Perches <joe@perches.com> Reviewed-by: Kees Cook <keescook@chromium.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Stephen Kitt <steve@sk2.org> Cc: Nitin Gote <nitin.r.gote@intel.com> Cc: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Cc: Jann Horn <jannh@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--Documentation/core-api/kernel-api.rst3
-rw-r--r--include/linux/string.h5
-rw-r--r--lib/string.c10
3 files changed, 12 insertions, 6 deletions
diff --git a/Documentation/core-api/kernel-api.rst b/Documentation/core-api/kernel-api.rst
index 08af5caf036d..f77de49b1d51 100644
--- a/Documentation/core-api/kernel-api.rst
+++ b/Documentation/core-api/kernel-api.rst
@@ -42,6 +42,9 @@ String Manipulation
42.. kernel-doc:: lib/string.c 42.. kernel-doc:: lib/string.c
43 :export: 43 :export:
44 44
45.. kernel-doc:: include/linux/string.h
46 :internal:
47
45.. kernel-doc:: mm/util.c 48.. kernel-doc:: mm/util.c
46 :functions: kstrdup kstrdup_const kstrndup kmemdup kmemdup_nul memdup_user 49 :functions: kstrdup kstrdup_const kstrndup kmemdup kmemdup_nul memdup_user
47 vmemdup_user strndup_user memdup_user_nul 50 vmemdup_user strndup_user memdup_user_nul
diff --git a/include/linux/string.h b/include/linux/string.h
index 4deb11f7976b..b2f9df7f0761 100644
--- a/include/linux/string.h
+++ b/include/linux/string.h
@@ -474,8 +474,9 @@ static inline void memcpy_and_pad(void *dest, size_t dest_len,
474 * But this can lead to bugs due to typos, or if prefix is a pointer 474 * But this can lead to bugs due to typos, or if prefix is a pointer
475 * and not a constant. Instead use str_has_prefix(). 475 * and not a constant. Instead use str_has_prefix().
476 * 476 *
477 * Returns: 0 if @str does not start with @prefix 477 * Returns:
478 strlen(@prefix) if @str does start with @prefix 478 * * strlen(@prefix) if @str starts with @prefix
479 * * 0 if @str does not start with @prefix
479 */ 480 */
480static __always_inline size_t str_has_prefix(const char *str, const char *prefix) 481static __always_inline size_t str_has_prefix(const char *str, const char *prefix)
481{ 482{
diff --git a/lib/string.c b/lib/string.c
index 461fb620f85f..f7bc10da4259 100644
--- a/lib/string.c
+++ b/lib/string.c
@@ -173,8 +173,9 @@ EXPORT_SYMBOL(strlcpy);
173 * doesn't unnecessarily force the tail of the destination buffer to be 173 * doesn't unnecessarily force the tail of the destination buffer to be
174 * zeroed. If zeroing is desired please use strscpy_pad(). 174 * zeroed. If zeroing is desired please use strscpy_pad().
175 * 175 *
176 * Return: The number of characters copied (not including the trailing 176 * Returns:
177 * %NUL) or -E2BIG if the destination buffer wasn't big enough. 177 * * The number of characters copied (not including the trailing %NUL)
178 * * -E2BIG if count is 0 or @src was truncated.
178 */ 179 */
179ssize_t strscpy(char *dest, const char *src, size_t count) 180ssize_t strscpy(char *dest, const char *src, size_t count)
180{ 181{
@@ -253,8 +254,9 @@ EXPORT_SYMBOL(strscpy);
253 * For full explanation of why you may want to consider using the 254 * For full explanation of why you may want to consider using the
254 * 'strscpy' functions please see the function docstring for strscpy(). 255 * 'strscpy' functions please see the function docstring for strscpy().
255 * 256 *
256 * Return: The number of characters copied (not including the trailing 257 * Returns:
257 * %NUL) or -E2BIG if the destination buffer wasn't big enough. 258 * * The number of characters copied (not including the trailing %NUL)
259 * * -E2BIG if count is 0 or @src was truncated.
258 */ 260 */
259ssize_t strscpy_pad(char *dest, const char *src, size_t count) 261ssize_t strscpy_pad(char *dest, const char *src, size_t count)
260{ 262{