<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/sparc/lib, branch linux-4.12.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.12.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.12.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-08-11T15:34:00Z</updated>
<entry>
<title>sparc64: Fix exception handling in UltraSPARC-III memcpy.</title>
<updated>2017-08-11T15:34:00Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2017-08-04T16:47:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c1fc78ea281efcff5879164f47d2b90535555398'/>
<id>urn:sha1:c1fc78ea281efcff5879164f47d2b90535555398</id>
<content type='text'>
[ Upstream commit 0ede1c401332173ab0693121dc6cde04a4dbf131 ]

Mikael Pettersson reported that some test programs in the strace-4.18
testsuite cause an OOPS.

After some debugging it turns out that garbage values are returned
when an exception occurs, causing the fixup memset() to be run with
bogus arguments.

The problem is that two of the exception handler stubs write the
successfully copied length into the wrong register.

Fixes: ee841d0aff64 ("sparc64: Convert U3copy_{from,to}_user to accurate exception reporting.")
Reported-by: Mikael Pettersson &lt;mikpelinux@gmail.com&gt;
Tested-by: Mikael Pettersson &lt;mikpelinux@gmail.com&gt;
Reviewed-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Adding the type of exported symbols</title>
<updated>2017-07-21T04:59:06Z</updated>
<author>
<name>Nagarathnam Muthusamy</name>
</author>
<published>2017-06-19T17:08:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7b3b294b4d050c608a96fca19c169fb048363947'/>
<id>urn:sha1:7b3b294b4d050c608a96fca19c169fb048363947</id>
<content type='text'>
[ Upstream commit f5a651f1d5e524cab345250a783702fb6a3f14d6 ]

Missing symbol type for few functions prevents genksyms from generating
symbol versions for those functions. This patch fixes them.

Signed-off-by: Nagarathnam Muthusamy &lt;nagarathnam.muthusamy@oracle.com&gt;
Reviewed-by: Babu Moger &lt;babu.moger@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sed regex in Makefile.build requires line break between exported symbols</title>
<updated>2017-07-21T04:59:06Z</updated>
<author>
<name>Nagarathnam Muthusamy</name>
</author>
<published>2017-06-19T17:08:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7bf934b871b94ccd576d82e9bb0396e45c6e421f'/>
<id>urn:sha1:7bf934b871b94ccd576d82e9bb0396e45c6e421f</id>
<content type='text'>
[ Upstream commit d16c0649feb4fe4e814f44803df5a617769c3233 ]

The following regex in Makefile.build matches only one ___EXPORT_SYMBOL per line.

sed
's/.*___EXPORT_SYMBOL[[:space:]]*\([a-zA-Z0-9_]*\)[[:space:]]*,.*/EXPORT_SYMBOL(\1);/'

ATOMIC_OPS macro in atomic_64.S expands multiple symbols in same line hence
version generation is done only for the last matched symbol. This patch adds
new line between the symbol expansions.

Signed-off-by: Nagarathnam Muthusamy &lt;nagarathnam.muthusamy@oracle.com&gt;
Reviewed-by: Babu Moger &lt;babu.moger@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sparc64: Add __multi3 for gcc 7.x and later.</title>
<updated>2017-06-05T18:30:33Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2017-06-05T18:28:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b4af13ff2cc6897557bb0b8d9e2fad4fa4d67aa'/>
<id>urn:sha1:1b4af13ff2cc6897557bb0b8d9e2fad4fa4d67aa</id>
<content type='text'>
Reported-by: Waldemar Brodkorb &lt;wbx@openadk.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sparc64: fix fault handling in NGbzero.S and GENbzero.S</title>
<updated>2017-05-09T19:16:25Z</updated>
<author>
<name>Dave Aldridge</name>
</author>
<published>2017-05-09T08:57:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3c7f62212018b904ae17f5636ead18a4dca3a88f'/>
<id>urn:sha1:3c7f62212018b904ae17f5636ead18a4dca3a88f</id>
<content type='text'>
When any of the functions contained in NGbzero.S and GENbzero.S
vector through *bzero_from_clear_user, we may end up taking a
fault when executing one of the store alternate address space
instructions. If this happens, the exception handler does not
restore the %asi register.

This commit fixes the issue by introducing a new exception
handler that ensures the %asi register is restored when
a fault is handled.

Orabug: 25577560

