X86 platform drivers
 help / color / mirror / Atom feed
* [bug report] platform/x86/amd/pmf: Add support for PMF-TA interaction
@ 2026-04-23  7:09 Dan Carpenter
  2026-05-06  4:02 ` Shyam Sundar S K
  0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2026-04-23  7:09 UTC (permalink / raw)
  To: Shyam Sundar S K; +Cc: platform-driver-x86

Hello Shyam Sundar S K,

Commit ae82cef7d9c5 ("platform/x86/amd/pmf: Add support for PMF-TA
interaction") from Dec 12, 2023 (linux-next), leads to the following
Smatch static checker warning:

drivers/platform/x86/amd/pmf/tee-if.c:261 amd_pmf_invoke_cmd_enact() warn: set error code if 'arg.ret != 0'
drivers/platform/x86/amd/pmf/tee-if.c:307 amd_pmf_invoke_cmd_init() warn: set error code if 'arg.ret != 0'

drivers/platform/x86/amd/pmf/tee-if.c
    234 int amd_pmf_invoke_cmd_enact(struct amd_pmf_dev *dev)
    235 {
    236         struct ta_pmf_shared_memory *ta_sm = NULL;
    237         struct ta_pmf_enact_result *out = NULL;
    238         struct ta_pmf_enact_table *in = NULL;
    239         struct tee_param param[MAX_TEE_PARAM];
    240         struct tee_ioctl_invoke_arg arg;
    241         int ret = 0;
    242 
    243         if (!dev->tee_ctx)
    244                 return -ENODEV;
    245 
    246         memset(dev->shbuf, 0, dev->policy_sz);
    247         ta_sm = dev->shbuf;
    248         out = &ta_sm->pmf_output.policy_apply_table;
    249         in = &ta_sm->pmf_input.enact_table;
    250 
    251         memset(ta_sm, 0, sizeof(*ta_sm));
    252         ta_sm->command_id = TA_PMF_COMMAND_POLICY_BUILDER_ENACT_POLICIES;
    253         ta_sm->if_version = PMF_TA_IF_VERSION_MAJOR;
    254 
    255         amd_pmf_populate_ta_inputs(dev, in);
    256         amd_pmf_prepare_args(dev, TA_PMF_COMMAND_POLICY_BUILDER_ENACT_POLICIES, &arg, param);
    257 
    258         ret = tee_client_invoke_func(dev->tee_ctx, &arg, param);
    259         if (ret < 0 || arg.ret != 0) {
    260                 dev_err(dev->dev, "TEE enact cmd failed. err: %x, ret:%d\n", arg.ret, ret);
--> 261                 return ret;

return ret ?: -EINVAL?  (not sure what kind of error codes are stored in
arg.ret).

    262         }
    263 
    264         if (ta_sm->pmf_result == TA_PMF_TYPE_SUCCESS && out->actions_count) {
    265                 amd_pmf_dump_ta_inputs(dev, in);
    266                 dev_dbg(dev->dev, "action count:%u result:%x\n", out->actions_count,
    267                         ta_sm->pmf_result);
    268                 amd_pmf_apply_policies(dev, out);
    269         }
    270 
    271         return 0;
    272 }

This email is a free service from the Smatch-CI project [smatch.sf.net].

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-05-06  4:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-23  7:09 [bug report] platform/x86/amd/pmf: Add support for PMF-TA interaction Dan Carpenter
2026-05-06  4:02 ` Shyam Sundar S K

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox