[PATCH v5 1/3] firmware: Amlogic: Add secure monitor driver
From: Carlo Caione <hidden>
Date: 2016-05-29 11:36:58
Also in:
linux-amlogic, linux-devicetree
From: Carlo Caione <hidden>
Date: 2016-05-29 11:36:58
Also in:
linux-amlogic, linux-devicetree
On 29/05/16 12:27, Ben Dooks wrote: [...]
quoted
+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. [...]
quoted
+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 [...]
quoted
+ if (!fw->sm_shmem_in_base) + goto out; + }Maybe use WarnOn here
Alright. Cheers, -- Carlo Caione