vdpa: solidrun: Fix UB bug with devres
authorPhilipp Stanner <pstanner@redhat.com>
Mon, 28 Oct 2024 07:43:59 +0000 (08:43 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 6 Nov 2024 09:40:07 +0000 (04:40 -0500)
commit0b364cf53b20204e92bac7c6ebd1ee7d3ec62931
tree5a1b30274b55aaffee970c1843aca06f31a94542
parent6ca575374dd9a507cdd16dfa0e78c2e9e20bd05f
vdpa: solidrun: Fix UB bug with devres

In psnet_open_pf_bar() and snet_open_vf_bar() a string later passed to
pcim_iomap_regions() is placed on the stack. Neither
pcim_iomap_regions() nor the functions it calls copy that string.

Should the string later ever be used, this, consequently, causes
undefined behavior since the stack frame will by then have disappeared.

Fix the bug by allocating the strings on the heap through
devm_kasprintf().

Cc: stable@vger.kernel.org # v6.3
Fixes: 51a8f9d7f587 ("virtio: vdpa: new SolidNET DPU driver.")
Reported-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Closes: https://lore.kernel.org/all/74e9109a-ac59-49e2-9b1d-d825c9c9f891@wanadoo.fr/
Suggested-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Philipp Stanner <pstanner@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20241028074357.9104-3-pstanner@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vdpa/solidrun/snet_main.c