~ubuntu-branches/ubuntu/karmic/linux-fsl-imx51/karmic

« back to all changes in this revision

Viewing changes to arch/x86/ia32/ia32entry.S

  • Committer: Bazaar Package Importer
  • Author(s): Andy Whitcroft, Andy Whitcroft, Upstream Kernel Changes, Ubuntu: 2.6.31-14.46, Ubuntu: 2.6.31-13.45, Ubuntu: 2.6.31-13.44
  • Date: 2009-10-13 15:59:33 UTC
  • Revision ID: james.westby@ubuntu.com-20091013155933-hxzquigs9nqajd9x
Tags: 2.6.31-105.14
[ Andy Whitcroft ]

* rebase to Ubuntu-2.6.31-14.46
* [Config] update configs since rebase to Ubuntu-2.6.31-14.46
* lirc update dropped module lirc_mceusb2

[ Upstream Kernel Changes ]

* mxc spi: fix spi driver for 2.6.31
  - LP: #427289, #446140

[ Ubuntu: 2.6.31-14.46 ]

* reinstate armel.mk with no flavours
  - LP: #449637
* [Upstream] elevator: fix fastfail checks to allow merge of readahead
  requests
  - LP: #444915
* [Upstream] block: silently error unsupported empty barriers too
  - LP: #420423
* SAUCE: AppArmor: Fix mediation of "deleted" paths
  - LP: #415632
* [Config] CONFIG_X86_MCE
  https://lists.ubuntu.com/archives/kernel-team/2009-October/007584.html
* Revert "appletalk: Fix skb leak when ipddp interface is not loaded,
  CVE-2009-2903" - Use patch from 2.6.31.4 which is slightly different.
* x86: fix csum_ipv6_magic asm memory clobber
* tty: Avoid dropping ldisc_mutex over hangup tty re-initialization
* x86: Don't leak 64-bit kernel register values to 32-bit processes
* tracing: correct module boundaries for ftrace_release
* ftrace: check for failure for all conversions
* futex: fix requeue_pi key imbalance
* futex: Move exit_pi_state() call to release_mm()
* futex: Nullify robust lists after cleanup
* futex: Fix locking imbalance
* NOHZ: update idle state also when NOHZ is inactive
* ima: ecryptfs fix imbalance message
* libata: fix incorrect link online check during probe
* sound: via82xx: move DXS volume controls to PCM interface
* ASoC: WM8350 capture PGA mutes are inverted
* KVM: Prevent overflow in KVM_GET_SUPPORTED_CPUID
* KVM: VMX: flush TLB with INVEPT on cpu migration
* KVM: fix LAPIC timer period overflow
* KVM: SVM: Fix tsc offset adjustment when running nested
* KVM: SVM: Handle tsc in svm_get_msr/svm_set_msr correctly
* net: Fix wrong sizeof
* mm: add_to_swap_cache() must not sleep
* sis5513: fix PIO setup for ATAPI devices
* PIT fixes to unbreak suspend/resume (bug #14222)
* IMA: open new file for read
* ACPI: Clarify resource conflict message
* ACPI: fix Compaq Evo N800c (Pentium 4m) boot hang regression
* net: restore tx timestamping for accelerated vlans
* net: unix: fix sending fds in multiple buffers
* tun: Return -EINVAL if neither IFF_TUN nor IFF_TAP is set.
* tcp: fix CONFIG_TCP_MD5SIG + CONFIG_PREEMPT timer BUG()
* net: Fix sock_wfree() race
* smsc95xx: fix transmission where ZLP is expected
* sky2: Set SKY2_HW_RAM_BUFFER in sky2_init
* appletalk: Fix skb leak when ipddp interface is not loaded
* ax25: Fix possible oops in ax25_make_new
* ax25: Fix SIOCAX25GETINFO ioctl
* sit: fix off-by-one in ipip6_tunnel_get_prl
* Linux 2.6.31.4
* drm/i915: Fix FDI M/N setting according with correct color depth
  - LP: #416792

[ Ubuntu: 2.6.31-13.45 ]

* [Config] Add sd_mod to scsi-modules udeb for powerpc
* SAUCE: Update to LIRC 0.8.6
  - LP: #432678
* [Config] CONFIG_X86_PAT=y
  https://lists.ubuntu.com/archives/kernel-team/2009-October/007477.html
  https://lists.ubuntu.com/archives/kernel-team/2009-October/007534.html
* [Config] Add armel arch to linux-libc-dev arches.
  - LP: #449637
* e1000e: swap max hw supported frame size between 82574 and 82583
* drm/i915: Initialize HDMI outputs as HDMI connectors, not DVI.
  - LP: #392017
* ALSA: hda - Add quirks for some HP laptops
  - LP: #449742
* ALSA: hda - Add support for HP dv6
  - LP: #449742

[ Ubuntu: 2.6.31-13.44 ]

* sgi-gru: Fix kernel stack buffer overrun, CVE-2009-2584
* appletalk: Fix skb leak when ipddp interface is not loaded,
  CVE-2009-2903
  Note - This patch causes an ABI change in the symbol aarp_send_ddp
  which I'm ignoring.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
#define __AUDIT_ARCH_LE    0x40000000
22
22
 
23
23
#ifndef CONFIG_AUDITSYSCALL
24
 
#define sysexit_audit int_ret_from_sys_call
25
 
#define sysretl_audit int_ret_from_sys_call
 
24
#define sysexit_audit ia32_ret_from_sys_call
 
25
#define sysretl_audit ia32_ret_from_sys_call
26
26
#endif
27
27
 
28
28
#define IA32_NR_syscalls ((ia32_syscall_end - ia32_sys_call_table)/8)
39
39
        .endm 
40
40
 
41
41
        /* clobbers %eax */     
42
 
        .macro  CLEAR_RREGS _r9=rax
 
42
        .macro  CLEAR_RREGS offset=0, _r9=rax
43
43
        xorl    %eax,%eax
44
 
        movq    %rax,R11(%rsp)
45
 
        movq    %rax,R10(%rsp)
46
 
        movq    %\_r9,R9(%rsp)
47
 
        movq    %rax,R8(%rsp)
 
44
        movq    %rax,\offset+R11(%rsp)
 
45
        movq    %rax,\offset+R10(%rsp)
 
46
        movq    %\_r9,\offset+R9(%rsp)
 
47
        movq    %rax,\offset+R8(%rsp)
48
48
        .endm
49
49
 
50
50
        /*
172
172
        movl    RIP-R11(%rsp),%edx              /* User %eip */
173
173
        CFI_REGISTER rip,rdx
174
174
        RESTORE_ARGS 1,24,1,1,1,1
 
175
        xorq    %r8,%r8
 
176
        xorq    %r9,%r9
 
177
        xorq    %r10,%r10
 
178
        xorq    %r11,%r11
175
179
        popfq
176
180
        CFI_ADJUST_CFA_OFFSET -8
177
181
        /*CFI_RESTORE rflags*/
202
206
 
203
207
        .macro auditsys_exit exit,ebpsave=RBP
204
208
        testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),TI_flags(%r10)
