On Sat, 26 Jan 2008, Andrew Morton wrote:

On Thu, 24 Jan 2008 10:50:29 -0600 David Teigland <[EMAIL PROTECTED]> wrote:
From: Fabio M. Di Nitto <[EMAIL PROTECTED]>

gcc does not guarantee that a static buffer is 64bit aligned. This change
allows sparc64 to work.


This buffer is not static: changelog needs fixing: s/static/auto/

thanks


---
 fs/dlm/midcomms.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/dlm/midcomms.c b/fs/dlm/midcomms.c
index f8c69dd..da653b5 100644
--- a/fs/dlm/midcomms.c
+++ b/fs/dlm/midcomms.c
@@ -58,7 +58,7 @@ static void copy_from_cb(void *dst, const void *base, 
unsigned offset,
 int dlm_process_incoming_buffer(int nodeid, const void *base,
                                unsigned offset, unsigned len, unsigned limit)
 {
-       unsigned char __tmp[DLM_INBUF_LEN];
+       unsigned char __tmp[DLM_INBUF_LEN] __attribute__((aligned(64)));
        struct dlm_header *msg = (struct dlm_header *) __tmp;
        int ret = 0;
        int err = 0;

Why does DLM require that this thing be 64-bit aligned?

i spotted this running on sparc64 and the kernel was both complaning about TSP not being aligned and the data on the other side of the wire were wrong.

It all looks rather ugly.  Can't this stuff be implemeted within the C type
system somehow?

Yes, i will rework it.

Thanks for the feedback.

Fabio

--
I'm going to make him an offer he can't refuse.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to