On 18/08/2016 11:02, Julia Lawall wrote: > > > On Thu, 18 Aug 2016, walter harms wrote: > >> >> >> Am 17.08.2016 20:06, schrieb SF Markus Elfring: >>> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> >>> Date: Wed, 17 Aug 2016 18:29:04 +0200 >>> >>> Replace the specification of data structures by pointer dereferences >>> to make the corresponding size determination a bit safer according to >>> the Linux coding style convention. >>> >>> Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> >>> --- >>> arch/s390/kvm/guestdbg.c | 6 +++--- >>> 1 file changed, 3 insertions(+), 3 deletions(-) >>> >>> diff --git a/arch/s390/kvm/guestdbg.c b/arch/s390/kvm/guestdbg.c >>> index d1f8241..b68db4b 100644 >>> --- a/arch/s390/kvm/guestdbg.c >>> +++ b/arch/s390/kvm/guestdbg.c >>> @@ -216,7 +216,7 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, >>> else if (dbg->arch.nr_hw_bp > MAX_BP_COUNT) >>> return -EINVAL; >>> >>> - size = dbg->arch.nr_hw_bp * sizeof(struct kvm_hw_breakpoint); >>> + size = dbg->arch.nr_hw_bp * sizeof(*bp_data); >>> bp_data = kmalloc(size, GFP_KERNEL); >>> if (!bp_data) { >>> ret = -ENOMEM; >>> @@ -241,7 +241,7 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, >>> } >>> } >>> >>> - size = nr_wp * sizeof(struct kvm_hw_wp_info_arch); >>> + size = nr_wp * sizeof(*wp_info); >>> if (size > 0) { >>> wp_info = kmalloc(size, GFP_KERNEL); >>> if (!wp_info) { >>> @@ -249,7 +249,7 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, >>> goto error; >>> } >>> } >>> - size = nr_bp * sizeof(struct kvm_hw_bp_info_arch); >>> + size = nr_bp * sizeof(*bp_info); >>> if (size > 0) { >>> bp_info = kmalloc(size, GFP_KERNEL); >>> if (!bp_info) { >> >> >> IMHO the common pattern for kmalloc is >> bp_info = kmalloc( nr_bp * sizeof(*bp_info), GFP_KERNEL); >> >> i can not remember code with a check for size < 0, i guess it is here >> to avoid an overflow ? since kmalloc takes a size_t argument this would cause >> a malloc failure an can be ignored. > > Shoudn't it be kcalloc? Or kmalloc_array, since zeroing is not necessary. Might be an idea for a new Coccinelle script, like - kmalloc (N * sizeof T, GFP) + kmalloc_array(N, sizeof T, GFP) Thanks, Paolo > > julia > >> >> >> just my 2 cents. >> re, >> wh >> > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html