<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/tile/kernel/compat.c, branch v4.9</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.9</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.9'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2016-06-15T19:31:01Z</updated>
<entry>
<title>tile 32-bit big-endian: fix bugs in syscall argument order</title>
<updated>2016-06-15T19:31:01Z</updated>
<author>
<name>Chris Metcalf</name>
<email>cmetcalf@mellanox.com</email>
</author>
<published>2016-06-15T19:19:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ca768667d87331d2e2fc84e1546fbf96f22ed5fe'/>
<id>urn:sha1:ca768667d87331d2e2fc84e1546fbf96f22ed5fe</id>
<content type='text'>
The glibc __LONG_LONG_PAIR passes arguments in a different
order for BE platforms vs LE platforms.  Adjust the expectations
in the kernel 32-bit syscall routines for BE to match.

Signed-off-by: Chris Metcalf &lt;cmetcalf@mellanox.com&gt;
</content>
</entry>
<entry>
<title>tile: remove stray blank space</title>
<updated>2013-09-16T19:47:32Z</updated>
<author>
<name>Chris Metcalf</name>
<email>cmetcalf@tilera.com</email>
</author>
<published>2013-09-16T18:41:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e823acc0a9e36a5645cdf0c57fa5f738b51bb999'/>
<id>urn:sha1:e823acc0a9e36a5645cdf0c57fa5f738b51bb999</id>
<content type='text'>
The compat sys_llseek() definition addition added a bogus space
on an otherwise-blank line.

Signed-off-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal</title>
<updated>2013-05-01T14:21:43Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-05-01T14:21:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=08d76760832993050ad8c25e63b56773ef2ca303'/>
<id>urn:sha1:08d76760832993050ad8c25e63b56773ef2ca303</id>
<content type='text'>
Pull compat cleanup from Al Viro:
 "Mostly about syscall wrappers this time; there will be another pile
  with patches in the same general area from various people, but I'd
  rather push those after both that and vfs.git pile are in."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
  syscalls.h: slightly reduce the jungles of macros
  get rid of union semop in sys_semctl(2) arguments
  make do_mremap() static
  sparc: no need to sign-extend in sync_file_range() wrapper
  ppc compat wrappers for add_key(2) and request_key(2) are pointless
  x86: trim sys_ia32.h
  x86: sys32_kill and sys32_mprotect are pointless
  get rid of compat_sys_semctl() and friends in case of ARCH_WANT_OLD_COMPAT_IPC
  merge compat sys_ipc instances
  consolidate compat lookup_dcookie()
  convert vmsplice to COMPAT_SYSCALL_DEFINE
  switch getrusage() to COMPAT_SYSCALL_DEFINE
  switch epoll_pwait to COMPAT_SYSCALL_DEFINE
  convert sendfile{,64} to COMPAT_SYSCALL_DEFINE
  switch signalfd{,4}() to COMPAT_SYSCALL_DEFINE
  make SYSCALL_DEFINE&lt;n&gt;-generated wrappers do asmlinkage_protect
  make HAVE_SYSCALL_WRAPPERS unconditional
  consolidate cond_syscall and SYSCALL_ALIAS declarations
  teach SYSCALL_DEFINE&lt;n&gt; how to deal with long long/unsigned long long
  get rid of duplicate logics in __SC_....[1-6] definitions
</content>
</entry>
<entry>
<title>tile: properly use COMPAT_SYSCALL_DEFINEx</title>
<updated>2013-03-04T18:37:32Z</updated>
<author>
<name>Chris Metcalf</name>
<email>cmetcalf@tilera.com</email>
</author>
<published>2013-03-04T18:37:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=87c319a2c3c2efd397281089b9cdce3050febeff'/>
<id>urn:sha1:87c319a2c3c2efd397281089b9cdce3050febeff</id>
<content type='text'>
This was pointed out by Al Viro.  Using the correct wrappers
properly does sign extension as necessary on syscall arguments.

Signed-off-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
</content>
</entry>
<entry>
<title>tile: work around bug in the generic sys_llseek</title>
<updated>2013-03-04T16:19:09Z</updated>
<author>
<name>Chris Metcalf</name>
<email>cmetcalf@tilera.com</email>
</author>
<published>2013-03-04T16:19:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5a114b98661e3aaa0ac085eb931584dce3b0ef9b'/>
<id>urn:sha1:5a114b98661e3aaa0ac085eb931584dce3b0ef9b</id>
<content type='text'>
sys_llseek should specify the high and low 32-bit seek values as "unsigned
int" but instead it specifies "unsigned long".  Since compat syscall
arguments are always sign-extended on tile, this means that a seek value
of 0xffffffff will be incorrectly interpreted as a value of -1ULL.

To avoid the risk of breaking binary compatibility on architectures
that already use sys_llseek this way, we follow the same path as MIPS
and provide a wrapper override.

Signed-off-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
Cc: stable@kernel.org [v3.6 onwards]
</content>
</entry>
<entry>
<title>consolidate compat lookup_dcookie()</title>
<updated>2013-03-04T04:00:23Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2013-02-25T23:42:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d5dc77bfeeab0b03a32e3db5e31e2f64605634ab'/>
<id>urn:sha1:d5dc77bfeeab0b03a32e3db5e31e2f64605634ab</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>compat: generic compat_sys_sched_rr_get_interval() implementation</title>
<updated>2012-12-18T01:15:18Z</updated>
<author>
<name>Catalin Marinas</name>
<email>catalin.marinas@arm.com</email>
</author>
<published>2012-12-18T00:01:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0ad50c3896afbb3c103409a18260e601b87a744c'/>
<id>urn:sha1:0ad50c3896afbb3c103409a18260e601b87a744c</id>
<content type='text'>
This function is used by sparc, powerpc tile and arm64 for compat support.
 The patch adds a generic implementation with a wrapper for PowerPC to do
the u32-&gt;int sign extension.

The reason for a single patch covering powerpc, tile, sparc and arm64 is
to keep it bisectable, otherwise kernel building may fail with mismatched
function declarations.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Acked-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;  [for tile]
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Alexander Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>take sys_fork/sys_vfork/sys_clone prototypes to linux/syscalls.h</title>
<updated>2012-11-29T04:43:27Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-11-29T04:04:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=24465a40ba452bd81fdc9eecb2d75bb903aafdf6'/>
<id>urn:sha1:24465a40ba452bd81fdc9eecb2d75bb903aafdf6</id>
<content type='text'>
now it can be done...

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>arch/tile: eliminate pt_regs trampolines for syscalls</title>
<updated>2012-10-23T20:23:58Z</updated>
<author>
<name>Chris Metcalf</name>
<email>cmetcalf@tilera.com</email>
</author>
<published>2012-10-23T17:30:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6b14e4198c729b748a7f6d22059e6a101d2b241a'/>
<id>urn:sha1:6b14e4198c729b748a7f6d22059e6a101d2b241a</id>
<content type='text'>
Using the new current_pt_regs() model, we can remove some trampolines
from assembly code and call directly to the C syscall implementations.
rt_sigreturn() and clone() still need some assembly wrapping, but no
longer are passed a pt_regs pointer.  sigaltstack() and the
tilepro-specific cmpxchg_badaddr() syscalls are now just straight C.

Signed-off-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
</content>
</entry>
<entry>
<title>Drop struct pt_regs * argument in compat_sys_execve()</title>
<updated>2012-10-20T17:13:11Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-10-20T17:13:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=733deca197143857f938b41d671cd7ce9c53c4bc'/>
<id>urn:sha1:733deca197143857f938b41d671cd7ce9c53c4bc</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
</feed>
