1. 23 9月, 2008 1 次提交
    • R
      x86: fix 27-rc crash on vsmp due to paravirt during module load · 05e12e1c
      Ravikiran G Thirumalai 提交于
      27-rc fails to boot up if configured to use modules.
      
      Turns out vsmp_patch was marked __init, and vsmp_patch being the
      pvops 'patch' routine for vsmp, a call to vsmp_patch just turns out
      to execute a code page with series of 0xcc (POISON_FREE_INITMEM -- int3).
      
      vsmp_patch has been marked with __init ever since pvops, however,
      apply_paravirt can be called during module load causing calls to
      freed memory location.
      
      Since apply_paravirt can only be called during init/module load, make
      vsmp_patch with "__init_or_module"
      Signed-off-by: NRavikiran Thirumalai <kiran@scalex86.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      05e12e1c
  2. 22 9月, 2008 1 次提交
    • A
      x86, oprofile: BUG scheduling while atomic · b61e06f2
      Andrea Righi 提交于
      nmi_shutdown() calls unregister_die_notifier() from an atomic context
      after setting preempt_disable() via get_cpu_var():
      
      [ 1049.404154] BUG: scheduling while atomic: oprofiled/7796/0x00000002
      [ 1049.404171] INFO: lockdep is turned off.
      [ 1049.404176] Modules linked in: oprofile af_packet rfcomm l2cap kvm_intel kvm i915 drm acpi_cpufreq cpufreq_userspace cpufreq_conservative cpufreq_ondemand cpufreq_powersave freq_table container sbs sbshc dm_mod arc4 ecb cryptomgr aead snd_hda_intel crypto_blkcipher snd_pcm_oss crypto_algapi snd_pcm iwlagn iwlcore snd_timer iTCO_wdt led_class btusb iTCO_vendor_support snd psmouse bluetooth mac80211 soundcore cfg80211 snd_page_alloc intel_agp video output button battery ac dcdbas evdev ext3 jbd mbcache sg sd_mod piix ata_piix libata scsi_mod dock tg3 libphy ehci_hcd uhci_hcd usbcore thermal processor fan fuse
      [ 1049.404362] Pid: 7796, comm: oprofiled Not tainted 2.6.27-rc5-mm1 #30
      [ 1049.404368] Call Trace:
      [ 1049.404384]  [<ffffffff804769fd>] thread_return+0x4a0/0x7d3
      [ 1049.404396]  [<ffffffff8026ad92>] generic_exec_single+0x52/0xe0
      [ 1049.404405]  [<ffffffff8026ae1a>] generic_exec_single+0xda/0xe0
      [ 1049.404414]  [<ffffffff8026aee3>] smp_call_function_single+0x73/0x150
      [ 1049.404423]  [<ffffffff804770c5>] schedule_timeout+0x95/0xd0
      [ 1049.404430]  [<ffffffff80476083>] wait_for_common+0x43/0x180
      [ 1049.404438]  [<ffffffff80476154>] wait_for_common+0x114/0x180
      [ 1049.404448]  [<ffffffff80236980>] default_wake_function+0x0/0x10
      [ 1049.404457]  [<ffffffff8024f810>] synchronize_rcu+0x30/0x40
      [ 1049.404463]  [<ffffffff8024f890>] wakeme_after_rcu+0x0/0x10
      [ 1049.404472]  [<ffffffff80479ca0>] _spin_unlock_irqrestore+0x40/0x80
      [ 1049.404482]  [<ffffffff80256def>] atomic_notifier_chain_unregister+0x3f/0x60
      [ 1049.404501]  [<ffffffffa03d8801>] nmi_shutdown+0x51/0x90 [oprofile]
      [ 1049.404517]  [<ffffffffa03d6134>] oprofile_shutdown+0x34/0x70 [oprofile]
      [ 1049.404532]  [<ffffffffa03d721e>] event_buffer_release+0xe/0x40 [oprofile]
      [ 1049.404543]  [<ffffffff802bdcdd>] __fput+0xcd/0x240
      [ 1049.404551]  [<ffffffff802baa74>] filp_close+0x54/0x90
      [ 1049.404560]  [<ffffffff8023e1d1>] put_files_struct+0xb1/0xd0
      [ 1049.404568]  [<ffffffff8023f82f>] do_exit+0x18f/0x930
      [ 1049.404576]  [<ffffffff8020be03>] restore_args+0x0/0x30
      [ 1049.404584]  [<ffffffff80240006>] do_group_exit+0x36/0xa0
      [ 1049.404592]  [<ffffffff8020b7cb>] system_call_fastpath+0x16/0x1b
      
      This can be easily triggered with 'opcontrol --shutdown'.
      
      Simply move get_cpu_var() above unregister_die_notifier().
      Signed-off-by: NAndrea Righi <righi.andrea@gmail.com>
      Acked-by: NRobert Richter <robert.richter@amd.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b61e06f2
  3. 18 9月, 2008 2 次提交
  4. 17 9月, 2008 1 次提交
  5. 15 9月, 2008 1 次提交
  6. 14 9月, 2008 1 次提交
  7. 12 9月, 2008 1 次提交
    • J
      x86: fix possible x86_64 and EFI regression · 0ad5bce7
      Jeremy Fitzhardinge 提交于
      Russ Anderson reported a boot crash with EFI and latest mainline:
      
       BIOS-e820: 00000000fffa0000 - 00000000fffac000 (reserved)
      Pid: 0, comm: swapper Not tainted 2.6.27-rc5-00100-gec0c15af-dirty #5
      
      Call Trace:
       [<ffffffff80849195>] early_idt_handler+0x55/0x69
       [<ffffffff80313e52>] __memcpy+0x12/0xa4
       [<ffffffff80859015>] efi_init+0xce/0x932
       [<ffffffff80869c83>] setup_early_serial8250_console+0x2d/0x36a
       [<ffffffff80238688>] __insert_resource+0x18/0xc8
       [<ffffffff8084f6de>] setup_arch+0x3a7/0x632
       [<ffffffff808499ed>] start_kernel+0x91/0x367
       [<ffffffff80849393>] x86_64_start_kernel+0xe3/0xe7
       [<ffffffff808492b0>] x86_64_start_kernel+0x0/0xe7
      
       RIP 0x10
      
      Such a crash is possible if the CPU in this system is a 64-bit
      processor which doesn't support NX (ie, old Intel P4 -based64-bit
      processors).
      
      Certainly, if we support such processors, then we should start with
      _PAGE_NX initially clear in __supported_pte_flags, and then set it once
      we've established that the processor does indeed support NX.  That will
      prevent early_ioremap - or anything else - from trying to set it.
      
      The simple fix is to simply call check_efer() earlier.
      Reported-by: NRuss Anderson <rja@sgi.com>
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      0ad5bce7
  8. 10 9月, 2008 15 次提交
  9. 09 9月, 2008 17 次提交