Re: [PATCH 3/4] string: introduce memchr_inv
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2011-08-22 21:51:06
Also in:
linux-mm, lkml
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2011-08-22 21:51:06
Also in:
linux-mm, lkml
On Mon, 22 Aug 2011 13:52:18 -0700 Andrew Morton [off-list ref] wrote:
quoted
+ value64 = value | value << 8 | value << 16 | value << 24; + value64 = (value64 & 0xffffffff) | value64 << 32; + prefix = 8 - ((unsigned long)start) % 8; + + if (prefix) { + u8 *r = check_bytes8(start, value, prefix); + if (r) + return r; + start += prefix; + bytes -= prefix; + } + + words = bytes / 8; + + while (words) { + if (*(u64 *)start != value64)OK, problem. This will explode if passed a misaligned address on certain (non-x86) architectures.
pls ignore. As Marcin points out, I can't read.