On Fri, Apr 3, 2026 at 8:54 AM Kees Cook <[email protected]> wrote: > > > - strncpy(attr.map_name, map_name, sizeof(attr.map_name)); > > > + /* attr.map_name must be NUL-terminated, like bpf_obj_name_cpy() > > > */ > > > + map_name_len = strnlen(map_name, sizeof(attr.map_name)); > > > + if (map_name_len == sizeof(attr.map_name)) > > > + return -EINVAL; > > > + memcpy(attr.map_name, map_name, map_name_len); > > > > this is plain ugly and inefficient. > > Just #ifdef kernel and use strscpy in that branch. > > I think you're asking for: > > #ifdef __KERNEL__ > if (strscpy(attr.map_name, map_name) < 0) > return -EINVAL; > #else > strncpy(attr.map_name, map_name, sizeof(attr.map_name)); > #endif > > Is that right?
yes.

