summaryrefslogtreecommitdiff
path: root/drivers/rpmsg
diff options
context:
space:
mode:
authorKees Cook <kees@kernel.org>2026-02-20 23:49:23 -0800
committerKees Cook <kees@kernel.org>2026-02-21 01:02:28 -0800
commit69050f8d6d075dc01af7a5f2f550a8067510366f (patch)
treebb265f94d9dfa7876c06a5d9f88673d496a15341 /drivers/rpmsg
parentd39a1d7486d98668dd34aaa6732aad7977c45f5a (diff)
downloadlinux-next-69050f8d6d075dc01af7a5f2f550a8067510366f.tar.gz
linux-next-69050f8d6d075dc01af7a5f2f550a8067510366f.zip
treewide: Replace kmalloc with kmalloc_obj for non-scalar types
This is the result of running the Coccinelle script from scripts/coccinelle/api/kmalloc_objs.cocci. The script is designed to avoid scalar types (which need careful case-by-case checking), and instead replace kmalloc-family calls that allocate struct or union object instances: Single allocations: kmalloc(sizeof(TYPE), ...) are replaced with: kmalloc_obj(TYPE, ...) Array allocations: kmalloc_array(COUNT, sizeof(TYPE), ...) are replaced with: kmalloc_objs(TYPE, COUNT, ...) Flex array allocations: kmalloc(struct_size(PTR, FAM, COUNT), ...) are replaced with: kmalloc_flex(*PTR, FAM, COUNT, ...) (where TYPE may also be *VAR) The resulting allocations no longer return "void *", instead returning "TYPE *". Signed-off-by: Kees Cook <kees@kernel.org>
Diffstat (limited to 'drivers/rpmsg')
-rw-r--r--drivers/rpmsg/mtk_rpmsg.c8
-rw-r--r--drivers/rpmsg/qcom_glink_native.c14
-rw-r--r--drivers/rpmsg/qcom_glink_smem.c2
-rw-r--r--drivers/rpmsg/qcom_smd.c10
-rw-r--r--drivers/rpmsg/rpmsg_char.c2
-rw-r--r--drivers/rpmsg/rpmsg_ctrl.c2
-rw-r--r--drivers/rpmsg/virtio_rpmsg_bus.c10
7 files changed, 24 insertions, 24 deletions
diff --git a/drivers/rpmsg/mtk_rpmsg.c b/drivers/rpmsg/mtk_rpmsg.c
index d1213c33da20..bbeac30cbc8e 100644
--- a/drivers/rpmsg/mtk_rpmsg.c
+++ b/drivers/rpmsg/mtk_rpmsg.c
@@ -91,7 +91,7 @@ __mtk_create_ept(struct mtk_rpmsg_rproc_subdev *mtk_subdev,
struct platform_device *pdev = mtk_subdev->pdev;
int ret;
- mept = kzalloc(sizeof(*mept), GFP_KERNEL);
+ mept = kzalloc_obj(*mept, GFP_KERNEL);
if (!mept)
return NULL;
mept->mtk_subdev = mtk_subdev;
@@ -201,7 +201,7 @@ static int mtk_rpmsg_register_device(struct mtk_rpmsg_rproc_subdev *mtk_subdev,
struct mtk_rpmsg_device *mdev;
struct platform_device *pdev = mtk_subdev->pdev;
- mdev = kzalloc(sizeof(*mdev), GFP_KERNEL);
+ mdev = kzalloc_obj(*mdev, GFP_KERNEL);
if (!mdev)
return -ENOMEM;
@@ -252,7 +252,7 @@ static int mtk_rpmsg_create_device(struct mtk_rpmsg_rproc_subdev *mtk_subdev,
{
struct mtk_rpmsg_channel_info *info;
- info = kzalloc(sizeof(*info), GFP_KERNEL);
+ info = kzalloc_obj(*info, GFP_KERNEL);
if (!info)
return -ENOMEM;
@@ -380,7 +380,7 @@ mtk_rpmsg_create_rproc_subdev(struct platform_device *pdev,
{
struct mtk_rpmsg_rproc_subdev *mtk_subdev;
- mtk_subdev = kzalloc(sizeof(*mtk_subdev), GFP_KERNEL);
+ mtk_subdev = kzalloc_obj(*mtk_subdev, GFP_KERNEL);
if (!mtk_subdev)
return NULL;
diff --git a/drivers/rpmsg/qcom_glink_native.c b/drivers/rpmsg/qcom_glink_native.c
index 5ea096acc858..dd775f955bfe 100644
--- a/drivers/rpmsg/qcom_glink_native.c
+++ b/drivers/rpmsg/qcom_glink_native.c
@@ -227,7 +227,7 @@ static struct glink_channel *qcom_glink_alloc_channel(struct qcom_glink *glink,
{
struct glink_channel *channel;
- channel = kzalloc(sizeof(*channel), GFP_KERNEL);
+ channel = kzalloc_obj(*channel, GFP_KERNEL);
if (!channel)
return ERR_PTR(-ENOMEM);
@@ -754,7 +754,7 @@ qcom_glink_alloc_intent(struct qcom_glink *glink,
int ret;
unsigned long flags;
- intent = kzalloc(sizeof(*intent), GFP_KERNEL);
+ intent = kzalloc_obj(*intent, GFP_KERNEL);
if (!intent)
return NULL;
@@ -875,7 +875,7 @@ static int qcom_glink_rx_defer(struct qcom_glink *glink, size_t extra)
return -ENXIO;
}
- dcmd = kzalloc(struct_size(dcmd, data, extra), GFP_ATOMIC);
+ dcmd = kzalloc_flex(*dcmd, data, extra, GFP_ATOMIC);
if (!dcmd)
return -ENOMEM;
@@ -945,7 +945,7 @@ static int qcom_glink_rx_data(struct qcom_glink *glink, size_t avail)
if (glink->intentless) {
/* Might have an ongoing, fragmented, message to append */
if (!channel->buf) {
- intent = kzalloc(sizeof(*intent), GFP_ATOMIC);
+ intent = kzalloc_obj(*intent, GFP_ATOMIC);
if (!intent)
return -ENOMEM;
@@ -1070,7 +1070,7 @@ static void qcom_glink_handle_intent(struct qcom_glink *glink,
count > 0 ? msg->intents[0].iid : 0);
for (i = 0; i < count; ++i) {
- intent = kzalloc(sizeof(*intent), GFP_ATOMIC);
+ intent = kzalloc_obj(*intent, GFP_ATOMIC);
if (!intent)
break;
@@ -1669,7 +1669,7 @@ static int qcom_glink_rx_open(struct qcom_glink *glink, unsigned int rcid,
complete_all(&channel->open_req);
if (create_device) {
- rpdev = kzalloc(sizeof(*rpdev), GFP_KERNEL);
+ rpdev = kzalloc_obj(*rpdev, GFP_KERNEL);
if (!rpdev) {
ret = -ENOMEM;
goto rcid_remove;
@@ -1868,7 +1868,7 @@ static int qcom_glink_create_chrdev(struct qcom_glink *glink)
struct rpmsg_device *rpdev;
struct glink_channel *channel;
- rpdev = kzalloc(sizeof(*rpdev), GFP_KERNEL);
+ rpdev = kzalloc_obj(*rpdev, GFP_KERNEL);
if (!rpdev)
return -ENOMEM;
diff --git a/drivers/rpmsg/qcom_glink_smem.c b/drivers/rpmsg/qcom_glink_smem.c
index 7a982c60a8dd..26727cbb7ce4 100644
--- a/drivers/rpmsg/qcom_glink_smem.c
+++ b/drivers/rpmsg/qcom_glink_smem.c
@@ -230,7 +230,7 @@ struct qcom_glink_smem *qcom_glink_smem_register(struct device *parent,
size_t size;
int ret;
- smem = kzalloc(sizeof(*smem), GFP_KERNEL);
+ smem = kzalloc_obj(*smem, GFP_KERNEL);
if (!smem)
return ERR_PTR(-ENOMEM);
diff --git a/drivers/rpmsg/qcom_smd.c b/drivers/rpmsg/qcom_smd.c
index 42594f5ee438..7faed3530888 100644
--- a/drivers/rpmsg/qcom_smd.c
+++ b/drivers/rpmsg/qcom_smd.c
@@ -922,7 +922,7 @@ static struct rpmsg_endpoint *qcom_smd_create_ept(struct rpmsg_device *rpdev,
return NULL;
}
- qsept = kzalloc(sizeof(*qsept), GFP_KERNEL);
+ qsept = kzalloc_obj(*qsept, GFP_KERNEL);
if (!qsept)
return NULL;
@@ -1077,7 +1077,7 @@ static int qcom_smd_create_device(struct qcom_smd_channel *channel)
dev_dbg(&edge->dev, "registering '%s'\n", channel->name);
- qsdev = kzalloc(sizeof(*qsdev), GFP_KERNEL);
+ qsdev = kzalloc_obj(*qsdev, GFP_KERNEL);
if (!qsdev)
return -ENOMEM;
@@ -1104,7 +1104,7 @@ static int qcom_smd_create_chrdev(struct qcom_smd_edge *edge)
{
struct qcom_smd_device *qsdev;
- qsdev = kzalloc(sizeof(*qsdev), GFP_KERNEL);
+ qsdev = kzalloc_obj(*qsdev, GFP_KERNEL);
if (!qsdev)
return -ENOMEM;
@@ -1132,7 +1132,7 @@ static struct qcom_smd_channel *qcom_smd_create_channel(struct qcom_smd_edge *ed
void *info;
int ret;
- channel = kzalloc(sizeof(*channel), GFP_KERNEL);
+ channel = kzalloc_obj(*channel, GFP_KERNEL);
if (!channel)
return ERR_PTR(-ENOMEM);
@@ -1484,7 +1484,7 @@ struct qcom_smd_edge *qcom_smd_register_edge(struct device *parent,
if (!qcom_smem_is_available())
return ERR_PTR(-EPROBE_DEFER);
- edge = kzalloc(sizeof(*edge), GFP_KERNEL);
+ edge = kzalloc_obj(*edge, GFP_KERNEL);
if (!edge)
return ERR_PTR(-ENOMEM);
diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c
index 96fcdd2d7093..a368698113eb 100644
--- a/drivers/rpmsg/rpmsg_char.c
+++ b/drivers/rpmsg/rpmsg_char.c
@@ -410,7 +410,7 @@ static struct rpmsg_eptdev *rpmsg_chrdev_eptdev_alloc(struct rpmsg_device *rpdev
struct rpmsg_eptdev *eptdev;
struct device *dev;
- eptdev = kzalloc(sizeof(*eptdev), GFP_KERNEL);
+ eptdev = kzalloc_obj(*eptdev, GFP_KERNEL);
if (!eptdev)
return ERR_PTR(-ENOMEM);
diff --git a/drivers/rpmsg/rpmsg_ctrl.c b/drivers/rpmsg/rpmsg_ctrl.c
index 28f57945ccd9..95f8be640dfc 100644
--- a/drivers/rpmsg/rpmsg_ctrl.c
+++ b/drivers/rpmsg/rpmsg_ctrl.c
@@ -141,7 +141,7 @@ static int rpmsg_ctrldev_probe(struct rpmsg_device *rpdev)
struct device *dev;
int ret;
- ctrldev = kzalloc(sizeof(*ctrldev), GFP_KERNEL);
+ ctrldev = kzalloc_obj(*ctrldev, GFP_KERNEL);
if (!ctrldev)
return -ENOMEM;
diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c
index 79d983055b4d..20ba05917841 100644
--- a/drivers/rpmsg/virtio_rpmsg_bus.c
+++ b/drivers/rpmsg/virtio_rpmsg_bus.c
@@ -210,7 +210,7 @@ static struct rpmsg_endpoint *__rpmsg_create_ept(struct virtproc_info *vrp,
struct rpmsg_endpoint *ept;
struct device *dev = rpdev ? &rpdev->dev : &vrp->vdev->dev;
- ept = kzalloc(sizeof(*ept), GFP_KERNEL);
+ ept = kzalloc_obj(*ept, GFP_KERNEL);
if (!ept)
return NULL;
@@ -400,7 +400,7 @@ static struct rpmsg_device *__rpmsg_create_channel(struct virtproc_info *vrp,
return NULL;
}
- vch = kzalloc(sizeof(*vch), GFP_KERNEL);
+ vch = kzalloc_obj(*vch, GFP_KERNEL);
if (!vch)
return NULL;
@@ -779,7 +779,7 @@ static struct rpmsg_device *rpmsg_virtio_add_ctrl_dev(struct virtio_device *vdev
struct rpmsg_device *rpdev_ctrl;
int err = 0;
- vch = kzalloc(sizeof(*vch), GFP_KERNEL);
+ vch = kzalloc_obj(*vch, GFP_KERNEL);
if (!vch)
return ERR_PTR(-ENOMEM);
@@ -825,7 +825,7 @@ static int rpmsg_probe(struct virtio_device *vdev)
size_t total_buf_space;
bool notify;
- vrp = kzalloc(sizeof(*vrp), GFP_KERNEL);
+ vrp = kzalloc_obj(*vrp, GFP_KERNEL);
if (!vrp)
return -ENOMEM;
@@ -898,7 +898,7 @@ static int rpmsg_probe(struct virtio_device *vdev)
/* if supported by the remote processor, enable the name service */
if (virtio_has_feature(vdev, VIRTIO_RPMSG_F_NS)) {
- vch = kzalloc(sizeof(*vch), GFP_KERNEL);
+ vch = kzalloc_obj(*vch, GFP_KERNEL);
if (!vch) {
err = -ENOMEM;
goto free_ctrldev;