These patches fix sg api usage in sockmap. Previously sockmap didn't use sg_init_table(), which caused hitting BUG_ON in sg api, when CONFIG_DEBUG_SG is enabled
v1: added sg_init_table() calls wherever needed. v2: - Patch1 adds new helper function in sg api. sg_init_marker() - Patch2 sg_init_marker() and sg_init_table() in appropriate places Backgroud: While reviewing v1, John Fastabend raised a valid point about unnecessary memset in sg_init_table() because sockmap uses sg table which embedded in a struct. As enclosing struct is zeroed out, there is unnecessary memset in sg_init_table. So Daniel Borkmann suggested to define another static inline function in scatterlist.h which only initializes sg_magic. Also this function will be called from sg_init_table. From this suggestion I defined a function sg_init_marker() which sets sg_magic and calls sg_mark_end() Prashant Bhole (2): lib/scatterlist: add sg_init_marker() helper bpf: sockmap: initialize sg table entries properly include/linux/scatterlist.h | 18 ++++++++++++++++++ kernel/bpf/sockmap.c | 13 ++++++++----- lib/scatterlist.c | 9 +-------- 3 files changed, 27 insertions(+), 13 deletions(-) -- 2.14.3