treewide: Remove unnecessary kmalloc casts
Subsystems (12)
cover treewide: Remove unnecessary kmalloc casts
Trivial cleanups
Joe Perches (12):
arch/cris: Remove unnecessary kmalloc casts arch/powerpc: Remove unnecessary kmalloc casts arch/x86/kernel/tlb_uv.c: Remove unnecessary kmalloc casts drivers/gpu/drm: Remove unnecessary kmalloc casts drivers/isdn/capi/capidrv.c: Remove unnecessary kmalloc casts drivers/media: Remove unnecesary kmalloc casts drivers/message/i2o/i20_config.c: Remove unnecessary kmalloc casts drivers/parisc/iosapic.c: Remove unnecessary kzalloc cast drivers/s390: Remove unnecessary kmalloc casts drivers/serial/icom.c: Remove unnecessary kmalloc casts drivers/usb/storage/isd200.c: Remove unnecessary kmalloc casts fs/ufs/util.c: Remove unnecessary kmalloc casts
PATCH 1/12 arch/cris: Remove unnecessary kmalloc casts
And separate declaration from allocation
Still no error checking on failure, but it probably doesn't matter.
--- arch/cris/arch-v32/mm/intmem.c | 13 +++++-------- 1 files changed, 5 insertions(+), 8 deletions(-)
arch/cris/arch-v32/mm/intmem.c +5 -8
@@ -33,8 +33,8 @@ static void crisv32_intmem_init(void) {static int initiated =0 ;if (!initiated) { -struct intmem_allocation * alloc = - (struct intmem_allocation *)kmalloc (sizeof *alloc,GFP_KERNEL ); +struct intmem_allocation * alloc; + alloc =kmalloc (sizeof *alloc,GFP_KERNEL );INIT_LIST_HEAD (&intmem_allocations); intmem_virtual =ioremap (MEM_INTMEM_START +RESERVED_SIZE ,MEM_INTMEM_SIZE -RESERVED_SIZE );
@@ -62,9 +62,8 @@ void* crisv32_intmem_alloc(unsigned size, unsigned align)if (allocation->status ==STATUS_FREE && allocation->size >= size + alignment) {if (allocation->size > size + alignment) { -struct intmem_allocation * alloc = - (struct intmem_allocation *) -kmalloc (sizeof *alloc,GFP_ATOMIC ); +struct intmem_allocation * alloc; + alloc =kmalloc (sizeof *alloc,GFP_ATOMIC ); alloc->status =STATUS_FREE ; alloc->size = allocation->size - size - alignment;
@@ -74,9 +73,7 @@ void* crisv32_intmem_alloc(unsigned size, unsigned align)if (alignment) {struct intmem_allocation *tmp; - tmp = (struct intmem_allocation *) -kmalloc (sizeof *tmp, -GFP_ATOMIC ); + tmp =kmalloc (sizeof *tmp,GFP_ATOMIC ); tmp->offset = allocation->offset; tmp->size = alignment; tmp->status =STATUS_FREE ;
Signature · 1 line
1.7.1.244.gbdc4
PATCH 4/12 drivers/gpu/drm: Remove unnecessary kmalloc casts
In reply to Joe Perches--- drivers/gpu/drm/drm_sman.c | 4 +--- drivers/gpu/drm/i915/i915_dma.c | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-)
drivers/gpu/drm/drm_sman.c +1 -3
@@ -59,9 +59,7 @@ drm_sman_init(struct drm_sman * sman, unsigned int num_managers, {int ret =0 ; - sman->mm = (struct drm_sman_mm *)kcalloc (num_managers, -sizeof (*sman->mm), -GFP_KERNEL ); + sman->mm =kcalloc (num_managers,sizeof (*sman->mm),GFP_KERNEL );if (!sman->mm) { ret = -ENOMEM ; goto out;
drivers/gpu/drm/i915/i915_dma.c +1 -2
@@ -2276,8 +2276,7 @@ int i915_driver_open(struct drm_device *dev, struct drm_file *file_priv)struct drm_i915_file_private *i915_file_priv;DRM_DEBUG_DRIVER ("\n" ); - i915_file_priv = (struct drm_i915_file_private *) -kmalloc (sizeof (*i915_file_priv),GFP_KERNEL ); + i915_file_priv =kmalloc (sizeof (*i915_file_priv),GFP_KERNEL );if (!i915_file_priv)return -ENOMEM ;
Signature · 1 line
1.7.1.244.gbdc4
PATCH 5/12 drivers/isdn/capi/capidrv.c: Remove unnecessary kmalloc casts
In reply to Joe Perches--- drivers/isdn/capi/capidrv.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/isdn/capi/capidrv.c +1 -2
@@ -469,8 +469,7 @@ static int capidrv_add_ack(struct capidrv_ncci *nccip, {struct ncci_datahandle_queue *n, **pp; - n = (struct ncci_datahandle_queue *) -kmalloc (sizeof (struct ncci_datahandle_queue ),GFP_ATOMIC ); + n =kmalloc (sizeof (struct ncci_datahandle_queue ),GFP_ATOMIC );if (!n) {printk (KERN_ERR "capidrv: kmalloc ncci_datahandle failed\n" );return -1 ;
Signature · 1 line
1.7.1.244.gbdc4
PATCH 10/12 drivers/serial/icom.c: Remove unnecessary kmalloc casts
In reply to Joe Perches--- drivers/serial/icom.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/serial/icom.c +1 -2
@@ -1416,8 +1416,7 @@ static int __devinit icom_alloc_adapter(struct icom_adapterstruct icom_adapter *cur_adapter_entry;struct list_head *tmp; - icom_adapter = (struct icom_adapter *) -kzalloc (sizeof (struct icom_adapter ),GFP_KERNEL ); + icom_adapter =kzalloc (sizeof (struct icom_adapter ),GFP_KERNEL );if (!icom_adapter) {return -ENOMEM ;
Signature · 1 line
1.7.1.244.gbdc4
PATCH 12/12 fs/ufs/util.c: Remove unnecessary kmalloc casts
In reply to Joe Perches--- fs/ufs/util.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
fs/ufs/util.c +1 -2
@@ -26,8 +26,7 @@ struct ufs_buffer_head * _ubh_bread_ (struct ufs_sb_private_info * uspi, count = size >> uspi->s_fshift;if (count >UFS_MAXFRAG )return NULL ; - ubh = (struct ufs_buffer_head *) -kmalloc (sizeof (struct ufs_buffer_head ),GFP_KERNEL ); + ubh =kmalloc (sizeof (struct ufs_buffer_head ),GFP_KERNEL );if (!ubh)return NULL ; ubh->fragment = fragment;
Signature · 1 line
1.7.1.244.gbdc4
PATCH 11/12 drivers/usb/storage/isd200.c: Remove unnecessary kmalloc casts
In reply to Joe Perches--- drivers/usb/storage/isd200.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/usb/storage/isd200.c +1 -2
@@ -1456,8 +1456,7 @@ static int isd200_init_info(struct us_data *us)int retStatus =ISD200_GOOD ;struct isd200_info *info; - info = (struct isd200_info *) -kzalloc (sizeof (struct isd200_info ),GFP_KERNEL ); + info =kzalloc (sizeof (struct isd200_info ),GFP_KERNEL );if (!info) retStatus =ISD200_ERROR ;else {
Signature · 1 line
1.7.1.244.gbdc4
PATCH 9/12 drivers/s390: Remove unnecessary kmalloc casts
In reply to Joe Perches--- drivers/s390/block/dasd_devmap.c | 3 +-- drivers/s390/char/con3215.c | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-)
drivers/s390/block/dasd_devmap.c +1 -2
@@ -409,8 +409,7 @@ dasd_add_busid(const char *bus_id, int features)struct dasd_devmap *devmap, *new, *tmp;int hash; - new = (struct dasd_devmap *) -kzalloc (sizeof (struct dasd_devmap ),GFP_KERNEL ); + new =kzalloc (sizeof (struct dasd_devmap ),GFP_KERNEL );if (!new)return ERR_PTR (-ENOMEM );spin_lock (&dasd_devmap_lock);
drivers/s390/char/con3215.c +2 -2
@@ -888,8 +888,8 @@ static int __init con3215_init(void)if (IS_ERR (cdev))return -ENODEV ; - raw3215[0 ] = raw = (struct raw3215_info *) -kzalloc (sizeof (struct raw3215_info ),GFP_KERNEL |GFP_DMA ); + raw3215[0 ] = raw =kzalloc (sizeof (struct raw3215_info ), +GFP_KERNEL |GFP_DMA ); raw->buffer =kzalloc (RAW3215_BUFFER_SIZE ,GFP_KERNEL |GFP_DMA ); raw->inbuf =kzalloc (RAW3215_INBUF_SIZE ,GFP_KERNEL |GFP_DMA ); raw->cdev = cdev;
Signature · 1 line
1.7.1.244.gbdc4
PATCH 7/12 drivers/message/i2o/i20_config.c: Remove unnecessary kmalloc casts
In reply to Joe Perches--- drivers/message/i2o/i2o_config.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/message/i2o/i2o_config.c +1 -2
@@ -1041,8 +1041,7 @@ static long i2o_cfg_ioctl(struct file *fp, unsigned int cmd, unsigned long arg)static int cfg_open (struct inode *inode,struct file *file) { -struct i2o_cfg_info *tmp = - (struct i2o_cfg_info *)kmalloc (sizeof (struct i2o_cfg_info ), +struct i2o_cfg_info *tmp =kmalloc (sizeof (struct i2o_cfg_info ),GFP_KERNEL );unsigned long flags;
Signature · 1 line
1.7.1.244.gbdc4
PATCH 8/12 drivers/parisc/iosapic.c: Remove unnecessary kzalloc cast
In reply to Joe PerchesConvert kzalloc to kcalloc
--- drivers/parisc/iosapic.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
drivers/parisc/iosapic.c +2 -2
@@ -891,8 +891,8 @@ void *iosapic_register(unsigned long hpa) isi->isi_version =iosapic_rd_version (isi); isi->isi_num_vectors =IOSAPIC_IRDT_MAX_ENTRY (isi->isi_version) +1 ; - vip = isi->isi_vector = (struct vector_info *) -kzalloc (sizeof (struct vector_info ) * isi->isi_num_vectors,GFP_KERNEL ); + vip = isi->isi_vector =kcalloc (isi->isi_num_vectors, +sizeof (struct vector_info ),GFP_KERNEL );if (vip ==NULL ) {kfree (isi);return NULL ;
Signature · 1 line
1.7.1.244.gbdc4
PATCH 6/12 drivers/media: Remove unnecesary kmalloc casts
In reply to Joe Perches--- drivers/media/dvb/siano/smscoreapi.c | 4 +--- drivers/media/video/w9968cf.c | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-)
drivers/media/dvb/siano/smscoreapi.c +1 -3
@@ -116,9 +116,7 @@ static struct smscore_registry_entry_t *smscore_find_registry(char *devpath)return entry; } } - entry = (struct smscore_registry_entry_t *) -kmalloc (sizeof (struct smscore_registry_entry_t ), -GFP_KERNEL ); + entry =kmalloc (sizeof (struct smscore_registry_entry_t ),GFP_KERNEL );if (entry) { entry->mode = default_mode;strcpy (entry->devpath, devpath);
drivers/media/video/w9968cf.c +1 -2
@@ -3429,8 +3429,7 @@ w9968cf_usb_probe(struct usb_interface* intf, const struct usb_device_id* id)else return -ENODEV ; - cam = (struct w9968cf_device *) -kzalloc (sizeof (struct w9968cf_device ),GFP_KERNEL ); + cam =kzalloc (sizeof (struct w9968cf_device ),GFP_KERNEL );if (!cam)return -ENOMEM ;
Signature · 1 line
1.7.1.244.gbdc4
PATCH 3/12 arch/x86/kernel/tlb_uv.c: Remove unnecessary kmalloc casts
In reply to Joe PerchesAnd convert a kmalloc/memset to kzalloc
--- arch/x86/kernel/tlb_uv.c | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-)
arch/x86/kernel/tlb_uv.c +7 -8
@@ -1141,8 +1141,9 @@ uv_activation_descriptor_init(int node, int pnode)* each bau_desc is 64 bytes; there are 8 (UV_ITEMS_PER_DESCRIPTOR) * per cpu; and up to 32 (UV_ADP_SIZE) cpu's per uvhub */ - bau_desc = (struct bau_desc *)kmalloc_node (sizeof (struct bau_desc )* -UV_ADP_SIZE *UV_ITEMS_PER_DESCRIPTOR ,GFP_KERNEL , node); + bau_desc =kmalloc_node (sizeof (struct bau_desc ) * +UV_ADP_SIZE *UV_ITEMS_PER_DESCRIPTOR , +GFP_KERNEL , node);BUG_ON (!bau_desc); pa =uv_gpa (bau_desc);/* need the real nasid*/
@@ -1200,9 +1201,9 @@ uv_payload_queue_init(int node, int pnode)struct bau_payload_queue_entry *pqp_malloc;struct bau_control *bcp; - pqp = (struct bau_payload_queue_entry *)kmalloc_node ( - (DEST_Q_SIZE +1 ) *sizeof (struct bau_payload_queue_entry ), -GFP_KERNEL , node); + pqp =kmalloc_node ((DEST_Q_SIZE +1 ) * +sizeof (struct bau_payload_queue_entry ), +GFP_KERNEL , node);BUG_ON (!pqp); pqp_malloc = pqp;
@@ -1286,9 +1287,7 @@ static void uv_init_per_cpu(int nuvhubs) };struct uvhub_desc *uvhub_descs; - uvhub_descs = (struct uvhub_desc *) -kmalloc (nuvhubs *sizeof (struct uvhub_desc ),GFP_KERNEL ); -memset (uvhub_descs,0 , nuvhubs *sizeof (struct uvhub_desc )); + uvhub_descs =kzalloc (nuvhubs *sizeof (struct uvhub_desc ),GFP_KERNEL );for_each_present_cpu (cpu) { bcp = &per_cpu (bau_control, cpu);memset (bcp,0 ,sizeof (struct bau_control ));
Signature · 1 line
1.7.1.244.gbdc4
PATCH 2/12 arch/powerpc: Remove unnecessary kmalloc casts
In reply to Joe Perches--- arch/powerpc/kernel/nvram_64.c | 3 +-- arch/powerpc/kvm/book3s.c | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-)
arch/powerpc/kernel/nvram_64.c +1 -2
@@ -502,8 +502,7 @@ static int __init nvram_scan_partitions(void) "detected: 0-length partition\n"); goto out; } - tmp_part = (struct nvram_partition *) -kmalloc (sizeof (struct nvram_partition ),GFP_KERNEL ); + tmp_part =kmalloc (sizeof (struct nvram_partition ),GFP_KERNEL ); err = -ENOMEM ;if (!tmp_part) {printk (KERN_ERR "nvram_scan_partitions: kmalloc failed\n" );
arch/powerpc/kvm/book3s.c +2 -2
@@ -1248,8 +1248,8 @@ struct kvm_vcpu *kvmppc_core_vcpu_create(struct kvm *kvm, unsigned int id)memset (vcpu_book3s,0 ,sizeof (struct kvmppc_vcpu_book3s )); - vcpu_book3s->shadow_vcpu = (struct kvmppc_book3s_shadow_vcpu *) -kzalloc (sizeof (*vcpu_book3s->shadow_vcpu),GFP_KERNEL ); + vcpu_book3s->shadow_vcpu =kzalloc (sizeof (*vcpu_book3s->shadow_vcpu), +GFP_KERNEL );if (!vcpu_book3s->shadow_vcpu) goto free_vcpu;
Signature · 1 line
1.7.1.244.gbdc4
Re: [PATCH 01/12] arch/cris: Remove unnecessary kmalloc casts
In reply to Joe PerchesQuoted 25 lines · Joe Perches
And separate declaration from allocation
Still no error checking on failure, but it probably doesn't matter.Signed-off-by Joe Perches <[email protected]>--- arch/cris/arch-v32/mm/intmem.c | 13 +++++-------- 1 files changed, 5 insertions(+), 8 deletions(-)arch/cris/arch-v32/mm/intmem.c +2
-2@@ -33,8 +33,8 @@ static void crisv32_intmem_init(void) {static int initiated =0 ;if (!initiated) { -struct intmem_allocation * alloc = - (struct intmem_allocation *)kmalloc (sizeof *alloc,GFP_KERNEL ); +struct intmem_allocation * alloc; + alloc =kmalloc (sizeof *alloc,GFP_KERNEL );INIT_LIST_HEAD (&intmem_allocations); intmem_virtual =ioremap (MEM_INTMEM_START +RESERVED_SIZE ,MEM_INTMEM_SIZE -RESERVED_SIZE );@@ -62,9 +62,8 @@ void* crisv32_intmem_alloc(unsigned size, unsigned align) if (allocation->status == STATUS_FREE &&
arch/cris/arch-v32/mm/intmem.c void* crisv32_intmem_alloc(unsigned size, unsigned align) · line 69
Quoted 10 lines
arch/cris/arch-v32/mm/intmem.c +2
-3allocation->size >= size + alignment) {if (allocation->size > size + alignment) { -struct intmem_allocation * alloc = - (struct intmem_allocation *) -kmalloc (sizeof *alloc,GFP_ATOMIC ); +struct intmem_allocation * alloc; + alloc =kmalloc (sizeof *alloc,GFP_ATOMIC ); alloc->status =STATUS_FREE ; alloc->size = allocation->size - size - alignment;
Why not fix the checkpatch failures at the same time?
ERROR: "foo* bar" should be "foo *bar"
#26: FILE: arch/cris/arch-v32/mm/intmem.c:36:
+ struct intmem_allocation* alloc;
ERROR: "foo* bar" should be "foo *bar"
#38: FILE: arch/cris/arch-v32/mm/intmem.c:65:
+ struct intmem_allocation* alloc;
Re: [PATCH 01/12] arch/cris: Remove unnecessary kmalloc casts
Quoted 3 lines · David Rientjes
Quoted 2 lines · Joe Perches
And separate declaration from allocation
Still no error checking on failure, but it probably doesn't matter.
[]
Quoted 1 line
Why not fix the checkpatch failures at the same time?
I think that's better done in a separate pass.
Quoted 15 lines · Joe Perches
Trivial cleanups
arch/cris: Remove unnecessary kmalloc castsarch/powerpc: Remove unnecessary kmalloc castsarch/x86/kernel/tlb_uv.c: Remove unnecessary kmalloc castsdrivers/gpu/drm: Remove unnecessary kmalloc castsdrivers/isdn/capi/capidrv.c: Remove unnecessary kmalloc castsdrivers/media: Remove unnecesary kmalloc castsdrivers/message/i2o/i20_config.c: Remove unnecessary kmalloc castsdrivers/parisc/iosapic.c: Remove unnecessary kzalloc castdrivers/s390: Remove unnecessary kmalloc castsdrivers/serial/icom.c: Remove unnecessary kmalloc castsdrivers/usb/storage/isd200.c: Remove unnecessary kmalloc castsfs/ufs/util.c: Remove unnecessary kmalloc casts
Joe,
Thanks for doing cleanups.
However, in this case you are removing casts that, while not necessary for C, are indeed there for a reason.
Specifically, they are of the form
type *p;
<code>
p = (type *)kmalloc(sizeof(type), ...);
For example, from the powerpc patch:
Quoted 6 lines
goto out;
}
-tmp_part= (structnvram_partition*)
-kmalloc(sizeof(struct nvram_partition), GFP_KERNEL);
+tmp_part=kmalloc(sizeof(struct nvram_partition), GFP_KERNEL); err =-ENOMEM;
The reason they casts are present is to guard against someone changing the type of p at the top of the function and not changing the type at the kmalloc.
This was discussed some years ago, possibly around the time kcalloc got its underflow detection.
Should we create a kmalloc wrapper that enforces this type saftey? While we have added static analysis tools that can check these things, and we have slab redzoning options, they tend to be run in batch by "someone else" or in response to debugging a problem.
There may have been discussion of doing the above vs
p = kmalloc(sizeof(*p), ...);
I don't remember if it was programmer preference or issues when p is an array type.
I am not subscribed so I don't have the full list that you sent these to, and I know some maintainers have already taken some of the series the last time you posted; could you please augment the CC list.
thanks,
milton
Quoted 5 lines · Milton Miller
Quoted 1 line · Joe Perches
Trivial cleanups
The reason they casts are present is to guard against someone changing the type of p at the top of the function and not changing the type at the kmalloc.
That'd be true for most all of the kernel mallocs.
Quoted 3 lines
I know some maintainers have already taken some of
the series the last time you posted; could you please augment the CC list.
I did not send to trivial any of kmalloc cast removal patches that were acked. The patches in this series were not acked, so I think no CC list needs augmentation.
Original: http://lkml.org/lkml/2010/5/31/471 Newest: http://lkml.org/lkml/2010/6/7/428
cheers, Joe
Hi Milton,
Quoted 16 lines · Milton Miller
However, in this case you are removing casts that, while not necessary for C, are indeed there for a reason.
Specifically, they are of the form
=A0 type *p;
=A0 <code>
=A0 p =3D (type *)kmalloc(sizeof(type), ...);For example, from the powerpc patch:
Quoted 6 lines
goto out;
}
-tmp_part=3D (structnvram_partition*)
-kmalloc(sizeof(struct nvram_partition), GFP_KERNEL);
+tmp_part=3Dkmalloc(sizeof(struct nvram_partition), GFP_KERNEL); err =3D-ENOMEM;
Quoted 3 lines
The reason they casts are present is to guard against someone changing the type of p at the top of the function and not changing the type at the kmalloc.
If you're worried about that...
[snip]
Quoted 2 lines
There may have been discussion of doing the above vs =A0 p =3D
kmalloc(sizeof(*p), ...);
...it's better to use this form. There's actually a mention of this in "Chapter 14: Allocating memory" of Documentation/CodingStyle. The guard is not really a guard as someone can still change the "sizeof" part to something else and the cast from "void *" will silently ignore it.
Pekka
Re: [PATCH 01/12] arch/cris: Remove unnecessary kmalloc casts
In reply to Joe PerchesQuoted 2 lines · Joe Perches
And separate declaration from allocation
Still no error checking on failure, but it probably doesn't matter.
Quoted 51 lines
Signed-off-by Joe Perches <[email protected]>--- arch/cris/arch-v32/mm/intmem.c | 13 +++++-------- 1 files changed, 5 insertions(+), 8 deletions(-)arch/cris/arch-v32/mm/intmem.c +5
-8@@ -33,8 +33,8 @@ static void crisv32_intmem_init(void) {static int initiated =0 ;if (!initiated) { -struct intmem_allocation * alloc = - (struct intmem_allocation *)kmalloc (sizeof *alloc,GFP_KERNEL ); +struct intmem_allocation * alloc; + alloc =kmalloc (sizeof *alloc,GFP_KERNEL );INIT_LIST_HEAD (&intmem_allocations); intmem_virtual =ioremap (MEM_INTMEM_START +RESERVED_SIZE ,MEM_INTMEM_SIZE -RESERVED_SIZE );@@ -62,9 +62,8 @@ void* crisv32_intmem_alloc(unsigned size, unsigned align)if (allocation->status ==STATUS_FREE && allocation->size >= size + alignment) {if (allocation->size > size + alignment) { -struct intmem_allocation * alloc = - (struct intmem_allocation *) -kmalloc (sizeof *alloc,GFP_ATOMIC ); +struct intmem_allocation * alloc; + alloc =kmalloc (sizeof *alloc,GFP_ATOMIC ); alloc->status =STATUS_FREE ; alloc->size = allocation->size - size - alignment;@@ -74,9 +73,7 @@ void* crisv32_intmem_alloc(unsigned size, unsigned align)if (alignment) {struct intmem_allocation *tmp; - tmp = (struct intmem_allocation *) -kmalloc (sizeof *tmp, -GFP_ATOMIC ); + tmp =kmalloc (sizeof *tmp,GFP_ATOMIC ); tmp->offset = allocation->offset; tmp->size = alignment; tmp->status =STATUS_FREE ;Signature · 7 lines
1.7.1.244.gbdc4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
/^JN - Jesper Nilsson
Signature · 1 line
Jesper Nilsson -- [email protected]
Jiri Kosina
AppliedRe: [PATCH 01/12] arch/cris: Remove unnecessary kmalloc casts
Quoted 5 lines · Jesper Nilsson
Quoted 2 lines · Joe Perches
And separate declaration from allocation
Still no error checking on failure, but it probably doesn't matter.Acked-by Jesper Nilsson <[email protected]>
Applied, thanks.
Signature · 2 lines
Jiri Kosina SUSE Labs, Novell Inc.