205
 
        jnz int_ret_from_sys_call
 
209
        jnz ia32_ret_from_sys_call
206
210
        TRACE_IRQS_ON
207
211
        sti
208
212
        movl %eax,%esi          /* second arg, syscall return value */
218
222
        cli
219
223
        TRACE_IRQS_OFF
220
224
        testl %edi,TI_flags(%r10)
221
 
        jnz int_with_check
222
 
        jmp \exit
 
225
        jz \exit
 
226
        CLEAR_RREGS -ARGOFFSET
 
227
        jmp int_with_check
223
228
        .endm
224
229
 
225
230
sysenter_auditsys:
329
334
        CFI_REGISTER rip,rcx
330
335
        movl EFLAGS-ARGOFFSET(%rsp),%r11d       
331
336
        /*CFI_REGISTER rflags,r11*/
 
337
        xorq    %r10,%r10
 
338
        xorq    %r9,%r9
 
339
        xorq    %r8,%r8
332
340
        TRACE_IRQS_ON
333
341
        movl RSP-ARGOFFSET(%rsp),%esp
334
342
        CFI_RESTORE rsp
353
361
#endif
354
362
        xchgl %r9d,%ebp
355
363
        SAVE_REST
356
 
        CLEAR_RREGS r9
 
364
        CLEAR_RREGS 0, r9
357
365
        movq $-ENOSYS,RAX(%rsp) /* ptrace can change this for a bad syscall */
358
366
        movq %rsp,%rdi        /* &pt_regs -> arg1 */
359
367
        call syscall_trace_enter
425
433
        call *ia32_sys_call_table(,%rax,8) # xxx: rip relative
426
434
ia32_sysret:
427
435
        movq %rax,RAX-ARGOFFSET(%rsp)
 
436
ia32_ret_from_sys_call:
 
437
        CLEAR_RREGS -ARGOFFSET
428
438
        jmp int_ret_from_sys_call 
429
439
 
430
440
ia32_tracesys:                   
442
452
 
443
453
ia32_badsys:
444
454
        movq $0,ORIG_RAX-ARGOFFSET(%rsp)
445
 
        movq $-ENOSYS,RAX-ARGOFFSET(%rsp)
446
 
        jmp int_ret_from_sys_call
 
455
        movq $-ENOSYS,%rax
 
456
        jmp ia32_sysret
447
457
 
448
458
quiet_ni_syscall:
449
459
        movq $-ENOSYS,%rax