[PATCH 35/74] backports: add memset_after/memset_startat
Johannes Berg <[email protected]> Fri, 24 May 2024 19:07:47 +0200
| Newsgroups | org.kernel.vger.backports |
|---|---|
| Message-ID | <20240524190907.b03442e67598.I22eae0fdc7b78cf10a7dee6fe477fbf0c9a5e807@changeid> |
From: Johannes Berg <[email protected]> Signed-off-by: Johannes Berg <[email protected]> --- backport/backport-include/linux/string.h | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 backport/backport-include/linux/string.h diff --git a/backport/backport-include/linux/string.h b/backport/backport-include/linux/string.h new file mode 100644 index 000000000000..ce4c99e34e0d --- /dev/null +++ b/backport/backport-include/linux/string.h @@ -0,0 +1,26 @@ +#ifndef __BACKPORT_LINUX_STRING_H +#define __BACKPORT_LINUX_STRING_H +#include_next <linux/string.h> +#include <linux/version.h> + +#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.45.1