diff --git a/drivers/w1/masters/ds2490.c b/drivers/w1/masters/ds2490.c index 59d74d1b47a8..be77b7914fad 100644 --- a/drivers/w1/masters/ds2490.c +++ b/drivers/w1/masters/ds2490.c @@ -909,11 +909,10 @@ static void ds9490r_write_block(void *data, const u8 *buf, int len) if (len <= 0) return; - tbuf = kmalloc(len, GFP_KERNEL); + tbuf = kmemdup(buf, len, GFP_KERNEL); if (!tbuf) return; - memcpy(tbuf, buf, len); ds_write_block(dev, tbuf, len); kfree(tbuf);