From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754946Ab1KLRAX (ORCPT ); Sat, 12 Nov 2011 12:00:23 -0500 Received: from www17.your-server.de ([213.133.104.17]:34311 "EHLO www17.your-server.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754723Ab1KLQ73 (ORCPT ); Sat, 12 Nov 2011 11:59:29 -0500 Message-ID: <1321100025.1668.20.camel@localhost.localdomain> Subject: [PATCH] ocfs2: Use kmemdup rather than duplicating its implementation From: Thomas Meyer To: ocfs2-devel@oss.oracle.com, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Date: Sat, 12 Nov 2011 13:13:45 +0100 Mime-Version: 1.0 X-Mailer: Evolution 3.2.1 (3.2.1-2.fc16) Content-Transfer-Encoding: 7bit X-Authenticated-Sender: thomas@m3y3r.de Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use kmemdup rather than duplicating its implementation The semantic patch that makes this change is available in scripts/coccinelle/api/memdup.cocci. Signed-off-by: Thomas Meyer --- diff -u -p a/fs/ocfs2/localalloc.c b/fs/ocfs2/localalloc.c --- a/fs/ocfs2/localalloc.c 2011-11-07 19:38:23.787162856 +0100 +++ b/fs/ocfs2/localalloc.c 2011-11-08 10:34:40.993095086 +0100 @@ -434,12 +434,11 @@ void ocfs2_shutdown_local_alloc(struct o bh = osb->local_alloc_bh; alloc = (struct ocfs2_dinode *) bh->b_data; - alloc_copy = kmalloc(bh->b_size, GFP_NOFS); + alloc_copy = kmemdup(alloc, bh->b_size, GFP_NOFS); if (!alloc_copy) { status = -ENOMEM; goto out_commit; } - memcpy(alloc_copy, alloc, bh->b_size); status = ocfs2_journal_access_di(handle, INODE_CACHE(local_alloc_inode), bh, OCFS2_JOURNAL_ACCESS_WRITE); @@ -1249,13 +1248,12 @@ static int ocfs2_local_alloc_slide_windo * local alloc shutdown won't try to double free main bitmap * bits. Make a copy so the sync function knows which bits to * free. */ - alloc_copy = kmalloc(osb->local_alloc_bh->b_size, GFP_NOFS); + alloc_copy = kmemdup(alloc, osb->local_alloc_bh->b_size, GFP_NOFS); if (!alloc_copy) { status = -ENOMEM; mlog_errno(status); goto bail; } - memcpy(alloc_copy, alloc, osb->local_alloc_bh->b_size); status = ocfs2_journal_access_di(handle, INODE_CACHE(local_alloc_inode),