misc: c2port: core: Make copying name from userspace more secure
Currently the 'c2dev' device data is not initialised when it's allocated. There maybe an issue when using strncpy() to populate the 'name' attribute since a NUL terminator may not be provided in all use-cases. To prevent such a failing, let's ensure the 'c2dev' device data area is fully zeroed out on allocation. Cc: Rodolfo Giometti <giometti@enneenne.com> Cc: "Eurotech S.p.A" <info@eurotech.it> Cc: David Laight <David.Laight@aculab.com> Reported-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Lee Jones <lee.jones@linaro.org> Link: https://lore.kernel.org/r/20201102142001.560490-1-lee.jones@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c78c95f919
commit
e8f50d4bfc
|
@ -899,7 +899,7 @@ struct c2port_device *c2port_device_register(char *name,
|
||||||
unlikely(!ops->c2d_get) || unlikely(!ops->c2d_set))
|
unlikely(!ops->c2d_get) || unlikely(!ops->c2d_set))
|
||||||
return ERR_PTR(-EINVAL);
|
return ERR_PTR(-EINVAL);
|
||||||
|
|
||||||
c2dev = kmalloc(sizeof(struct c2port_device), GFP_KERNEL);
|
c2dev = kzalloc(sizeof(struct c2port_device), GFP_KERNEL);
|
||||||
if (unlikely(!c2dev))
|
if (unlikely(!c2dev))
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue