From: Doug Ledford <dledford@redhat.com>
To: Matan Barak
<matanb-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>,
Dan Carpenter
<dan.carpenter-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Cc: Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Hal Rosenstock
<hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
linux-rdma <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Linux Kernel
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
kernel-janitors-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [patch] IB/cma: allocating too much memory in make_cma_ports()
Date: Tue, 19 Jan 2016 20:59:15 +0000 [thread overview]
Message-ID: <569EA3A3.5080105@redhat.com> (raw)
In-Reply-To: <CAAKD3BDw8422EjzChtU23u4gKx-vegCxBuwKkLhXL1ySmACRxw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 3374 bytes --]
On 01/12/2016 08:08 AM, Matan Barak wrote:
> On Tue, Jan 12, 2016 at 11:29 AM, Dan Carpenter
> <dan.carpenter@oracle.com> wrote:
>> The issue here is that there is a cut and paste bug. When we allocate
>> cma_dev_group->default_ports_group we use "sizeof(*cma_dev_group->ports)"
>> instead of "sizeof(*cma_dev_group->default_ports_group)".
>>
>> We're bumping up against the 80 character limit so I introduced a new
>> local pointer "ports_group" to get around that.
>>
>> Fixes: 045959db65c6 ('IB/cma: Add configfs for rdma_cm')
>> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>> ---
>> Not tested.
>>
>> diff --git a/drivers/infiniband/core/cma_configfs.c b/drivers/infiniband/core/cma_configfs.c
>> index bd1d640..18b112a 100644
>> --- a/drivers/infiniband/core/cma_configfs.c
>> +++ b/drivers/infiniband/core/cma_configfs.c
>> @@ -158,6 +158,7 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group,
>> unsigned int i;
>> unsigned int ports_num;
>> struct cma_dev_port_group *ports;
>> + struct config_group **ports_group;
>> int err;
>>
>> ibdev = cma_get_ib_dev(cma_dev);
>> @@ -168,12 +169,9 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group,
>> ports_num = ibdev->phys_port_cnt;
>> ports = kcalloc(ports_num, sizeof(*cma_dev_group->ports),
>> GFP_KERNEL);
>> + ports_group = kcalloc(ports_num + 1, sizeof(*ports_group), GFP_KERNEL);
>>
>> - cma_dev_group->default_ports_group = kcalloc(ports_num + 1,
>> - sizeof(*cma_dev_group->ports),
>> - GFP_KERNEL);
>> -
>> - if (!ports || !cma_dev_group->default_ports_group) {
>> + if (!ports || !ports_group) {
>> err = -ENOMEM;
>> goto free;
>> }
>> @@ -187,15 +185,16 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group,
>> config_group_init_type_name(&ports[i].group,
>> port_str,
>> &cma_port_group_type);
>> - cma_dev_group->default_ports_group[i] = &ports[i].group;
>> + ports_group[i] = &ports[i].group;
>> }
>> - cma_dev_group->default_ports_group[i] = NULL;
>> + ports_group[i] = NULL;
>> + cma_dev_group->default_ports_group = ports_group;
>> cma_dev_group->ports = ports;
>>
>> return 0;
>> free:
>> kfree(ports);
>> - kfree(cma_dev_group->default_ports_group);
>> + kfree(ports_group);
>> cma_dev_group->ports = NULL;
>> cma_dev_group->default_ports_group = NULL;
>> return err;
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> Hi,
>
> This is already fixed in [1].
> Anyway, I'm fine with either one of them.
>
> Acked-by: Matan Barak <matanb@mellanox.com>
>
> Regards,
> Matan
>
> [1] http://www.spinics.net/lists/linux-rdma/msg32152.html
>
Thanks, applied.
--
Doug Ledford <dledford@redhat.com>
GPG KeyID: 0E572FDD
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Matan Barak
<matanb-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>,
Dan Carpenter
<dan.carpenter-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Cc: Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Hal Rosenstock
<hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
linux-rdma <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Linux Kernel
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
kernel-janitors-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [patch] IB/cma: allocating too much memory in make_cma_ports()
Date: Tue, 19 Jan 2016 15:59:15 -0500 [thread overview]
Message-ID: <569EA3A3.5080105@redhat.com> (raw)
In-Reply-To: <CAAKD3BDw8422EjzChtU23u4gKx-vegCxBuwKkLhXL1ySmACRxw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 3512 bytes --]
On 01/12/2016 08:08 AM, Matan Barak wrote:
> On Tue, Jan 12, 2016 at 11:29 AM, Dan Carpenter
> <dan.carpenter-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org> wrote:
>> The issue here is that there is a cut and paste bug. When we allocate
>> cma_dev_group->default_ports_group we use "sizeof(*cma_dev_group->ports)"
>> instead of "sizeof(*cma_dev_group->default_ports_group)".
>>
>> We're bumping up against the 80 character limit so I introduced a new
>> local pointer "ports_group" to get around that.
>>
>> Fixes: 045959db65c6 ('IB/cma: Add configfs for rdma_cm')
>> Signed-off-by: Dan Carpenter <dan.carpenter-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
>> ---
>> Not tested.
>>
>> diff --git a/drivers/infiniband/core/cma_configfs.c b/drivers/infiniband/core/cma_configfs.c
>> index bd1d640..18b112a 100644
>> --- a/drivers/infiniband/core/cma_configfs.c
>> +++ b/drivers/infiniband/core/cma_configfs.c
>> @@ -158,6 +158,7 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group,
>> unsigned int i;
>> unsigned int ports_num;
>> struct cma_dev_port_group *ports;
>> + struct config_group **ports_group;
>> int err;
>>
>> ibdev = cma_get_ib_dev(cma_dev);
>> @@ -168,12 +169,9 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group,
>> ports_num = ibdev->phys_port_cnt;
>> ports = kcalloc(ports_num, sizeof(*cma_dev_group->ports),
>> GFP_KERNEL);
>> + ports_group = kcalloc(ports_num + 1, sizeof(*ports_group), GFP_KERNEL);
>>
>> - cma_dev_group->default_ports_group = kcalloc(ports_num + 1,
>> - sizeof(*cma_dev_group->ports),
>> - GFP_KERNEL);
>> -
>> - if (!ports || !cma_dev_group->default_ports_group) {
>> + if (!ports || !ports_group) {
>> err = -ENOMEM;
>> goto free;
>> }
>> @@ -187,15 +185,16 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group,
>> config_group_init_type_name(&ports[i].group,
>> port_str,
>> &cma_port_group_type);
>> - cma_dev_group->default_ports_group[i] = &ports[i].group;
>> + ports_group[i] = &ports[i].group;
>> }
>> - cma_dev_group->default_ports_group[i] = NULL;
>> + ports_group[i] = NULL;
>> + cma_dev_group->default_ports_group = ports_group;
>> cma_dev_group->ports = ports;
>>
>> return 0;
>> free:
>> kfree(ports);
>> - kfree(cma_dev_group->default_ports_group);
>> + kfree(ports_group);
>> cma_dev_group->ports = NULL;
>> cma_dev_group->default_ports_group = NULL;
>> return err;
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
>> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> Hi,
>
> This is already fixed in [1].
> Anyway, I'm fine with either one of them.
>
> Acked-by: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
>
> Regards,
> Matan
>
> [1] http://www.spinics.net/lists/linux-rdma/msg32152.html
>
Thanks, applied.
--
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
GPG KeyID: 0E572FDD
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Doug Ledford <dledford@redhat.com>
To: Matan Barak <matanb@dev.mellanox.co.il>,
Dan Carpenter <dan.carpenter@oracle.com>
Cc: Sean Hefty <sean.hefty@intel.com>,
Hal Rosenstock <hal.rosenstock@gmail.com>,
Matan Barak <matanb@mellanox.com>,
linux-rdma <linux-rdma@vger.kernel.org>,
Linux Kernel <linux-kernel@vger.kernel.org>,
kernel-janitors@vger.kernel.org
Subject: Re: [patch] IB/cma: allocating too much memory in make_cma_ports()
Date: Tue, 19 Jan 2016 15:59:15 -0500 [thread overview]
Message-ID: <569EA3A3.5080105@redhat.com> (raw)
In-Reply-To: <CAAKD3BDw8422EjzChtU23u4gKx-vegCxBuwKkLhXL1ySmACRxw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3374 bytes --]
On 01/12/2016 08:08 AM, Matan Barak wrote:
> On Tue, Jan 12, 2016 at 11:29 AM, Dan Carpenter
> <dan.carpenter@oracle.com> wrote:
>> The issue here is that there is a cut and paste bug. When we allocate
>> cma_dev_group->default_ports_group we use "sizeof(*cma_dev_group->ports)"
>> instead of "sizeof(*cma_dev_group->default_ports_group)".
>>
>> We're bumping up against the 80 character limit so I introduced a new
>> local pointer "ports_group" to get around that.
>>
>> Fixes: 045959db65c6 ('IB/cma: Add configfs for rdma_cm')
>> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>> ---
>> Not tested.
>>
>> diff --git a/drivers/infiniband/core/cma_configfs.c b/drivers/infiniband/core/cma_configfs.c
>> index bd1d640..18b112a 100644
>> --- a/drivers/infiniband/core/cma_configfs.c
>> +++ b/drivers/infiniband/core/cma_configfs.c
>> @@ -158,6 +158,7 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group,
>> unsigned int i;
>> unsigned int ports_num;
>> struct cma_dev_port_group *ports;
>> + struct config_group **ports_group;
>> int err;
>>
>> ibdev = cma_get_ib_dev(cma_dev);
>> @@ -168,12 +169,9 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group,
>> ports_num = ibdev->phys_port_cnt;
>> ports = kcalloc(ports_num, sizeof(*cma_dev_group->ports),
>> GFP_KERNEL);
>> + ports_group = kcalloc(ports_num + 1, sizeof(*ports_group), GFP_KERNEL);
>>
>> - cma_dev_group->default_ports_group = kcalloc(ports_num + 1,
>> - sizeof(*cma_dev_group->ports),
>> - GFP_KERNEL);
>> -
>> - if (!ports || !cma_dev_group->default_ports_group) {
>> + if (!ports || !ports_group) {
>> err = -ENOMEM;
>> goto free;
>> }
>> @@ -187,15 +185,16 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group,
>> config_group_init_type_name(&ports[i].group,
>> port_str,
>> &cma_port_group_type);
>> - cma_dev_group->default_ports_group[i] = &ports[i].group;
>> + ports_group[i] = &ports[i].group;
>> }
>> - cma_dev_group->default_ports_group[i] = NULL;
>> + ports_group[i] = NULL;
>> + cma_dev_group->default_ports_group = ports_group;
>> cma_dev_group->ports = ports;
>>
>> return 0;
>> free:
>> kfree(ports);
>> - kfree(cma_dev_group->default_ports_group);
>> + kfree(ports_group);
>> cma_dev_group->ports = NULL;
>> cma_dev_group->default_ports_group = NULL;
>> return err;
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> Hi,
>
> This is already fixed in [1].
> Anyway, I'm fine with either one of them.
>
> Acked-by: Matan Barak <matanb@mellanox.com>
>
> Regards,
> Matan
>
> [1] http://www.spinics.net/lists/linux-rdma/msg32152.html
>
Thanks, applied.
--
Doug Ledford <dledford@redhat.com>
GPG KeyID: 0E572FDD
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]
next prev parent reply other threads:[~2016-01-19 20:59 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-12 9:29 [patch] IB/cma: allocating too much memory in make_cma_ports() Dan Carpenter
2016-01-12 9:29 ` Dan Carpenter
2016-01-12 13:08 ` Matan Barak
2016-01-12 13:08 ` Matan Barak
2016-01-12 13:08 ` Matan Barak
[not found] ` <CAAKD3BDw8422EjzChtU23u4gKx-vegCxBuwKkLhXL1ySmACRxw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-01-19 20:59 ` Doug Ledford [this message]
2016-01-19 20:59 ` Doug Ledford
2016-01-19 20:59 ` Doug Ledford
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=569EA3A3.5080105@redhat.com \
--to=dledford@redhat.com \
--cc=dan.carpenter-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
--cc=hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=kernel-janitors-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matanb-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org \
--cc=matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.