On Mon, 31 Jul 2017, Guillaume Knispel wrote:
struct ipc_ids { int in_use; unsigned short seq; + bool tables_initialized;
So this is really ugly to have, but I understand why you added it. I wonder what folks would think if we just panic() in the rhashtable_init() ENOMEM case, and convert the EINVALs to WARNs. This way the function would always be called successfully. This is similar to what futex_init does, with the underlying hash table allocator panicing. sems and msg would probably have to be converted to pure_initcall, but hey, we could at least get the symmetry back.
static int __init ipc_ns_init(void) { - shm_init_ns(&init_ipc_ns); - return 0; + const int err = shm_init_ns(&init_ipc_ns); + WARN(err, "ipc: sysV shm_init_ns failed: %d\n", err);
nit: s/sysV/sysv
+ return err; }
Thanks, Davidlohr