Commit d65360f
mm/slub: clean up create_unique_id()
As Christophe JAILLET suggested [1]
In create_unique_id(),
"looks that ID_STR_LENGTH could even be reduced to 32 or 16.
The 2nd BUG_ON at the end of the function could certainly be just
removed as well or remplaced by a:
if (p > name + ID_STR_LENGTH - 1) {
kfree(name);
return -E<something>;
}
"
According to above suggestion, let's do below cleanups:
1. reduce ID_STR_LENGTH to 32, as the buffer size should be enough;
2. use WARN_ON instead of BUG_ON() and return error if check condition
is true;
3. use snprintf instead of sprintf to avoid overflow.
[1] https://lore.kernel.org/linux-mm/2025305d-16db-abdf-6cd3-1fb93371c2b4@wanadoo.fr/
Suggested-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Signed-off-by: Chao Yu <chao.yu@oppo.com>
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>1 parent 2bfbb02 commit d65360f
1 file changed
Lines changed: 6 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5874 | 5874 | | |
5875 | 5875 | | |
5876 | 5876 | | |
5877 | | - | |
| 5877 | + | |
5878 | 5878 | | |
5879 | 5879 | | |
5880 | 5880 | | |
| |||
5907 | 5907 | | |
5908 | 5908 | | |
5909 | 5909 | | |
5910 | | - | |
| 5910 | + | |
5911 | 5911 | | |
5912 | | - | |
| 5912 | + | |
| 5913 | + | |
| 5914 | + | |
| 5915 | + | |
5913 | 5916 | | |
5914 | 5917 | | |
5915 | 5918 | | |
| |||
0 commit comments