Revert "Merge tag 'v3.4.4' into cm-11.0"

This reverts commit 652cfe59db1ade9e7068f93ebe352c5d6da610ac, reversing
changes made to 219ab0303b386e973b2cfdad3f3a51498073962d.
Revert "Merge tag 'v3.4.3' into cm-11.0"

This reverts commit 219ab0303b386e973b2cfdad3f3a51498073962d, reversing
changes made to 8002031b10c2eb0acaf6dfa81f66d9ded5fbbbcf.
Revert "Merge tag 'v3.4.2' into cm-11.0"

This reverts commit 8002031b10c2eb0acaf6dfa81f66d9ded5fbbbcf, reversing
changes made to 9854ca85a73bc2e4b1a0fb0e88f6bdb2f8968b3f.
Revert "Merge tag 'v3.4.1' into cm-11.0"

This reverts commit 9854ca85a73bc2e4b1a0fb0e88f6bdb2f8968b3f, reversing
changes made to 0fdb7eb6c2025d188847fb2c321f18f6a046856a.
Enable pipe flag.

Signed-off-by: shivamk11 <shivamk11@gmail.com>
lib/memcopy: use glibc version

the kernel's memcpy and memmove is very inefficient. But the glibc version is
quite fast, in some cases it is 10 times faster than the kernel version. So I
introduce some memory copy macros and functions of the glibc to improve the
kernel version's performance.

The strategy of the memory functions is:
1. Copy bytes until the destination pointer is aligned.
2. Copy words in unrolled loops.  If the source and destination are not
   aligned in the same way, use word memory operations, but shift and merge
   two read words before writing.
3. Copy the few remaining bytes.

Signed-off-by: Miao Xie <miaox*******>
Signed-off-by: faux123 <reioux@gmail.com>
lib/string: use glibc version

the performance of memcpy and memmove of the general version is very
inefficient, this patch improved them.

Signed-off-by: Miao Xie <miaox*******>
Signed-off-by: faux123 <reioux@gmail.com>
Add /dev/frandom