Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2023-53256

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
15/09/2025
Última modificación:
15/09/2025

Descripción

*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> firmware: arm_ffa: Fix FFA device names for logical partitions<br /> <br /> Each physical partition can provide multiple services each with UUID.<br /> Each such service can be presented as logical partition with a unique<br /> combination of VM ID and UUID. The number of distinct UUID in a system<br /> will be less than or equal to the number of logical partitions.<br /> <br /> However, currently it fails to register more than one logical partition<br /> or service within a physical partition as the device name contains only<br /> VM ID while both VM ID and UUID are maintained in the partition information.<br /> The kernel complains with the below message:<br /> <br /> | sysfs: cannot create duplicate filename &amp;#39;/devices/arm-ffa-8001&amp;#39;<br /> | CPU: 1 PID: 1 Comm: swapper/0 Not tainted 6.3.0-rc7 #8<br /> | Hardware name: FVP Base RevC (DT)<br /> | Call trace:<br /> | dump_backtrace+0xf8/0x118<br /> | show_stack+0x18/0x24<br /> | dump_stack_lvl+0x50/0x68<br /> | dump_stack+0x18/0x24<br /> | sysfs_create_dir_ns+0xe0/0x13c<br /> | kobject_add_internal+0x220/0x3d4<br /> | kobject_add+0x94/0x100<br /> | device_add+0x144/0x5d8<br /> | device_register+0x20/0x30<br /> | ffa_device_register+0x88/0xd8<br /> | ffa_setup_partitions+0x108/0x1b8<br /> | ffa_init+0x2ec/0x3a4<br /> | do_one_initcall+0xcc/0x240<br /> | do_initcall_level+0x8c/0xac<br /> | do_initcalls+0x54/0x94<br /> | do_basic_setup+0x1c/0x28<br /> | kernel_init_freeable+0x100/0x16c<br /> | kernel_init+0x20/0x1a0<br /> | ret_from_fork+0x10/0x20<br /> | kobject_add_internal failed for arm-ffa-8001 with -EEXIST, don&amp;#39;t try to<br /> | register things with the same name in the same directory.<br /> | arm_ffa arm-ffa: unable to register device arm-ffa-8001 err=-17<br /> | ARM FF-A: ffa_setup_partitions: failed to register partition ID 0x8001<br /> <br /> By virtue of being random enough to avoid collisions when generated in a<br /> distributed system, there is no way to compress UUID keys to the number<br /> of bits required to identify each. We can eliminate &amp;#39;-&amp;#39; in the name but<br /> it is not worth eliminating 4 bytes and add unnecessary logic for doing<br /> that. Also v1.0 doesn&amp;#39;t provide the UUID of the partitions which makes<br /> it hard to use the same for the device name.<br /> <br /> So to keep it simple, let us alloc an ID using ida_alloc() and append the<br /> same to "arm-ffa" to make up a unique device name. Also stash the id value<br /> in ffa_dev to help freeing the ID later when the device is destroyed.

Impacto