Skip to content

Commit

Permalink
Staging: lustre: Use put_unaligned_le64
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Vaishali Thakkar authored and Greg Kroah-Hartman committed Nov 4, 2014
1 parent 11dd2a9 commit 8c4f136
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions drivers/staging/lustre/lustre/obdclass/debug.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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;
}
Expand Down

0 comments on commit 8c4f136

Please sign in to comment.