Hi,

in_pcbinit() is called during boot.  There malloc(9) cannot fail.
If called with M_WAITOK it would panic otherwise.  So this error
handling is needles.

ok?

bluhm

Index: netinet/in_pcb.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/in_pcb.c,v
retrieving revision 1.258
diff -u -p -r1.258 in_pcb.c
--- netinet/in_pcb.c    2 Mar 2022 21:30:58 -0000       1.258
+++ netinet/in_pcb.c    4 Mar 2022 15:28:05 -0000
@@ -175,14 +175,10 @@ in_pcbinit(struct inpcbtable *table, int
 {
 
        TAILQ_INIT(&table->inpt_queue);
-       table->inpt_hashtbl = hashinit(hashsize, M_PCB, M_NOWAIT,
+       table->inpt_hashtbl = hashinit(hashsize, M_PCB, M_WAITOK,
            &table->inpt_mask);
-       if (table->inpt_hashtbl == NULL)
-               panic("in_pcbinit: hashinit failed");
-       table->inpt_lhashtbl = hashinit(hashsize, M_PCB, M_NOWAIT,
+       table->inpt_lhashtbl = hashinit(hashsize, M_PCB, M_WAITOK,
            &table->inpt_lmask);
-       if (table->inpt_lhashtbl == NULL)
-               panic("in_pcbinit: hashinit failed for lport");
        table->inpt_count = 0;
        table->inpt_size = hashsize;
        arc4random_buf(&table->inpt_key, sizeof(table->inpt_key));

Reply via email to