~ubuntu-branches/ubuntu/vivid/musl/vivid

« back to all changes in this revision

Viewing changes to src/thread/or1k/clone.s

  • Committer: Package Import Robot
  • Author(s): Kevin Bortis
  • Date: 2014-05-26 22:45:52 UTC
  • mfrom: (4.1.4 sid)
  • Revision ID: package-import@ubuntu.com-20140526224552-qrtsct934q29xo0x
Tags: 1.1.4-1
* Import upstream version 1.1.4. (Closes: #754758)
* Fixes possible stack-based buffer overflow CVE-2014-3484 (Closes: #750815) 
* Includes fix for build regression on armhf and armel

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* int clone(fn, stack, flags, arg, ptid, tls, ctid)
 
2
 *           r3  r4     r5     r6   sp+0  sp+4 sp+8
 
3
 * sys_clone(flags, stack, ptid, ctid, tls)
 
4
 */
 
5
.global __clone
 
6
.type   __clone,@function
 
7
__clone:
 
8
        l.addi  r4, r4, -8
 
9
        l.sw    0(r4), r3
 
10
        l.sw    4(r4), r6
 
11
        /* (fn, st, fl, ar, pt, tl, ct) => (fl, st, pt, ct, tl) */
 
12
        l.ori   r3, r5, 0
 
13
        l.lwz   r5, 0(r1)
 
14
        l.lwz   r6, 8(r1)
 
15
        l.lwz   r7, 4(r1)
 
16
        l.ori   r11, r0, 220 /* __NR_clone */
 
17
        l.sys   1
 
18
 
 
19
        l.sfeqi r11, 0
 
20
        l.bf    1f
 
21
         l.nop
 
22
        l.jr    r9
 
23
         l.nop
 
24
 
 
25
1:      l.lwz   r11, 0(r1)
 
26
        l.jalr  r11
 
27
         l.lwz  r3, 4(r1)
 
28
 
 
29
        l.ori   r11, r0, 93 /* __NR_exit */
 
30
        l.sys   1