* [PATCH 0/2] string: Add stracpy and stracpy_pad @ 2019-07-23 0:38 Joe Perches 2019-07-23 0:38 ` [PATCH 2/2] kernel-doc: core-api: Include string.h into core-api Joe Perches 0 siblings, 1 reply; 3+ messages in thread From: Joe Perches @ 2019-07-23 0:38 UTC (permalink / raw) To: Linus Torvalds, linux-kernel Cc: Jonathan Corbet, Stephen Kitt, Kees Cook, Nitin Gote, jannh, kernel-hardening, Rasmus Villemoes, Andrew Morton, linux-doc Add more string copy mechanisms to help avoid defects Joe Perches (2): string: Add stracpy and stracpy_pad mechanisms kernel-doc: core-api: Include string.h into core-api Documentation/core-api/kernel-api.rst | 3 +++ include/linux/string.h | 46 +++++++++++++++++++++++++++++++++-- lib/string.c | 10 +++++--- 3 files changed, 53 insertions(+), 6 deletions(-) -- 2.15.0 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 2/2] kernel-doc: core-api: Include string.h into core-api 2019-07-23 0:38 [PATCH 0/2] string: Add stracpy and stracpy_pad Joe Perches @ 2019-07-23 0:38 ` Joe Perches 2019-07-23 21:28 ` Kees Cook 0 siblings, 1 reply; 3+ messages in thread From: Joe Perches @ 2019-07-23 0:38 UTC (permalink / raw) To: Linus Torvalds, linux-kernel Cc: Jonathan Corbet, Stephen Kitt, Kees Cook, Nitin Gote, jannh, kernel-hardening, Rasmus Villemoes, Andrew Morton, linux-doc 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) Signed-off-by: Joe Perches <joe@perches.com> --- Documentation/core-api/kernel-api.rst | 3 +++ include/linux/string.h | 5 +++-- lib/string.c | 10 ++++++---- 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 .. kernel-doc:: lib/string.c :export: +.. kernel-doc:: include/linux/string.h + :internal: + .. kernel-doc:: mm/util.c :functions: kstrdup kstrdup_const kstrndup kmemdup kmemdup_nul memdup_user vmemdup_user strndup_user memdup_user_nul diff --git a/include/linux/string.h b/include/linux/string.h index f80b0973f0e5..329188fffc11 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -515,8 +515,9 @@ static inline void memcpy_and_pad(void *dest, size_t dest_len, * But this can lead to bugs due to typos, or if prefix is a pointer * and not a constant. Instead use str_has_prefix(). * - * Returns: 0 if @str does not start with @prefix - strlen(@prefix) if @str does start with @prefix + * Returns: + * * strlen(@prefix) if @str starts with @prefix + * * 0 if @str does not start with @prefix */ static __always_inline size_t str_has_prefix(const char *str, const char *prefix) { diff --git a/lib/string.c b/lib/string.c index 461fb620f85f..53582b6dce2a 100644 --- a/lib/string.c +++ b/lib/string.c @@ -173,8 +173,9 @@ EXPORT_SYMBOL(strlcpy); * doesn't unnecessarily force the tail of the destination buffer to be * zeroed. If zeroing is desired please use strscpy_pad(). * - * Return: The number of characters copied (not including the trailing - * %NUL) or -E2BIG if the destination buffer wasn't big enough. + * Returns: + * * The number of characters copied (not including the trailing %NUL) + * * -E2BIG if count is 0. */ ssize_t strscpy(char *dest, const char *src, size_t count) { @@ -253,8 +254,9 @@ EXPORT_SYMBOL(strscpy); * For full explanation of why you may want to consider using the * 'strscpy' functions please see the function docstring for strscpy(). * - * Return: The number of characters copied (not including the trailing - * %NUL) or -E2BIG if the destination buffer wasn't big enough. + * Returns: + * * The number of characters copied (not including the trailing %NUL) + * * -E2BIG if count is 0. */ ssize_t strscpy_pad(char *dest, const char *src, size_t count) { -- 2.15.0 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 2/2] kernel-doc: core-api: Include string.h into core-api 2019-07-23 0:38 ` [PATCH 2/2] kernel-doc: core-api: Include string.h into core-api Joe Perches @ 2019-07-23 21:28 ` Kees Cook 0 siblings, 0 replies; 3+ messages in thread From: Kees Cook @ 2019-07-23 21:28 UTC (permalink / raw) To: Joe Perches Cc: Linus Torvalds, linux-kernel, Jonathan Corbet, Stephen Kitt, Nitin Gote, jannh, kernel-hardening, Rasmus Villemoes, Andrew Morton, linux-doc On Mon, Jul 22, 2019 at 05:38:16PM -0700, Joe Perches wrote: > 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) > > Signed-off-by: Joe Perches <joe@perches.com> Reviewed-by: Kees Cook <keescook@chromium.org> -Kees > --- > Documentation/core-api/kernel-api.rst | 3 +++ > include/linux/string.h | 5 +++-- > lib/string.c | 10 ++++++---- > 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 > .. kernel-doc:: lib/string.c > :export: > > +.. kernel-doc:: include/linux/string.h > + :internal: > + > .. kernel-doc:: mm/util.c > :functions: kstrdup kstrdup_const kstrndup kmemdup kmemdup_nul memdup_user > vmemdup_user strndup_user memdup_user_nul > diff --git a/include/linux/string.h b/include/linux/string.h > index f80b0973f0e5..329188fffc11 100644 > --- a/include/linux/string.h > +++ b/include/linux/string.h > @@ -515,8 +515,9 @@ static inline void memcpy_and_pad(void *dest, size_t dest_len, > * But this can lead to bugs due to typos, or if prefix is a pointer > * and not a constant. Instead use str_has_prefix(). > * > - * Returns: 0 if @str does not start with @prefix > - strlen(@prefix) if @str does start with @prefix > + * Returns: > + * * strlen(@prefix) if @str starts with @prefix > + * * 0 if @str does not start with @prefix > */ > static __always_inline size_t str_has_prefix(const char *str, const char *prefix) > { > diff --git a/lib/string.c b/lib/string.c > index 461fb620f85f..53582b6dce2a 100644 > --- a/lib/string.c > +++ b/lib/string.c > @@ -173,8 +173,9 @@ EXPORT_SYMBOL(strlcpy); > * doesn't unnecessarily force the tail of the destination buffer to be > * zeroed. If zeroing is desired please use strscpy_pad(). > * > - * Return: The number of characters copied (not including the trailing > - * %NUL) or -E2BIG if the destination buffer wasn't big enough. > + * Returns: > + * * The number of characters copied (not including the trailing %NUL) > + * * -E2BIG if count is 0. > */ > ssize_t strscpy(char *dest, const char *src, size_t count) > { > @@ -253,8 +254,9 @@ EXPORT_SYMBOL(strscpy); > * For full explanation of why you may want to consider using the > * 'strscpy' functions please see the function docstring for strscpy(). > * > - * Return: The number of characters copied (not including the trailing > - * %NUL) or -E2BIG if the destination buffer wasn't big enough. > + * Returns: > + * * The number of characters copied (not including the trailing %NUL) > + * * -E2BIG if count is 0. > */ > ssize_t strscpy_pad(char *dest, const char *src, size_t count) > { > -- > 2.15.0 > -- Kees Cook ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-07-23 21:28 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-07-23 0:38 [PATCH 0/2] string: Add stracpy and stracpy_pad Joe Perches 2019-07-23 0:38 ` [PATCH 2/2] kernel-doc: core-api: Include string.h into core-api Joe Perches 2019-07-23 21:28 ` Kees Cook
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).