> On Nov 2, 2016, at 13:11, Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote: > > On 2016-10-31 16:11:02 [+0000], Trond Myklebust wrote: >> >> Yes, and yes. We can’t rely on the list pointers remaining correct, so we restart the list scan and we use the ops->state_flag_bit to signal whether or not state has been recovered for the entry being scanned. > > but this is tested at the top of the loop and by then you look at > lists' ->next pointer which might be invalid. > No. We ensure we restart the list scan if we release the spinlock. It’s safe… ��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