Signed-off-by: Dave Aldridge &lt;david.j.aldridge@oracle.com&gt;
Reviewed-by: Rob Gardner &lt;rob.gardner@oracle.com&gt;
Reviewed-by: Babu Moger &lt;babu.moger@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'work.uaccess' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs</title>
<updated>2017-05-01T21:41:04Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2017-05-01T21:41:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5db6db0d400edd8bec274e34960cfa22838e1df5'/>
<id>urn:sha1:5db6db0d400edd8bec274e34960cfa22838e1df5</id>
<content type='text'>
Pull uaccess unification updates from Al Viro:
 "This is the uaccess unification pile. It's _not_ the end of uaccess
  work, but the next batch of that will go into the next cycle. This one
  mostly takes copy_from_user() and friends out of arch/* and gets the
  zero-padding behaviour in sync for all architectures.

  Dealing with the nocache/writethrough mess is for the next cycle;
  fortunately, that's x86-only. Same for cleanups in iov_iter.c (I am
  sold on access_ok() in there, BTW; just not in this pile), same for
  reducing __copy_... callsites, strn*... stuff, etc. - there will be a
  pile about as large as this one in the next merge window.

  This one sat in -next for weeks. -3KLoC"

* 'work.uaccess' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (96 commits)
  HAVE_ARCH_HARDENED_USERCOPY is unconditional now
  CONFIG_ARCH_HAS_RAW_COPY_USER is unconditional now
  m32r: switch to RAW_COPY_USER
  hexagon: switch to RAW_COPY_USER
  microblaze: switch to RAW_COPY_USER
  get rid of padding, switch to RAW_COPY_USER
  ia64: get rid of copy_in_user()
  ia64: sanitize __access_ok()
  ia64: get rid of 'segment' argument of __do_{get,put}_user()
  ia64: get rid of 'segment' argument of __{get,put}_user_check()
  ia64: add extable.h
  powerpc: get rid of zeroing, switch to RAW_COPY_USER
  esas2r: don't open-code memdup_user()
  alpha: fix stack smashing in old_adjtimex(2)
  don't open-code kernel_setsockopt()
  mips: switch to RAW_COPY_USER
  mips: get rid of tail-zeroing in primitives
  mips: make copy_from_user() zero tail explicitly
  mips: clean and reorder the forest of macros...
  mips: consolidate __invoke_... wrappers
  ...
</content>
</entry>
<entry>
<title>sparc: switch to RAW_COPY_USER</title>
<updated>2017-04-02T16:53:15Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2017-03-21T21:04:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=31af2f36d50e3b9b2fb7f17aa430c11c91f946c4'/>
<id>urn:sha1:31af2f36d50e3b9b2fb7f17aa430c11c91f946c4</id>
<content type='text'>
... and drop zeroing in sparc32.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>arch/sparc: Avoid DCTI Couples</title>
<updated>2017-03-28T04:51:40Z</updated>
<author>
<name>Babu Moger</name>
</author>
<published>2017-03-17T20:52:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ae2d26ffe70c32d4a7fe77593f0a55ce416c09e'/>
<id>urn:sha1:0ae2d26ffe70c32d4a7fe77593f0a55ce416c09e</id>
<content type='text'>
Avoid un-intended DCTI Couples. Use of DCTI couples is deprecated.
Also address the "Programming Note" for optimal performance.

Here is the complete text from Oracle SPARC Architecture Specs.

6.3.4.7 DCTI Couples
"A delayed control transfer instruction (DCTI) in the delay slot of
another DCTI is referred to as a “DCTI couple”. The use of DCTI couples
is deprecated in the Oracle SPARC Architecture; no new software should
place a DCTI in the delay slot of another DCTI, because on future Oracle
SPARC Architecture implementations DCTI couples may execute either
slowly or differently than the programmer assumes it will.

SPARC V8 and SPARC V9 Compatibility Note
The SPARC V8 architecture left behavior undefined for a DCTI couple. The
SPARC V9 architecture defined behavior in that case, but as of
UltraSPARC Architecture 2005, use of DCTI couples was deprecated.
Software should not expect high performance from DCTI couples, and
performance of DCTI couples should be expected to decline further in
future processors.

Programming Note
As noted in TABLE 6-5 on page 115, an annulled branch-always
(branch-always with a = 1) instruction is not architecturally a DCTI.
However, since not all implementations make that distinction, for
optimal performance, a DCTI should not be placed in the instruction word
immediately following an annulled branch-always instruction (BA,A or
BPA,A)."

Signed-off-by: Babu Moger &lt;babu.moger@oracle.com&gt;
Reviewed-by: Rob Gardner &lt;rob.gardner@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sparc64: Delete now unused user copy fixup functions.</title>
<updated>2016-10-25T04:26:04Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2016-10-25T04:25:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0fd0ff01d4c3c01e7fe69b762ee1a13236639acc'/>
<id>urn:sha1:0fd0ff01d4c3c01e7fe69b762ee1a13236639acc</id>
<content type='text'>
Now that all of the user copy routines are converted to return
accurate residual lengths when an exception occurs, we no longer need
the broken fixup routines.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sparc64: Convert U3copy_{from,to}_user to accurate exception reporting.</title>
<updated>2016-10-25T04:20:35Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2016-10-25T04:20:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ee841d0aff649164080e445e84885015958d8ff4'/>
<id>urn:sha1:ee841d0aff649164080e445e84885015958d8ff4</id>
<content type='text'>
Report the exact number of bytes which have not been successfully
copied when an exception occurs, using the running remaining length.

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