<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm/include/asm/uaccess.h, branch linux-3.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-07-11T12:33:36Z</updated>
<entry>
<title>ARM: 8051/1: put_user: fix possible data corruption in put_user</title>
<updated>2014-07-11T12:33:36Z</updated>
<author>
<name>Andrey Ryabinin</name>
</author>
<published>2014-05-07T07:07:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f85743e62e15955caa5da907f5a2b02b351722d3'/>
<id>urn:sha1:f85743e62e15955caa5da907f5a2b02b351722d3</id>
<content type='text'>
commit 537094b64b229bf3ad146042f83e74cf6abe59df upstream.

According to arm procedure call standart r2 register is call-cloberred.
So after the result of x expression was put into r2 any following
function call in p may overwrite r2. To fix this, the result of p
expression must be saved to the temporary variable before the
assigment x expression to __r2.

Signed-off-by: Andrey Ryabinin &lt;a.ryabinin@samsung.com&gt;
Reviewed-by: Nicolas Pitre &lt;nico@linaro.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 7527/1: uaccess: explicitly check __user pointer when !CPU_USE_DOMAINS</title>
<updated>2014-01-03T04:33:35Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2012-09-07T17:22:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b5c70f452589114e6a551803bf312eed1b57f964'/>
<id>urn:sha1:b5c70f452589114e6a551803bf312eed1b57f964</id>
<content type='text'>
commit 8404663f81d212918ff85f493649a7991209fa04 upstream.

The {get,put}_user macros don't perform range checking on the provided
__user address when !CPU_HAS_DOMAINS.

This patch reworks the out-of-line assembly accessors to check the user
address against a specified limit, returning -EFAULT if is is out of
range.

[will: changed get_user register allocation to match put_user]
[rmk: fixed building on older ARM architectures]

Reported-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
[bwh: Backported to 3.2: TUSER() was called T()]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 6384/1: Remove the domain switching on ARMv6k/v7 CPUs</title>
<updated>2010-11-04T15:44:31Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2010-09-13T15:03:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=247055aa21ffef1c49dd64710d5e94c2aee19b58'/>
<id>urn:sha1:247055aa21ffef1c49dd64710d5e94c2aee19b58</id>
<content type='text'>
This patch removes the domain switching functionality via the set_fs and
__switch_to functions on cores that have a TLS register.

Currently, the ioremap and vmalloc areas share the same level 1 page
tables and therefore have the same domain (DOMAIN_KERNEL). When the
kernel domain is modified from Client to Manager (via the __set_fs or in
the __switch_to function), the XN (eXecute Never) bit is overridden and
newer CPUs can speculatively prefetch the ioremap'ed memory.

Linux performs the kernel domain switching to allow user-specific
functions (copy_to/from_user, get/put_user etc.) to access kernel
memory. In order for these functions to work with the kernel domain set
to Client, the patch modifies the LDRT/STRT and related instructions to
the LDR/STR ones.

The user pages access rights are also modified for kernel read-only
access rather than read/write so that the copy-on-write mechanism still
works. CPU_USE_DOMAINS gets disabled only if the hardware has a TLS register
(CPU_32v6K is defined) since writing the TLS value to the high vectors page
isn't possible.

The user addresses passed to the kernel are checked by the access_ok()
function so that they do not point to the kernel space.

