]> www.infradead.org Git - users/jedix/linux-maple.git/commit
PCI: switchtec: Return -EFAULT for copy_to_user() errors
authorBjorn Helgaas <bhelgaas@google.com>
Fri, 16 Dec 2022 16:21:26 +0000 (10:21 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:33:31 +0000 (09:33 +0100)
commit86c1988d269526c257b11e319bafac9e402ccb16
treefa95100a898206230a8cb33a3a0d696275194f1a
parent41e9ad787faba60c3aa070222474336b7c3d9f56
PCI: switchtec: Return -EFAULT for copy_to_user() errors

[ Upstream commit ddc10938e08cd7aac63d8385f7305f7889df5179 ]

switchtec_dev_read() didn't handle copy_to_user() errors correctly: it
assigned "rc = -EFAULT", but actually returned either "size", -ENXIO, or
-EBADMSG instead.

Update the failure cases to unlock mrpc_mutex and return -EFAULT directly.

Link: https://lore.kernel.org/r/20221216162126.207863-3-helgaas@kernel.org
Fixes: 080b47def5e5 ("MicroSemi Switchtec management interface driver")
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pci/switch/switchtec.c