et->num_refillqs, sizeof(struct idpf_sw_queue), GFP_KERNEL); if (!bufq_set->refillqs) { err = -ENOMEM; goto err_alloc; } ... } If this allocation fails, bufq_set->refillqs is NULL but bufq_set->num_refillqs is non-zero. The error path calls idpf_rxq_sw_queue_rel() which now passes the bufq_sets check but then dereferences bufq_set->refillqs[j].ring in the inner loop. The inner loop condition (j < bufq_set->num_refillqs) would be true, causing the same NULL pointer dereference the patch is meant to prevent. Would this need a similar check before the inner loop, similar to the bufq_sets check added in this patch?[net,v2,02/12] idpf: skip deallocating bufq_sets from rx_qgrp if it is NULLJakub Kicinski undefinedanthony.l.nguyen@intel.com undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefinedŚx†ˇ5