Re: [PATCH] opp: fix a missing check on list iterator
From: Xiaomeng Tong
Date: Mon Mar 28 2022 - 05:14:09 EST
On Mon, 28 Mar 2022 14:20:57 +0530, Viresh Kumar wrote:
> On 28-03-22, 15:43, Xiaomeng Tong wrote:
> > No. the conditon to call opp_migrate_dentry(opp_dev, opp_table); is:
> > if (!list_is_singular(&opp_table->dev_list)),
> >
> > while list_is_singlular is: !list_empty(head) && (head->next == head->prev);
> >
> > so the condition is: list_empty(head) || (head->next != head->prev)
> >
> > if the list is empty, the bug can be triggered.
>
> List can't be empty here by design. It will be a huge bug in that
> case, which should lead to crash somewhere.
>
There is anther condition to trigger this bug: the list is not empty and
no element found (if (iter != opp_dev)).
--
Xiaomeng Tong