mirror of https://gitee.com/openkylin/linux.git
eCryptfs: fix to use list_for_each_entry_safe() when delete items
Since we will be removing items off the list using list_del() we need to use a safer version of the list_for_each_entry() macro aptly named list_for_each_entry_safe(). We should use the safe macro if the loop involves deletions of items. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> [tyhicks: Fixed compiler err - missing list_for_each_entry_safe() param] Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
This commit is contained in:
parent
e4bc6522d5
commit
8bbca57cff
|
@ -102,12 +102,12 @@ int __init ecryptfs_init_kthread(void)
|
|||
|
||||
void ecryptfs_destroy_kthread(void)
|
||||
{
|
||||
struct ecryptfs_open_req *req;
|
||||
struct ecryptfs_open_req *req, *tmp;
|
||||
|
||||
mutex_lock(&ecryptfs_kthread_ctl.mux);
|
||||
ecryptfs_kthread_ctl.flags |= ECRYPTFS_KTHREAD_ZOMBIE;
|
||||
list_for_each_entry(req, &ecryptfs_kthread_ctl.req_list,
|
||||
kthread_ctl_list) {
|
||||
list_for_each_entry_safe(req, tmp, &ecryptfs_kthread_ctl.req_list,
|
||||
kthread_ctl_list) {
|
||||
list_del(&req->kthread_ctl_list);
|
||||
*req->lower_file = ERR_PTR(-EIO);
|
||||
complete(&req->done);
|
||||
|
|
Loading…
Reference in New Issue