On 12/15/20 11:40 AM, Al Viro wrote:
On Tue, Dec 15, 2020 at 09:54:54AM +0530, Siddhesh Poyarekar wrote:
+ get_user(byte, (const char __user *)data);
+
+ return byte ? strndup_user(data, PATH_MAX) : NULL;
}
No. Not to mention anything else, you
* fetch the same data twice
* fail to check the get_user() results
Ahh sorry, I could inline the strndup_user call and put an additional
check for length == 1 to return NULL. Would that be acceptable?
The other alternative would be to not touch copy_mount_string and
instead, check after fetching the string and if it is blank, free it and
set to NULL. That seems more expensive though.
Siddhesh