pinctrl: Duplicate user memory in one go in pinmux_select()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Sun, 4 Jun 2023 13:12:14 +0000 (16:12 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 9 Jun 2023 07:20:56 +0000 (09:20 +0200)
commit0d8675e1dfa6253e92b6e42504094d42f27d3ca6
tree8d2447425a90800ebccb3fcfa954afb09f441d67
parent5cc9525bfc8e32029d1339349d65873c42193b00
pinctrl: Duplicate user memory in one go in pinmux_select()

Current code is suboptimal in three ways:
1) it explicitly terminates the string which is not needed;
2) it might provoke additional faults, because asked lenght might be
   bigger than the real one;
3) it consumes more than needed lines in the source.

Instead of using kmalloc() + strncpy_from_user() + terminating, just
utilize memdup_user_nul().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230604131215.78847-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinmux.c