Use kmemdup() in OP-TEE driver

-----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAmSLCTsaHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJfYDA//XzblJH/BbpOHM7WRxmAI
 PIqKpasGAsETyeUppzd8B1R4fmTev8N9ad/oigkGcu57YJXqtXcs14hY3APmHUdq
 QtZJkBSS10BGTJSALlxZyEfyY6KKIToOrAfZqpKhbAkjmQ4lBwB5MXLGGRHGCXoL
 L2mtpwNPiozLppIFdkqUiVvZNh6Iro1MpRmi0O2fLYKD/Ofj8FIasquPx0Wushs5
 Kv9UaDOMWhLvYHK+rrHHukWRkyYbxhZHlO/WIJXgwTRmelS+P/4AAC8OFrdTUXqM
 W/3seyriQaL8jx5o53+Ur61sLXlSwYjyf82uw7CG63sqjYLtG58UX4YOsl3H5QHj
 4c6aqasHmj50SnPuh9zu1VSOc9+Wg9Ntdyw+3HXe6WgPuna82zaC0Nw3eTO2hGKn
 EhKTtvBwvJfZ+JvLF3y3gG/GhO5I6inM0v6PabmdpaVM5icQ3biB5BrqfqmvuC8n
 +7/DJUJNWrel0E4BHMezR4f0UKwfYZss03MLuailLhQSb7kGZGSPtHNi5ZoZPMhi
 5NiEKvgZISUp+ERf0IQ6Ny0nXmmnE6XKD2Geo9eJ91akiGWqJSmrbS66wzKwv2L7
 hVn+GsT5TZZgNe6bq2MJlqySelYLbUVixIaAmx29DmwcBCyDl+clnquZYkEdrS+v
 Ta55X6IheqwmfVAa+I4ChR8=
 =kY07
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSUai4ACgkQYKtH/8kJ
 UidghxAAwedeCE39j4ZPFF3FJ2cKUbpCQ5DeUNH3svNqfxBsbL2LkifZXtnpHLnn
 KKhgECAFdR6fLbyL3DT26YD9ieSx93Mq7u9ONyld0bK5Xyd3jnrbecOr0cMqjEui
 jsvX1YCgKavfuW3CH7dQCPxW6juL6G7RLs1zm7qjWsypx8dhxXbAMRXsTiNFNMWF
 KT41YNRoImpENv9IsvDjk7wuANeTgF8vW+VpawzA2bjAmKpeZOkj1vGXpKAQ5NlA
 cNe2WCrTuYA0q1dyv1fKqqJV3nBBdvo/mWjc2Q8yu6dqkQ0ifhBvlrPqluyHlBB8
 dTB9zsWCaWZcZfLV0TPx+bqmBQqNQnjEDguJp8/Nwg7tD0jJVTuNDI/k/thUPZ3y
 woCtQIba0gj0JCJQNriGpURAXu30JXQMRcb57welXz+snT2d6kFOqCLFRgEnLW+J
 dWiqauuisqIG/69DdLRRjqBAcVKPDtPa34gpZ/Bi7R2UcFYU8vyaQivhny7h3+2S
 oqIMOtePgUZCjfAZLixaFDAYQtMcNk4QMr+Q8Q4vxuDh7xOF93mQ29VZuLiwbVCA
 wZW/MQwUUHZy2Duii1SuweHc3N1wUszajUbG/WLHIPfkElqehKvIB8G/XUM+JfIL
 pe6JJOVP50E1Z6gm154VdMowgE03qvVOF2F1PQ6jb9//eUlmrk0=
 =9d3f
 -----END PGP SIGNATURE-----

Merge tag 'optee-use-kmemdup-for-6.5' of https://git.linaro.org/people/jens.wiklander/linux-tee into soc/drivers

Use kmemdup() in OP-TEE driver

* tag 'optee-use-kmemdup-for-6.5' of https://git.linaro.org/people/jens.wiklander/linux-tee:
  tee: optee: Use kmemdup() to replace kmalloc + memcpy

Link: https://lore.kernel.org/r/20230615130049.GA979203@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2023-06-22 17:35:09 +02:00
commit 3f711c2490

View File

@ -1539,12 +1539,11 @@ static int optee_load_fw(struct platform_device *pdev,
* This uses the GFP_DMA flag to ensure we are allocated memory in the
* 32-bit space since TF-A cannot map memory beyond the 32-bit boundary.
*/
data_buf = kmalloc(fw->size, GFP_KERNEL | GFP_DMA);
data_buf = kmemdup(fw->data, fw->size, GFP_KERNEL | GFP_DMA);
if (!data_buf) {
rc = -ENOMEM;
goto fw_err;
}
memcpy(data_buf, fw->data, fw->size);
data_pa = virt_to_phys(data_buf);
reg_pair_from_64(&data_pa_high, &data_pa_low, data_pa);
reg_pair_from_64(&data_size_high, &data_size_low, data_size);