[PATCH 12/38] backports: add memset_after/memset_startat
Johannes Berg <[email protected]> Tue, 11 Oct 2022 23:04:20 +0200
| Newsgroups | org.kernel.vger.backports |
|---|---|
| Message-ID | <20221011230356.04e4d975f11d.I22eae0fdc7b78cf10a7dee6fe477fbf0c9a5e807@changeid> |
From: Johannes Berg <[email protected]> Signed-off-by: Johannes Berg <[email protected]> --- backport/backport-include/linux/string.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/backport/backport-include/linux/string.h b/backport/backport-include/linux/string.h index 39257e5f66ab..dc29dcf72b24 100644 --- a/backport/backport-include/linux/string.h +++ b/backport/backport-include/linux/string.h @@ -12,4 +12,24 @@ extern void *memdup_user_nul(const void __user *, size_t); int match_string(const char * const *array, size_t n, const char *string); #endif /* LINUX_VERSION_IS_LESS(4,5,0) */ +#ifndef memset_after +#define memset_after(obj, v, member) \ +({ \ + u8 *__ptr = (u8 *)(obj); \ + typeof(v) __val = (v); \ + memset(__ptr + offsetofend(typeof(*(obj)), member), __val, \ + sizeof(*(obj)) - offsetofend(typeof(*(obj)), member)); \ +}) +#endif + +#ifndef memset_startat +#define memset_startat(obj, v, member) \ +({ \ + u8 *__ptr = (u8 *)(obj); \ + typeof(v) __val = (v); \ + memset(__ptr + offsetof(typeof(*(obj)), member), __val, \ + sizeof(*(obj)) - offsetof(typeof(*(obj)), member)); \ +}) +#endif + #endif /* __BACKPORT_LINUX_STRING_H */ -- 2.37.3 -- To unsubscribe from this list: send the line "unsubscribe backports" in