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

Reply via email to