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