<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm/include/asm/uaccess.h, branch linux-4.10.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.10.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.10.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-02-16T15:58:31Z</updated>
<entry>
<title>ARM: 8657/1: uaccess: consistently check object sizes</title>
<updated>2017-02-16T15:58:31Z</updated>
<author>
<name>Kees Cook</name>
</author>
<published>2017-02-16T00:43:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=32b143637e8180f5d5cea54320c769210dea4f19'/>
<id>urn:sha1:32b143637e8180f5d5cea54320c769210dea4f19</id>
<content type='text'>
In commit 76624175dcae ("arm64: uaccess: consistently check object sizes"),
the object size checks are moved outside the access_ok() so that bad
destinations are detected before hitting the "memset(dest, 0, size)" in the
copy_from_user() failure path.

This makes the same change for arm, with attention given to possibly
extracting the uaccess routines into a common header file for all
architectures in the future.

Suggested-by: Mark Rutland &lt;mark.rutland@arm.com&gt;
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@armlinux.org.uk&gt;
</content>
</entry>
<entry>
<title>arm: don't zero in __copy_from_user_inatomic()/__copy_from_user()</title>
<updated>2016-09-15T23:51:56Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2016-09-10T20:44:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=91344493b7da9487a8dbc1109d7486e51c8e5235'/>
<id>urn:sha1:91344493b7da9487a8dbc1109d7486e51c8e5235</id>
<content type='text'>
adjust copy_from_user(), obviously

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge tag 'usercopy-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux</title>
<updated>2016-08-08T21:48:14Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2016-08-08T21:48:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1eccfa090eaea22558570054bbdc147817e1df5e'/>
<id>urn:sha1:1eccfa090eaea22558570054bbdc147817e1df5e</id>
<content type='text'>
Pull usercopy protection from Kees Cook:
 "Tbhis implements HARDENED_USERCOPY verification of copy_to_user and
  copy_from_user bounds checking for most architectures on SLAB and
  SLUB"

* tag 'usercopy-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  mm: SLUB hardened usercopy support
  mm: SLAB hardened usercopy support
  s390/uaccess: Enable hardened usercopy
  sparc/uaccess: Enable hardened usercopy
  powerpc/uaccess: Enable hardened usercopy
  ia64/uaccess: Enable hardened usercopy
  arm64/uaccess: Enable hardened usercopy
  ARM: uaccess: Enable hardened usercopy
  x86/uaccess: Enable hardened usercopy
  mm: Hardened usercopy
  mm: Implement stack frame object validation
  mm: Add is_migrate_cma_page
</content>
</entry>
<entry>
<title>ARM: uaccess: Enable hardened usercopy</title>
<updated>2016-07-26T21:41:49Z</updated>
<author>
<name>Kees Cook</name>
</author>
<published>2016-06-23T22:06:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dfd45b6103c973bfcea2341d89e36faf947dbc33'/>
<id>urn:sha1:dfd45b6103c973bfcea2341d89e36faf947dbc33</id>
<content type='text'>
Enables CONFIG_HARDENED_USERCOPY checks on arm.

Based on code from PaX and grsecurity.

Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
</content>
</entry>
<entry>
<title>ARM: uaccess: remove put_user() code duplication</title>
<updated>2016-06-22T18:55:11Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2016-02-04T16:54:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9f73bd8bb445e0cbe4bcef6d4cfc788f1e184007'/>
<id>urn:sha1:9f73bd8bb445e0cbe4bcef6d4cfc788f1e184007</id>
<content type='text'>
Remove the code duplication between put_user() and __put_user().  The
code which selected the implementation based upon the pointer size, and
declared the local variable to hold the value to be put are common to
both implementations.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 8580/1: Remove orphaned __addr_ok() definition</title>
<updated>2016-06-22T18:55:11Z</updated>
<author>
<name>Robin Murphy</name>
</author>
<published>2016-06-09T10:21:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9f85eae622cd9b63dc44b7dcfa958b3881a09cbb'/>
<id>urn:sha1:9f85eae622cd9b63dc44b7dcfa958b3881a09cbb</id>
<content type='text'>
Since commit 8c56cc8be5b3 ("ARM: 7449/1: use generic strnlen_user and
strncpy_from_user functions"), the definition of __addr_ok() has been
languishing unused; eradicate the sucker.

Cc: Russell King &lt;linux@armlinux.org.uk&gt;
Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: fix uaccess_with_memcpy() with SW_DOMAIN_PAN</title>
<updated>2015-12-15T11:51:02Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2015-12-05T13:42:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c014953d84ec21a4df9a43be2378861ea6e9246e'/>
<id>urn:sha1:c014953d84ec21a4df9a43be2378861ea6e9246e</id>
<content type='text'>
The uaccess_with_memcpy() code is currently incompatible with the SW
PAN code: it takes locks within the region that we've changed the DACR,
potentially sleeping as a result.  As we do not save and restore the
DACR across co-operative sleep events, can lead to an incorrect DACR
value later in this code path.

Reported-by: Peter Rosin &lt;peda@axentia.se&gt;
Tested-by: Peter Rosin &lt;peda@axentia.se&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge branches 'cleanup', 'fixes', 'misc', 'omap-barrier' and 'uaccess' into for-linus</title>
<updated>2015-09-03T14:28:37Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2015-09-03T14:28:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=40d3f02851577da27b5cbb1538888301245ef1e7'/>
<id>urn:sha1:40d3f02851577da27b5cbb1538888301245ef1e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ARM: software-based priviledged-no-access support</title>
<updated>2015-08-26T19:34:24Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2015-08-19T19:40:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a5e090acbf545c0a3b04080f8a488b17ec41fe02'/>
<id>urn:sha1:a5e090acbf545c0a3b04080f8a488b17ec41fe02</id>
<content type='text'>
Provide a software-based implementation of the priviledged no access
support found in ARMv8.1.

Userspace pages are mapped using a different domain number from the
kernel and IO mappings.  If we switch the user domain to "no access"
when we enter the kernel, we can prevent the kernel from touching
userspace.

However, the kernel needs to be able to access userspace via the
various user accessor functions.  With the wrapping in the previous
patch, we can temporarily enable access when the kernel needs user
access, and re-disable it afterwards.

This allows us to trap non-intended accesses to userspace, eg, caused
by an inadvertent dereference of the LIST_POISON* values, which, with
appropriate user mappings setup, can be made to succeed.  This in turn
can allow use-after-free bugs to be further exploited than would
otherwise be possible.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: uaccess: provide uaccess_save_and_enable() and uaccess_restore()</title>
<updated>2015-08-25T15:14:43Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2015-08-19T10:02:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3fba7e23f754a9a6e639b640fa2a393712ffe1b8'/>
<id>urn:sha1:3fba7e23f754a9a6e639b640fa2a393712ffe1b8</id>
<content type='text'>
Provide uaccess_save_and_enable() and uaccess_restore() to permit
control of userspace visibility to the kernel, and hook these into
the appropriate places in the kernel where we need to access
userspace.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
</feed>
