qcacmn: Check null in qdf_nbuf_track_free
Freeing a null pointer shouldn't do anything. Some code relies on this. Specifically, in a rare scenario, an allocation is made outside of a spinlock and may freed without being used or verified inside the spinlock. Change-Id: Ib5f8ecabc62454a0ca9b6723cd80ff2f701196c3 CRs-Fixed: 1024277
这个提交包含在:
@@ -717,6 +717,9 @@ static void qdf_nbuf_track_free(QDF_NBUF_TRACK *node)
|
|||||||
{
|
{
|
||||||
unsigned long irq_flag;
|
unsigned long irq_flag;
|
||||||
|
|
||||||
|
if (!node)
|
||||||
|
return;
|
||||||
|
|
||||||
/* Try to shrink the freelist if free_list_count > than FREEQ_POOLSIZE
|
/* Try to shrink the freelist if free_list_count > than FREEQ_POOLSIZE
|
||||||
* only shrink the freelist if it is bigger than twice the number of
|
* only shrink the freelist if it is bigger than twice the number of
|
||||||
* nbufs in use. If the driver is stalling in a consistent bursty
|
* nbufs in use. If the driver is stalling in a consistent bursty
|
||||||
|
在新工单中引用
屏蔽一个用户