]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
misc: fastrpc: Copy the complete capability structure to user
authorEkansh Gupta <quic_ekangupt@quicinc.com>
Fri, 28 Jun 2024 11:44:57 +0000 (12:44 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Jul 2024 14:17:53 +0000 (16:17 +0200)
User is passing capability ioctl structure(argp) to get DSP
capabilities. This argp is copied to a local structure to get domain
and attribute_id information. After getting the capability, only
capability value is getting copied to user argp which will not be
useful if the use is trying to get the capability by checking the
capability member of fastrpc_ioctl_capability structure. Copy the
complete capability structure so that user can get the capability
value from the expected member of the structure.

Fixes: 6c16fd8bdd40 ("misc: fastrpc: Add support to get DSP capabilities")
Cc: stable <stable@kernel.org>
Signed-off-by: Ekansh Gupta <quic_ekangupt@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240628114501.14310-3-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/fastrpc.c

index 82ce4f58d70f446e474e33da62d4af2de297a6df..30b93012877fc61b74e51861401d8f844ddd54fa 100644 (file)
@@ -1788,7 +1788,7 @@ static int fastrpc_get_dsp_info(struct fastrpc_user *fl, char __user *argp)
        if (err)
                return err;
 
-       if (copy_to_user(argp, &cap.capability, sizeof(cap.capability)))
+       if (copy_to_user(argp, &cap, sizeof(cap)))
                return -EFAULT;
 
        return 0;