"Serge E. Hallyn" <serge@xxxxxxxxxx> writes: > Quoting Eric W. Biederman (ebiederm@xxxxxxxxxxxx): >> +static bool setup_userns_sysctls(struct user_namespace *ns) >> +{ >> +#ifdef CONFIG_SYSCTL >> + struct ctl_table *tbl; >> + setup_sysctl_set(&ns->set, &set_root, set_is_seen); >> + tbl = kmemdup(userns_table, sizeof(userns_table), GFP_KERNEL); >> + if (tbl) { >> + ns->sysctls = __register_sysctl_table(&ns->set, "userns", tbl); >> + } > > What happens if tbl is null due to oom? Would it be better to just > return false in that case here? ns->sysctls is initialized to NULL and kfree(NULL) is a noop. So I don't see any problems. I admit it isn't a usual pattern for error handling. >> + if (!ns->sysctls) { >> + kfree(tbl); >> + retire_sysctl_set(&ns->set); >> + return false; >> + } >> +#endif >> + return true; >> +} Eric _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers