Optimize the err variable assignment location so that the err variable is manually modified when an error occurs. Signed-off-by: Li kunyu <kunyu@xxxxxxxxxxxx> --- fs/proc/proc_sysctl.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c index cdda684551599..737071754a6e5 100644 --- a/fs/proc/proc_sysctl.c +++ b/fs/proc/proc_sysctl.c @@ -1258,13 +1258,14 @@ static int insert_links(struct ctl_table_header *head) links = new_links(core_parent, head); spin_lock(&sysctl_lock); - err = -ENOMEM; - if (!links) + if (!links) { + err = -ENOMEM; goto out; + } - err = 0; if (get_links(core_parent, head, head->root)) { kfree(links); + err = 0; goto out; } -- 2.18.2