<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/sparc/lib/usercopy.c, branch linux-3.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-05-24T20:12:28Z</updated>
<entry>
<title>lib: Sparc's strncpy_from_user is generic enough, move under lib/</title>
<updated>2012-05-24T20:12:28Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2012-05-24T20:12:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2922585b93294d47172a765115e0dbc1bfe1be19'/>
<id>urn:sha1:2922585b93294d47172a765115e0dbc1bfe1be19</id>
<content type='text'>
To use this, an architecture simply needs to:

1) Provide a user_addr_max() implementation via asm/uaccess.h

2) Add "select GENERIC_STRNCPY_FROM_USER" to their arch Kcnfig

3) Remove the existing strncpy_from_user() implementation and symbol
   exports their architecture had.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Acked-by: David Howells &lt;dhowells@redhat.com&gt;
</content>
</entry>
<entry>
<title>kernel: Move REPEAT_BYTE definition into linux/kernel.h</title>
<updated>2012-05-24T20:10:05Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2012-05-24T03:12:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=446969084d33a4064a39d280806da642c54ba4ac'/>
<id>urn:sha1:446969084d33a4064a39d280806da642c54ba4ac</id>
<content type='text'>
And make sure that everything using it explicitly includes
that header file.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sparc: Increase portability of strncpy_from_user() implementation.</title>
<updated>2012-05-24T20:04:24Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2012-05-24T02:56:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=35c9646062eba15351c6d64ea0c02176e5cb66ac'/>
<id>urn:sha1:35c9646062eba15351c6d64ea0c02176e5cb66ac</id>
<content type='text'>
Hide details of maximum user address calculation in a new
asm/uaccess.h interface named user_addr_max().

Provide little-endian implementation in find_zero(), which should work
but can probably be improved.

Abstrace alignment check behind IS_UNALIGNED() macro.

Kill double-semicolon, noticed by David Howells.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sparc: Optimize strncpy_from_user() zero byte search.</title>
<updated>2012-05-24T02:20:20Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2012-05-24T02:20:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4efcac3a244de86593a82ca4ed945e839eb4c5af'/>
<id>urn:sha1:4efcac3a244de86593a82ca4ed945e839eb4c5af</id>
<content type='text'>
Compute a mask that will only have 0x80 in the bytes which
had a zero in them.  The formula is:

	~(((x &amp; 0x7f7f7f7f) + 0x7f7f7f7f) | x | 0x7f7f7f7f)

In the inner word iteration, we have to compute the "x | 0x7f7f7f7f"
part, so we can reuse that in the above calculation.

Once we have this mask, we perform divide and conquer to find the
highest 0x80 location.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sparc: Add full proper error handling to strncpy_from_user().</title>
<updated>2012-05-23T06:32:27Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2012-05-23T00:53:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ff06dffbc8abfc60d6a0332f058f1d1bb01abb31'/>
<id>urn:sha1:ff06dffbc8abfc60d6a0332f058f1d1bb01abb31</id>
<content type='text'>
Linus removed the end-of-address-space hackery from
fs/namei.c:do_getname() so we really have to validate these edge
conditions and cannot cheat any more (as x86 used to as well).

Move to a common C implementation like x86 did.  And if both
src and dst are sufficiently aligned we'll do word at a time
copies and checks as well.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sparc: Use __builtin_object_size() to validate the buffer size for copy_from_user()</title>
<updated>2009-12-11T07:05:23Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2009-12-11T07:05:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fb34035e7b4bb3edc7c2dc0683cfe21f57a9574d'/>
<id>urn:sha1:fb34035e7b4bb3edc7c2dc0683cfe21f57a9574d</id>
<content type='text'>
This mirrors x86 commit 9f0cf4adb6aa0bfccf675c938124e68f7f06349d
(x86: Use __builtin_object_size() to validate the buffer size for copy_from_user())

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
