diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c index 53fbdbbe8..3c5f7c80b 100644 --- a/net/batman-adv/bat_iv_ogm.c +++ b/net/batman-adv/bat_iv_ogm.c @@ -1410,9 +1410,12 @@ batadv_iv_ogm_update_seqnos(const struct ethhdr *ethhdr, return BATADV_NO_DUP; orig_ifinfo = batadv_orig_ifinfo_new(orig_node, if_outgoing); - if (WARN_ON(!orig_ifinfo)) { + /* batadv_orig_ifinfo_new() can fail when the memory allocation fails. + * This is not a bug, so don't warn and treat the OGM as non-duplicate. + */ + if (!orig_ifinfo) { batadv_orig_node_put(orig_node); - return 0; + return BATADV_NO_DUP; } spin_lock_bh(&orig_node->bat_iv.ogm_cnt_lock);