diff options
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.29/fix-unaligned-access.diff')
-rw-r--r-- | meta/recipes-kernel/linux/linux-omap-2.6.29/fix-unaligned-access.diff | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/fix-unaligned-access.diff b/meta/recipes-kernel/linux/linux-omap-2.6.29/fix-unaligned-access.diff new file mode 100644 index 0000000000..c82090f54a --- /dev/null +++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/fix-unaligned-access.diff | |||
@@ -0,0 +1,41 @@ | |||
1 | From: Mans Rullgard <mans@mansr.com> | ||
2 | Date: Sat, 28 Mar 2009 12:54:25 +0000 (+0000) | ||
3 | Subject: NSM: Fix unaligned accesses in nsm_init_private() | ||
4 | X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=8f2bd6fdde1ebfef57f65b6cf29b29008c23d297 | ||
5 | |||
6 | NSM: Fix unaligned accesses in nsm_init_private() | ||
7 | |||
8 | This fixes unaligned accesses in nsm_init_private() when | ||
9 | creating nlm_reboot keys. | ||
10 | |||
11 | Signed-off-by: Mans Rullgard <mans@mansr.com> | ||
12 | --- | ||
13 | |||
14 | diff --git a/fs/lockd/mon.c b/fs/lockd/mon.c | ||
15 | index 5e2c4d5..6d5d4a4 100644 | ||
16 | --- a/fs/lockd/mon.c | ||
17 | +++ b/fs/lockd/mon.c | ||
18 | @@ -16,6 +16,8 @@ | ||
19 | #include <linux/sunrpc/svc.h> | ||
20 | #include <linux/lockd/lockd.h> | ||
21 | |||
22 | +#include <asm/unaligned.h> | ||
23 | + | ||
24 | #define NLMDBG_FACILITY NLMDBG_MONITOR | ||
25 | #define NSM_PROGRAM 100024 | ||
26 | #define NSM_VERSION 1 | ||
27 | @@ -274,10 +276,12 @@ static void nsm_init_private(struct nsm_handle *nsm) | ||
28 | { | ||
29 | u64 *p = (u64 *)&nsm->sm_priv.data; | ||
30 | struct timespec ts; | ||
31 | + s64 ns; | ||
32 | |||
33 | ktime_get_ts(&ts); | ||
34 | - *p++ = timespec_to_ns(&ts); | ||
35 | - *p = (unsigned long)nsm; | ||
36 | + ns = timespec_to_ns(&ts); | ||
37 | + put_unaligned(ns, p); | ||
38 | + put_unaligned((unsigned long)nsm, p + 1); | ||
39 | } | ||
40 | |||
41 | static struct nsm_handle *nsm_create_handle(const struct sockaddr *sap, | ||