Re: [PATCH v3 06/10] sysctl: drop away useless label
From: Andrew Morton <hidden>
Date: 2016-04-05 22:17:56
Also in:
linux-efi, lkml
On Tue, 5 Apr 2016 16:56:15 +0300 Andy Shevchenko [off-list ref] wrote:
quoted hunk ↗ jump to hunk
We have no locking in bin_uuid(). Thus, we may remove the out label and use return statements directly. ...--- a/kernel/sysctl_binary.c +++ b/kernel/sysctl_binary.c@@ -1123,15 +1123,14 @@ static ssize_t bin_uuid(struct file *file, result = kernel_read(file, 0, buf, sizeof(buf) - 1); if (result < 0) - goto out; + return result; buf[result] = '\0'; /* Convert the uuid to from a string to binary */ for (i = 0; i < 16; i++) { - result = -EIO; if (!isxdigit(str[0]) || !isxdigit(str[1])) - goto out; + return -EIO; uuid[i] = (hex_to_bin(str[0]) << 4) | hex_to_bin(str[1]);@@ -1143,15 +1142,12 @@ static ssize_t bin_uuid(struct file *file, if (oldlen > 16) oldlen = 16; - result = -EFAULT; if (copy_to_user(oldval, uuid, oldlen)) - goto out; + return -EFAULT; copied = oldlen; } - result = copied; -out: - return result; + return copied; }
Sure, but we may add locking or resource allocation in the future, in which case this change will need to be undone. I think it's better to leave the code as-is. It's presently quite typical kernel code.