drivers/i3c/master.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Read CCC commands (rnw set) always need a destination array to store
payload data. Extend the existing direct-CCC validation so cmd->dests
is guaranteed non-NULL when cmd->rnw is set.
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <error27@gmail.com>
Closes: https://lore.kernel.org/r/202607222347.TXH6r6ie-lkp@intel.com/
Signed-off-by: Adrian Ng Ho Yin <adrian.ho.yin.ng@altera.com>
---
drivers/i3c/master.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
index fd3e79d10c84..0249886d319b 100644
--- a/drivers/i3c/master.c
+++ b/drivers/i3c/master.c
@@ -1039,7 +1039,8 @@ static int i3c_master_send_ccc_cmd_locked(struct i3c_master_controller *master,
if (!master->ops->send_ccc_cmd)
return -EOPNOTSUPP;
- if ((cmd->id & I3C_CCC_DIRECT) && (!cmd->dests || !cmd->ndests))
+ if ((cmd->rnw || (cmd->id & I3C_CCC_DIRECT)) &&
+ (!cmd->dests || !cmd->ndests))
return -EINVAL;
if (master->ops->supports_ccc_cmd &&
--
2.49.GIT
On Thu, Jul 23, 2026 at 05:23:10PM +0800, Adrian Ng Ho Yin wrote: > Read CCC commands (rnw set) always need a destination array to store > payload data. Extend the existing direct-CCC validation so cmd->dests > is guaranteed non-NULL when cmd->rnw is set. > > Reported-by: kernel test robot <lkp@intel.com> > Reported-by: Dan Carpenter <error27@gmail.com> > Closes: https://lore.kernel.org/r/202607222347.TXH6r6ie-lkp@intel.com/ > Signed-off-by: Adrian Ng Ho Yin <adrian.ho.yin.ng@altera.com> > --- Reviewed-by: Frank Li <Frank.Li@nxp.com> > drivers/i3c/master.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c > index fd3e79d10c84..0249886d319b 100644 > --- a/drivers/i3c/master.c > +++ b/drivers/i3c/master.c > @@ -1039,7 +1039,8 @@ static int i3c_master_send_ccc_cmd_locked(struct i3c_master_controller *master, > if (!master->ops->send_ccc_cmd) > return -EOPNOTSUPP; > > - if ((cmd->id & I3C_CCC_DIRECT) && (!cmd->dests || !cmd->ndests)) > + if ((cmd->rnw || (cmd->id & I3C_CCC_DIRECT)) && > + (!cmd->dests || !cmd->ndests)) > return -EINVAL; > > if (master->ops->supports_ccc_cmd && > -- > 2.49.GIT >
On 7/23/2026 2:53 PM, Adrian Ng Ho Yin wrote: > Read CCC commands (rnw set) always need a destination array to store > payload data. Extend the existing direct-CCC validation so cmd->dests > is guaranteed non-NULL when cmd->rnw is set. > > Reported-by: kernel test robot <lkp@intel.com> > Reported-by: Dan Carpenter <error27@gmail.com> > Closes: https://lore.kernel.org/r/202607222347.TXH6r6ie-lkp@intel.com/ > Signed-off-by: Adrian Ng Ho Yin <adrian.ho.yin.ng@altera.com> > --- > drivers/i3c/master.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > Acked-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
© 2016 - 2026 Red Hat, Inc.