提交 2f4e0463 编写于 作者: M Muhammad Usama Anjum 提交者: Zhong Jinghua

cifsd: use kfree to free memory allocated by kmalloc or kzalloc

mainline inclusion
from mainline-5.15-rc1
commit 822bc8ea
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I60T7G
CVE: NA

Reference: https://git.kernel.org/torvalds/linux/c/822bc8ea514e

-------------------------------

kfree should be used to free memory allocated by kmalloc or kzalloc to
avoid any overhead and for maintaining consistency.
Signed-off-by: NMuhammad Usama Anjum <musamaanjum@gmail.com>
Signed-off-by: NNamjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: NSteve French <stfrench@microsoft.com>
Signed-off-by: NJason Yan <yanaijie@huawei.com>
Signed-off-by: NZhong Jinghua <zhongjinghua@huawei.com>
上级 952faac2
...@@ -78,7 +78,7 @@ static int register_wm_size_class(size_t sz) ...@@ -78,7 +78,7 @@ static int register_wm_size_class(size_t sz)
list_for_each_entry(l, &wm_lists, list) { list_for_each_entry(l, &wm_lists, list) {
if (l->sz == sz) { if (l->sz == sz) {
write_unlock(&wm_lists_lock); write_unlock(&wm_lists_lock);
kvfree(nl); kfree(nl);
return 0; return 0;
} }
} }
...@@ -181,7 +181,7 @@ static void wm_list_free(struct wm_list *l) ...@@ -181,7 +181,7 @@ static void wm_list_free(struct wm_list *l)
list_del(&wm->list); list_del(&wm->list);
kvfree(wm); kvfree(wm);
} }
kvfree(l); kfree(l);
} }
static void wm_lists_destroy(void) static void wm_lists_destroy(void)
......
...@@ -102,7 +102,7 @@ static int parse_veto_list(struct ksmbd_share_config *share, ...@@ -102,7 +102,7 @@ static int parse_veto_list(struct ksmbd_share_config *share,
p->pattern = kstrdup(veto_list, GFP_KERNEL); p->pattern = kstrdup(veto_list, GFP_KERNEL);
if (!p->pattern) { if (!p->pattern) {
ksmbd_free(p); kfree(p);
return -ENOMEM; return -ENOMEM;
} }
......
...@@ -46,8 +46,8 @@ struct ksmbd_user *ksmbd_alloc_user(struct ksmbd_login_response *resp) ...@@ -46,8 +46,8 @@ struct ksmbd_user *ksmbd_alloc_user(struct ksmbd_login_response *resp)
if (!user->name || !user->passkey) { if (!user->name || !user->passkey) {
kfree(user->name); kfree(user->name);
ksmbd_free(user->passkey); kfree(user->passkey);
ksmbd_free(user); kfree(user);
user = NULL; user = NULL;
} }
return user; return user;
...@@ -57,8 +57,8 @@ void ksmbd_free_user(struct ksmbd_user *user) ...@@ -57,8 +57,8 @@ void ksmbd_free_user(struct ksmbd_user *user)
{ {
ksmbd_ipc_logout_request(user->name); ksmbd_ipc_logout_request(user->name);
kfree(user->name); kfree(user->name);
ksmbd_free(user->passkey); kfree(user->passkey);
ksmbd_free(user); kfree(user);
} }
int ksmbd_anonymous_user(struct ksmbd_user *user) int ksmbd_anonymous_user(struct ksmbd_user *user)
......
...@@ -55,7 +55,7 @@ static void __session_rpc_close(struct ksmbd_session *sess, ...@@ -55,7 +55,7 @@ static void __session_rpc_close(struct ksmbd_session *sess,
ksmbd_free(resp); ksmbd_free(resp);
ksmbd_rpc_id_free(entry->id); ksmbd_rpc_id_free(entry->id);
ksmbd_free(entry); kfree(entry);
} }
static void ksmbd_session_rpc_clear_list(struct ksmbd_session *sess) static void ksmbd_session_rpc_clear_list(struct ksmbd_session *sess)
...@@ -121,7 +121,7 @@ int ksmbd_session_rpc_open(struct ksmbd_session *sess, char *rpc_name) ...@@ -121,7 +121,7 @@ int ksmbd_session_rpc_open(struct ksmbd_session *sess, char *rpc_name)
return entry->id; return entry->id;
error: error:
list_del(&entry->list); list_del(&entry->list);
ksmbd_free(entry); kfree(entry);
return -EINVAL; return -EINVAL;
} }
...@@ -176,7 +176,7 @@ void ksmbd_session_destroy(struct ksmbd_session *sess) ...@@ -176,7 +176,7 @@ void ksmbd_session_destroy(struct ksmbd_session *sess)
ksmbd_release_id(session_ida, sess->id); ksmbd_release_id(session_ida, sess->id);
ksmbd_ida_free(sess->tree_conn_ida); ksmbd_ida_free(sess->tree_conn_ida);
ksmbd_free(sess); kfree(sess);
} }
static struct ksmbd_session *__session_lookup(unsigned long long id) static struct ksmbd_session *__session_lookup(unsigned long long id)
......
...@@ -1611,7 +1611,7 @@ int smb2_sess_setup(struct ksmbd_work *work) ...@@ -1611,7 +1611,7 @@ int smb2_sess_setup(struct ksmbd_work *work)
ksmbd_conn_set_good(work); ksmbd_conn_set_good(work);
sess->state = SMB2_SESSION_VALID; sess->state = SMB2_SESSION_VALID;
ksmbd_free(sess->Preauth_HashValue); kfree(sess->Preauth_HashValue);
sess->Preauth_HashValue = NULL; sess->Preauth_HashValue = NULL;
} else if (conn->preferred_auth_mech == KSMBD_AUTH_NTLMSSP) { } else if (conn->preferred_auth_mech == KSMBD_AUTH_NTLMSSP) {
rc = generate_preauth_hash(work); rc = generate_preauth_hash(work);
...@@ -1637,7 +1637,7 @@ int smb2_sess_setup(struct ksmbd_work *work) ...@@ -1637,7 +1637,7 @@ int smb2_sess_setup(struct ksmbd_work *work)
ksmbd_conn_set_good(work); ksmbd_conn_set_good(work);
sess->state = SMB2_SESSION_VALID; sess->state = SMB2_SESSION_VALID;
ksmbd_free(sess->Preauth_HashValue); kfree(sess->Preauth_HashValue);
sess->Preauth_HashValue = NULL; sess->Preauth_HashValue = NULL;
} }
} else { } else {
......
...@@ -551,7 +551,7 @@ void ksmbd_tcp_destroy(void) ...@@ -551,7 +551,7 @@ void ksmbd_tcp_destroy(void)
list_for_each_entry_safe(iface, tmp, &iface_list, entry) { list_for_each_entry_safe(iface, tmp, &iface_list, entry) {
list_del(&iface->entry); list_del(&iface->entry);
kfree(iface->name); kfree(iface->name);
ksmbd_free(iface); kfree(iface);
} }
} }
......
...@@ -829,6 +829,6 @@ void ksmbd_destroy_file_table(struct ksmbd_file_table *ft) ...@@ -829,6 +829,6 @@ void ksmbd_destroy_file_table(struct ksmbd_file_table *ft)
__close_file_table_ids(ft, NULL, session_fd_check); __close_file_table_ids(ft, NULL, session_fd_check);
idr_destroy(ft->idr); idr_destroy(ft->idr);
ksmbd_free(ft->idr); kfree(ft->idr);
ft->idr = NULL; ft->idr = NULL;
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册