Tested-by: Anton Vorontsov &lt;cbouatmailru@gmail.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: fix build error in arch/arm/kernel/process.c</title>
<updated>2010-04-21T07:45:21Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2010-04-19T09:15:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4260415f6a3b92c5c986398d96c314df37a4ccbf'/>
<id>urn:sha1:4260415f6a3b92c5c986398d96c314df37a4ccbf</id>
<content type='text'>
/tmp/ccJ3ssZW.s: Assembler messages:
/tmp/ccJ3ssZW.s:1952: Error: can't resolve `.text' {.text section} - `.LFB1077'

This is caused because:

	.section .data
	.section .text
	.section .text
	.previous

does not return us to the .text section, but the .data section; this
makes use of .previous dangerous if the ordering of previous sections
is not known.

Fix up the other users of .previous; .pushsection and .popsection are
a safer pairing to use than .section and .previous.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Thumb-2: Implement the unified arch/arm/lib functions</title>
<updated>2009-07-24T11:32:57Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2009-07-24T11:32:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8b592783a2e8b7721a99730bd549aab5208f36af'/>
<id>urn:sha1:8b592783a2e8b7721a99730bd549aab5208f36af</id>
<content type='text'>
This patch adds the ARM/Thumb-2 unified support for the arch/arm/lib/*
files.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;



</content>
</entry>
<entry>
<title>[ARM] allow for alternative __copy_to_user/__clear_user implementations</title>
<updated>2009-05-30T02:34:45Z</updated>
<author>
<name>Nicolas Pitre</name>
</author>
<published>2009-03-09T02:34:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a1f98849fdf2f2fef3ef1c260178cd5fc662b773'/>
<id>urn:sha1:a1f98849fdf2f2fef3ef1c260178cd5fc662b773</id>
<content type='text'>
This allows for optional alternative implementations of __copy_to_user
and __clear_user, with a possible runtime fallback to the standard
version when the alternative provides no gain over that standard
version. This is done by making the standard __copy_to_user into a weak
alias for the symbol __copy_to_user_std.  Same thing for __clear_user.

Those two functions are particularly good candidates to have alternative
implementations for, since they rely on the STRT instruction which has
lower performances than STM instructions on some CPU cores such as
the ARM1176 and Marvell Feroceon.

Signed-off-by: Nicolas Pitre &lt;nico@marvell.com&gt;
</content>
</entry>
<entry>
<title>[ARM] Remove linux/sched.h from asm/cacheflush.h and asm/uaccess.h</title>
<updated>2008-11-29T18:49:55Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2008-11-29T17:35:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=87c52578bd050ba395b0cae7079b1128abd2422d'/>
<id>urn:sha1:87c52578bd050ba395b0cae7079b1128abd2422d</id>
<content type='text'>
... and fix those drivers that were incorrectly relying upon
that include.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[ARM] remove memzero()</title>
<updated>2008-11-27T12:37:59Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2008-10-27T11:24:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59f0cb0fddc14ffc6676ae62e911f8115ebc8ccf'/>
<id>urn:sha1:59f0cb0fddc14ffc6676ae62e911f8115ebc8ccf</id>
<content type='text'>
As suggested by Andrew Morton, remove memzero() - it's not supported
on other architectures so use of it is a potential build breaking bug.
Since the compiler optimizes memset(x,0,n) to __memzero() perfectly
well, we don't miss out on the underlying benefits of memzero().

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[ARM] 5230/1: Replace post-indexed LDRT/STRT in uaccess.h</title>
<updated>2008-09-01T11:06:35Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2008-08-29T17:31:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4e6a0c397f40c9d98062aaaac66cab684f0b9186'/>
<id>urn:sha1:4e6a0c397f40c9d98062aaaac66cab684f0b9186</id>
<content type='text'>
The post-index immediate value is optional if it is 0 and this patch
removes it. The reason is to allow such instructions to compile to
Thumb-2 where only pre-indexed LDRT/STRT instructions are allowed.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[ARM] move include/asm-arm to arch/arm/include/asm</title>
<updated>2008-08-02T20:32:35Z</updated>
<author>
<name>Russell King</name>
</author>
<published>2008-08-02T09:55:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4baa9922430662431231ac637adedddbb0cfb2d7'/>
<id>urn:sha1:4baa9922430662431231ac637adedddbb0cfb2d7</id>
<content type='text'>
Move platform independent header files to arch/arm/include/asm, leaving
those in asm/arch* and asm/plat* alone.

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