Re: [PATCH 3/6] ksmbd: replace rwlock with rcu for concurrenct access on conn list

From: Sergey Senozhatsky
Date: Sun Jan 29 2023 - 23:15:47 EST


On (23/01/15 18:32), Dawei Li wrote:
>
> void ksmbd_conn_free(struct ksmbd_conn *conn)
> {
> - write_lock(&conn_list_lock);
> - list_del(&conn->conns_list);
> - write_unlock(&conn_list_lock);
> + spin_lock(&conn_list_lock);
> + list_del_rcu(&conn->conns_list);
> + spin_unlock(&conn_list_lock);
>
> xa_destroy(&conn->sessions);
> kvfree(conn->request_buf);

>From a quick look this does not seem like a correct RCU usage. E.g.
where do you wait for grace periods and synchronize readers/writers?