From: Len Baker Date: Tue, 17 Aug 2021 16:58:59 +0000 (+0200) Subject: i2c: sun6i-pw2i: Prefer strscpy over strlcpy X-Git-Tag: v5.15~435^2~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e47a0ced40472cfbe3e77502098ad489ba16bf97;p=platform%2Fkernel%2Flinux-starfive.git i2c: sun6i-pw2i: Prefer strscpy over strlcpy strlcpy() reads the entire source buffer first. This read may exceed the destination size limit. This is both inefficient and can lead to linear read overflows if a source string is not NUL-terminated. The safe replacement is strscpy(). This is a previous step in the path to remove the strlcpy() function entirely from the kernel [1]. [1] https://github.com/KSPP/linux/issues/89 Signed-off-by: Len Baker Signed-off-by: Wolfram Sang --- diff --git a/drivers/i2c/busses/i2c-sun6i-p2wi.c b/drivers/i2c/busses/i2c-sun6i-p2wi.c index 2f6f646..9e3483f 100644 --- a/drivers/i2c/busses/i2c-sun6i-p2wi.c +++ b/drivers/i2c/busses/i2c-sun6i-p2wi.c @@ -234,7 +234,7 @@ static int p2wi_probe(struct platform_device *pdev) if (IS_ERR(p2wi->regs)) return PTR_ERR(p2wi->regs); - strlcpy(p2wi->adapter.name, pdev->name, sizeof(p2wi->adapter.name)); + strscpy(p2wi->adapter.name, pdev->name, sizeof(p2wi->adapter.name)); irq = platform_get_irq(pdev, 0); if (irq < 0) return irq;