mirror of https://gitee.com/openkylin/linux.git
qxl: Use struct_size() in kzalloc()
One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for some number of elements for that array. For example: struct foo { int stuff; void *entry[]; }; instance = kzalloc(sizeof(struct foo) + sizeof(void *) * count, GFP_KERNEL); Instead of leaving these open-coded and prone to type mistakes, we can now use the new struct_size() helper: instance = kzalloc(struct_size(instance, entry, count), GFP_KERNEL); This code was detected with the help of Coccinelle. Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Link: http://patchwork.freedesktop.org/patch/msgid/20190108162152.GA25361@embeddedor Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
d516e75c71
commit
d4b9dd5007
|
@ -48,8 +48,8 @@ static int qxl_alloc_client_monitors_config(struct qxl_device *qdev,
|
|||
}
|
||||
if (!qdev->client_monitors_config) {
|
||||
qdev->client_monitors_config = kzalloc(
|
||||
sizeof(struct qxl_monitors_config) +
|
||||
sizeof(struct qxl_head) * count, GFP_KERNEL);
|
||||
struct_size(qdev->client_monitors_config,
|
||||
heads, count), GFP_KERNEL);
|
||||
if (!qdev->client_monitors_config)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue