From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: dmaengine: tegra210-adma: Use struct_size() in devm_kzalloc() From: Vinod Koul Message-Id: <20190120051836.GJ4635@vkoul-mobl> Date: Sun, 20 Jan 2019 10:48:36 +0530 To: "Gustavo A. R. Silva" Cc: Laxman Dewangan , Jon Hunter , Dan Williams , Thierry Reding , dmaengine@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: T24gMDctMDEtMTksIDExOjA2LCBHdXN0YXZvIEEuIFIuIFNpbHZhIHdyb3RlOgo+IE9uZSBvZiB0 aGUgbW9yZSBjb21tb24gY2FzZXMgb2YgYWxsb2NhdGlvbiBzaXplIGNhbGN1bGF0aW9ucyBpcyBm aW5kaW5nCj4gdGhlIHNpemUgb2YgYSBzdHJ1Y3R1cmUgdGhhdCBoYXMgYSB6ZXJvLXNpemVkIGFy cmF5IGF0IHRoZSBlbmQsIGFsb25nCj4gd2l0aCBtZW1vcnkgZm9yIHNvbWUgbnVtYmVyIG9mIGVs ZW1lbnRzIGZvciB0aGF0IGFycmF5LiBGb3IgZXhhbXBsZToKPiAKPiBzdHJ1Y3QgZm9vIHsKPiAg ICAgaW50IHN0dWZmOwo+ICAgICB2b2lkICplbnRyeVtdOwo+IH07Cj4gCj4gaW5zdGFuY2UgPSBk ZXZtX2t6YWxsb2MoZGV2LCBzaXplb2Yoc3RydWN0IGZvbykgKyBzaXplb2Yodm9pZCAqKSAqIGNv dW50LCBHRlBfS0VSTkVMKTsKPiAKPiBJbnN0ZWFkIG9mIGxlYXZpbmcgdGhlc2Ugb3Blbi1jb2Rl ZCBhbmQgcHJvbmUgdG8gdHlwZSBtaXN0YWtlcywgd2UgY2FuCj4gbm93IHVzZSB0aGUgbmV3IHN0 cnVjdF9zaXplKCkgaGVscGVyOgo+IAo+IGluc3RhbmNlID0gZGV2bV9remFsbG9jKGRldiwgc3Ry dWN0X3NpemUoaW5zdGFuY2UsIGVudHJ5LCBjb3VudCksIEdGUF9LRVJORUwpOwo+IAo+IFRoaXMg Y29kZSB3YXMgZGV0ZWN0ZWQgd2l0aCB0aGUgaGVscCBvZiBDb2NjaW5lbGxlLgoKQXBwbGllZCwg dGhhbmtzCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vinod Koul Subject: Re: [PATCH] dmaengine: tegra210-adma: Use struct_size() in devm_kzalloc() Date: Sun, 20 Jan 2019 10:48:36 +0530 Message-ID: <20190120051836.GJ4635@vkoul-mobl> References: <20190107170631.GA32119@embeddedor> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20190107170631.GA32119@embeddedor> Sender: linux-kernel-owner@vger.kernel.org To: "Gustavo A. R. Silva" Cc: Laxman Dewangan , Jon Hunter , Dan Williams , Thierry Reding , dmaengine@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-tegra@vger.kernel.org On 07-01-19, 11:06, Gustavo A. R. Silva wrote: > 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 = devm_kzalloc(dev, 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 = devm_kzalloc(dev, struct_size(instance, entry, count), GFP_KERNEL); > > This code was detected with the help of Coccinelle. Applied, thanks -- ~Vinod