> Going back to an earlier example: > void myfunc(u8 *data, u32 value) > { > [...] > *((u16 *) data) = cpu_to_le32(value); > [...] typo? should it be a u32 cast? > To avoid the unaligned memory access, you could rewrite it as follows: > > void myfunc(u8 *data, u32 value) > { > [...] > value = cpu_to_le32(value); > memcpy(data, value, sizeof(value)); > [...] > } I think you should use put_unaligned here as well. Or maybe just reorder this vs. the section below where you use get/put_unaligned. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part
- References:
- [RFC] Documentation about unaligned memory access
- From: Daniel Drake <[email protected]>
- [RFC] Documentation about unaligned memory access
- Prev by Date: Re: [RFC] Documentation about unaligned memory access
- Next by Date: Re: can support for "rpm"-based package building just be dropped?
- Previous by thread: Re: [RFC] Documentation about unaligned memory access
- Next by thread: Re: [RFC] Documentation about unaligned memory access
- Index(es):