Staging: lustre: Use put_unaligned_le64
authorVaishali Thakkar <vthakkar1994@gmail.com>
Fri, 31 Oct 2014 02:26:29 +0000 (07:56 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Nov 2014 00:08:06 +0000 (16:08 -0800)
This patch introduces the use of function put_unaligned_le64.

This is done using Coccinelle and semantic patch used is as follows:

@@ identifier tmp; expression ptr; expression y,e; type T; @@

- tmp = cpu_to_le64(y);

  <+... when != tmp
- memcpy(ptr, (T)&tmp, ...);
+ put_unaligned_le64(y,ptr);
  ...+>
? tmp = e

@@ type T; identifier tmp; @@

- T tmp;
...when != tmp

Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/lustre/lustre/obdclass/debug.c

index d0f8f87..9c934e6 100644 (file)
@@ -40,6 +40,7 @@
 
 #define DEBUG_SUBSYSTEM D_OTHER
 
+#include <linux/unaligned/access_ok.h>
 
 #include "../include/obd_support.h"
 #include "../include/lustre_debug.h"
@@ -60,14 +61,11 @@ int block_debug_setup(void *addr, int len, __u64 off, __u64 id)
 {
        LASSERT(addr);
 
-       off = cpu_to_le64 (off);
-       id = cpu_to_le64 (id);
-       memcpy(addr, (char *)&off, LPDS);
-       memcpy(addr + LPDS, (char *)&id, LPDS);
-
+       put_unaligned_le64(off, addr);
+       put_unaligned_le64(id, addr+LPDS);
        addr += len - LPDS - LPDS;
-       memcpy(addr, (char *)&off, LPDS);
-       memcpy(addr + LPDS, (char *)&id, LPDS);
+       put_unaligned_le64(off, addr);
+       put_unaligned_le64(id, addr+LPDS);
 
        return 0;
 }