On 29/05/16 12:27, Ben Dooks wrote: [...] > > +u32 meson_sm_call_read(struct meson_sm_firmware *fw, void *buffer, > > + unsigned int cmd_index, u32 arg0, u32 arg1, > > + u32 arg2, u32 arg3, u32 arg4) > > +{ > > + u32 size; > > + > > + if (!fw->chip->cmd_shmem_out_base) > > + return -EINVAL; > > + > > + size = meson_sm_call(fw, cmd_index, arg0, arg1, arg2, arg3, arg4); > > + if (size <= 0 || size > fw->chip->shmem_size) > > + return -EINVAL; > > + > u32 cannot be less than 0 Ouch. Definitely overlooked that. Fix coming. [...] > > +static int meson_sm_probe(struct platform_device *pdev) > > +{ > > + const struct meson_sm_chip *chip; > > + struct meson_sm_firmware *fw; > > + > > + fw = devm_kzalloc(&pdev->dev, sizeof(*fw), GFP_KERNEL); > > + if (!fw) > > + return -ENOMEM; > > + > > + fw->dev = &pdev->dev; > > + > > + chip = of_device_get_match_data(fw->dev); > > + if (!chip) { > > + dev_err(fw->dev, "Unable to setup secure-monitor data\n"); > > + return -ENODEV; > > + } > -ENODEV not best return here. Return -EINVAL better. -ENODEV won't get > reported by device layer Ok [...] > > + if (!fw->sm_shmem_in_base) > > + goto out; > > + } > Maybe use WarnOn here Alright. Cheers, -- Carlo Caione -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html