1. 27 Jul, 2008 40 commits
    • Trond Myklebust's avatar
      NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode · 744d18db
      Trond Myklebust authored
      In order to avoid the "Busy inodes after unmount" error message, we need to
      ensure that nfs_async_unlink_release() releases the super block after the
      call to nfs_free_unlinkdata().
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      744d18db
    • Marc Zyngier's avatar
      nfs_remount oops when rebooting + possible fix · 31c94469
      Marc Zyngier authored
      Jeff, Trond,
      
      The commit
      
      48b605f8 (NFS: implement option checking
      when remounting NFS filesystems (resend))
      
      generate an Oops on my platform when rebooting while its root FS on
      an NFS share (NFSv3, TCP) :
      
      Unmounting local filesystems...done.
      Unable to handle kernel NULL pointer dereference at virtual address 00000000
      pgd = c3d00000
      [00000000] *pgd=a3d72031, *pte=00000000, *ppte=00000000
      Internal error: Oops: 17 [#1]
      Modules linked in: cpufreq_powersave cpufreq_ondemand cpufreq_userspace cpufreq_conservative ext3 jbd sd_mod pata_pcmcia libata scsi_mod pcmcia loop firmware_class pxafb cfbcopyarea cfbimgblt cfbfillrect pxa2xx_cs pxa2xx_core pcmcia_core snd_pxa2xx_ac97 snd_ac97_codec ac97_bus snd_pxa2xx_pcm snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd isp116x_hcd soundcore rtc_sa1100 snd_page_alloc pxa25x_udc usbcore rtc_ds1307 rtc_core
      CPU: 0    Not tainted  (2.6.26-03414-g33af79d1-dirty #15)
      PC is at nfs_remount+0x40/0x264
      LR is at do_remount_sb+0x158/0x194
      pc : [<c00bbf54>]    lr : [<c0076c40>]    psr: 60000013
      sp : c2dd1e70  ip : c2dd1e98  fp : c2dd1e94
      r10: 00000040  r9 : c3d17000  r8 : c3c3fc40
      r7 : 00000000  r6 : 00000000  r5 : c3d2b200  r4 : 00000000
      r3 : 00000003  r2 : 00000000  r1 : c2dd1e9c  r0 : c3c3fc00
      Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      Control: 0000397f  Table: a3d00000  DAC: 00000015
      Process mount (pid: 1462, stack limit = 0xc2dd0270)
      Stack: (0xc2dd1e70 to 0xc2dd2000)
      1e60:                                     00000000 c3c3fc00 00000000 00000000
      1e80: c3c3fc40 c3d17000 c2dd1ebc c2dd1e98 c0076c40 c00bbf20 c01c61e4 00000001
      1ea0: c2dd1ebc 00000001 c3c3fc00 c2dd1ef0 c2dd1ee4 c2dd1ec0 c008c6d8 c0076af4
      1ec0: 00000021 00000040 c2dd1ef0 c3d77000 c3eaa000 00000000 c2dd1f6c c2dd1ee8
      1ee0: c008d1bc c008c5f8 00000000 c2dd0000 c3c0c320 c3805b38 c002064c 0001f820
      1f00: 0001f810 00000001 00000001 00000000 c2dd0000 00000000 c2dd1f34 c2dd1f28
      1f20: c005ead8 c005e6f8 c2dd1f44 c2dd1f38 c005eaf8 c005ead0 c2dd1f6c c2dd1f48
      1f40: c008ae3c 00000000 c3d77000 0001f810 c0ed0021 c0020ca8 c2dd0000 00000000
      1f60: c2dd1fa4 c2dd1f70 c008d2d4 c008d0bc 00000000 0001f810 c2dd1f9c c3eaa000
      1f80: c3d17000 00000000 00000000 be8b6aa8 be8b6ad0 00000015 00000000 c2dd1fa8
      1fa0: c0020b00 c008d254 00000000 be8b6aa8 0001f810 0001f820 0001f830 c0ed0021
      1fc0: 00000000 be8b6aa8 be8b6ad0 00000015 00000000 be8b6ad0 0001f810 be8b6aa8
      1fe0: 0001f810 be8b6964 0000aab8 40125124 60000010 0001f810 00000000 00000000
      Backtrace:
      [<c00bbf14>] (nfs_remount+0x0/0x264) from [<c0076c40>] (do_remount_sb+0x158/0x194)
        r9:c3d17000 r8:c3c3fc40 r7:00000000 r6:00000000 r5:c3c3fc00
      r4:00000000
      [<c0076ae8>] (do_remount_sb+0x0/0x194) from [<c008c6d8>] (do_remount+0xec/0x118)
        r6:c2dd1ef0 r5:c3c3fc00 r4:00000001
      [<c008c5ec>] (do_remount+0x0/0x118) from [<c008d1bc>] (do_mount+0x10c/0x198)
      [<c008d0b0>] (do_mount+0x0/0x198) from [<c008d2d4>] (sys_mount+0x8c/0xd4)
      [<c008d248>] (sys_mount+0x0/0xd4) from [<c0020b00>] (ret_fast_syscall+0x0/0x2c)
        r7:00000015 r6:be8b6ad0 r5:be8b6aa8 r4:00000000
      Code: 0a000086 ea000006 e3530003 8a000004 (e5923000)
      ---[ end trace 55e1b689cf8c8a6a ]---
      ------------[ cut here ]------------
      WARNING: at kernel/exit.c:966 do_exit+0x3c/0x628()
      Modules linked in: cpufreq_powersave cpufreq_ondemand cpufreq_userspace cpufreq_conservative ext3 jbd sd_mod pata_pcmcia libata scsi_mod pcmcia loop firmware_class pxafb cfbcopyarea cfbimgblt cfbfillrect pxa2xx_cs pxa2xx_core pcmcia_core snd_pxa2xx_ac97 snd_ac97_codec ac97_bus snd_pxa2xx_pcm snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd isp116x_hcd soundcore rtc_sa1100 snd_page_alloc pxa25x_udc usbcore rtc_ds1307 rtc_core
      [<c0025168>] (dump_stack+0x0/0x14) from [<c0032154>] (warn_on_slowpath+0x4c/0x68)
      [<c0032108>] (warn_on_slowpath+0x0/0x68) from [<c003531c>] (do_exit+0x3c/0x628)
        r6:0000000b r5:c3c3dc80 r4:c2dd0000
      [<c00352e0>] (do_exit+0x0/0x628) from [<c0025004>] (die+0x2b0/0x30c)
      [<c0024d54>] (die+0x0/0x30c) from [<c00270bc>] (__do_kernel_fault+0x6c/0x80)
      [<c0027050>] (__do_kernel_fault+0x0/0x80) from [<c00272e0>] (do_page_fault+0x210/0x230)
        r7:c3fa7118 r6:c3c3dc80 r5:c3d166a8 r4:00010000
      [<c00270d0>] (do_page_fault+0x0/0x230) from [<c00201ec>] (do_DataAbort+0x3c/0xa0)
      [<c00201b0>] (do_DataAbort+0x0/0xa0) from [<c002064c>] (__dabt_svc+0x4c/0x60)
      Exception stack(0xc2dd1e28 to 0xc2dd1e70)
      1e20:                   c3c3fc00 c2dd1e9c 00000000 00000003 00000000 c3d2b200
      1e40: 00000000 00000000 c3c3fc40 c3d17000 00000040 c2dd1e94 c2dd1e98 c2dd1e70
      1e60: c0076c40 c00bbf54 60000013 ffffffff
        r8:c3c3fc40 r7:00000000 r6:00000000 r5:c2dd1e5c r4:ffffffff
      [<c00bbf14>] (nfs_remount+0x0/0x264) from [<c0076c40>] (do_remount_sb+0x158/0x194)
        r9:c3d17000 r8:c3c3fc40 r7:00000000 r6:00000000 r5:c3c3fc00
      r4:00000000
      [<c0076ae8>] (do_remount_sb+0x0/0x194) from [<c008c6d8>] (do_remount+0xec/0x118)
        r6:c2dd1ef0 r5:c3c3fc00 r4:00000001
      [<c008c5ec>] (do_remount+0x0/0x118) from [<c008d1bc>] (do_mount+0x10c/0x198)
      [<c008d0b0>] (do_mount+0x0/0x198) from [<c008d2d4>] (sys_mount+0x8c/0xd4)
      [<c008d248>] (sys_mount+0x0/0xd4) from [<c0020b00>] (ret_fast_syscall+0x0/0x2c)
        r7:00000015 r6:be8b6ad0 r5:be8b6aa8 r4:00000000
      ---[ end trace 55e1b689cf8c8a6a ]---
      /etc/rc6.d/S60umountroot: line 17:  1462 Segmentation fault      mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2> /dev/null
      
      The new super.c:nfs_remount function doesn't check the validity of the
      options/options4 pointers. Unfortunately, this seems to happend.
      The obvious patch seems to check the pointers, and not to do anything if
      the happend to be NULL.
      
      Tested on an XScale PXA255 system, latest git.
      
      Regards,
      
      	M.
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@altran.com>
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      31c94469
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 · 837b41b5
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
        firewire: state userland requirements in Kconfig help
        firewire: avoid memleak after phy config transmit failure
        firewire: fw-ohci: TSB43AB22/A dualbuffer workaround
        firewire: queue the right number of data
        firewire: warn on unfinished transactions during card removal
        firewire: small fw_fill_request cleanup
        firewire: fully initialize fw_transaction before marking it pending
        firewire: fix race of bus reset with request transmission
      837b41b5
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 · 211c8d49
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (59 commits)
        [SCSI] replace __FUNCTION__ with __func__
        [SCSI] extend the last_sector_bug flag to cover more sectors
        [SCSI] qla2xxx: Update version number to 8.02.01-k6.
        [SCSI] qla2xxx: Additional NPIV corrections.
        [SCSI] qla2xxx: suppress uninitialized-var warning
        [SCSI] qla2xxx: use memory_read_from_buffer()
        [SCSI] qla2xxx: Issue proper ISP callbacks during stop-firmware.
        [SCSI] ch: fix ch_remove oops
        [SCSI] 3w-9xxx: add MSI support and misc fixes
        [SCSI] scsi_lib: use blk_rq_tagged in scsi_request_fn
        [SCSI] ibmvfc: Update driver version to 1.0.1
        [SCSI] ibmvfc: Add ADISC support
        [SCSI] ibmvfc: Miscellaneous fixes
        [SCSI] ibmvfc: Fix hang on module removal
        [SCSI] ibmvfc: Target refcounting fixes
        [SCSI] ibmvfc: Reduce unnecessary log noise
        [SCSI] sym53c8xx: free luntbl in sym_hcb_free
        [SCSI] scsi_scan.c: Release mutex in error handling code
        [SCSI] scsi_eh_prep_cmnd should save scmd->underflow
        [SCSI] sd: Support for SCSI disk (SBC) Data Integrity Field
        ...
      211c8d49
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 · 7a82323d
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
        avr32: some mmc/sd cleanups
        include/video/atmel_lcdc.h must #include <linux/workqueue.h>
        avr32: allow system timer to share interrupt to make OProfile work
        drivers/misc/atmel-ssc.c: Removed duplicated include
        avr32: Add platform data for AC97C platform device
        avr32: clean up mci platform code
        fix avr32 build errors
      7a82323d
    • Linus Torvalds's avatar
      Merge branch 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm · b0d8aa08
      Linus Torvalds authored
      * 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:
        KVM: ppc: fix invalidation of large guest pages
        KVM: s390: Fix possible host kernel bug on lctl(g) handling
        KVM: s390: Fix instruction naming for lctlg
        KVM: s390: Fix program check on interrupt delivery handling
        KVM: s390: Change guestaddr type in gaccess
        KVM: s390: Fix guest kconfig
        KVM: s390: Advertise KVM_CAP_USER_MEMORY
        KVM: ia64: Fix irq disabling leak in error handling code
        KVM: VMX: Fix undefined beaviour of EPT after reload kvm-intel.ko
        KVM: VMX: Fix bypass_guest_pf enabling when disable EPT in module parameter
        KVM: task switch: translate guest segment limit to virt-extension byte granular field
        KVM: Avoid instruction emulation when event delivery is pending
        KVM: task switch: use seg regs provided by subarch instead of reading from GDT
        KVM: task switch: segment base is linear address
        KVM: SVM: allow enabling/disabling NPT by reloading only the architecture module
      b0d8aa08
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next · 6948385c
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits)
        setlocalversion: do not describe if there is nothing to describe
        kconfig: fix typos: "Suport" -> "Support"
        kconfig: make defconfig is no longer chatty
        kconfig: make oldconfig is now less chatty
        kconfig: speed up all*config + randconfig
        kconfig: set all new symbols automatically
        kconfig: add diffconfig utility
        kbuild: remove Module.markers during mrproper
        kbuild: sparse needs CF not CHECKFLAGS
        kernel-doc: handle/strip __init
        vmlinux.lds: move __attribute__((__cold__)) functions back into final .text section
        init: fix URL of "The GNU Accounting Utilities"
        kbuild: add arch/$ARCH/include to search path
        kbuild: asm symlink support for arch/$ARCH/include
        kbuild: support arch/$ARCH/include for tags, cscope
        kbuild: prepare headers_* for arch/$ARCH/include
        kbuild: install all headers when arch is changed
        kbuild: make clean removes *.o.* as well
        kbuild: optimize headers_* targets
        kbuild: only one call for include/ in make headers_*
        ...
      6948385c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 7a76d892
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: talitos - sparse fix
        crypto: talitos - Stop leaking memory in error path
        crypto: talitos - Fix GFP flag usage
        crypto: talitos - Preempt overflow interrupts
        crypto: talitos - Correct dst != src case handling
        crypto: talitos - Remove calls to of_node_put
      7a76d892
    • Linus Torvalds's avatar
    • Stephen Rothwell's avatar
      isdn: mISDN HFC PCI support depends on virt_to_bus() · 13ffc32e
      Stephen Rothwell authored
      On powerpc (allyesconfig build) we get this error:
      
      drivers/isdn/hardware/mISDN/hfcpci.c:1991: error: implicit declaration of function 'virt_to_bus'
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      13ffc32e
    • Andrea Righi's avatar
      task IO accounting: improve code readability · 5995477a
      Andrea Righi authored
      Put all i/o statistics in struct proc_io_accounting and use inline functions to
      initialize and increment statistics, removing a lot of single variable
      assignments.
      
      This also reduces the kernel size as following (with CONFIG_TASK_XACCT=y and
      CONFIG_TASK_IO_ACCOUNTING=y).
      
          text    data     bss     dec     hex filename
         11651       0       0   11651    2d83 kernel/exit.o.before
         11619       0       0   11619    2d63 kernel/exit.o.after
         10886     132     136   11154    2b92 kernel/fork.o.before
         10758     132     136   11026    2b12 kernel/fork.o.after
      
       3082029  807968 4818600 8708597  84e1f5 vmlinux.o.before
       3081869  807968 4818600 8708437  84e155 vmlinux.o.after
      Signed-off-by: default avatarAndrea Righi <righi.andrea@gmail.com>
      Acked-by: default avatarOleg Nesterov <oleg@tv-sign.ru>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5995477a
    • Andrea Righi's avatar
      tracing: remove unused variable · 605ccb73
      Andrea Righi authored
      Remove the following warning with CONFIG_TRACING=y:
      
      	kernel/trace/trace.c: In function ‘s_next’:
      	kernel/trace/trace.c:1186: warning: unused variable ‘last_ent’
      Signed-off-by: default avatarAndrea Righi <righi.andrea@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      605ccb73
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 37561442
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel).
        ALSA: cs4232: fix crash during chip PNP detection
        ALSA: hda - Add automatic model setting for the Acer Aspire 5920G laptop
        ALSA: make snd_ac97_add_vmaster() static
        ALSA: sound/pci/azt3328.h: no variables for enums
        ALSA: soc - wm9712 mono mixer
        ALSA: hda - Add support of ASUS Eeepc P90*
        ALSA: opti9xx: no isapnp param for !CONFIG_PNP
        ALSA: opti93x - Fix NULL dereference
        ALSA: hda - Added support for Asus V1Sn
        ALSA: ASoC: Factor PGA DAPM handling into main
        ALSA: ASoC: Refactor DAPM event handler
        ALSA: ALSA: ens1370: communicate PCI device to AC97
        ALSA: ens1370: SRC stands for Sample Rate Converter
        ALSA: hda - Align BDL position adjustment parameter
        ALSA: Au1xpsc: psc not disabled when TX is idle
        ALSA: add TriTech 28023 AC97 codec ID and Wolfson 9701 name.
      37561442
    • Al Viro's avatar
      missing bits of net-namespace / sysctl · eeb61f71
      Al Viro authored
      Piss-poor sysctl registration API strikes again, film at 11...
      
      What we really need is _pathname_ required to be present in already
      registered table, so that kernel could warn about bad order.  That's the
      next target for sysctl stuff (and generally saner and more explicit
      order of initialization of ipv[46] internals wouldn't hurt either).
      
      For the time being, here are full fixups required by ..._rotable()
      stuff; we make per-net sysctl sets descendents of "ro" one and make sure
      that sufficient skeleton is there before we start registering per-net
      sysctls.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      eeb61f71
    • Al Viro's avatar
      lost sysctl fix · bfbcf034
      Al Viro authored
      try_attach() should walk into the matching subdirectory, not the first one...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Tested-by: Valdis.Kletnieks@vt.edu
      Tested-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bfbcf034
    • Karsten Keil's avatar
      Fix namespace issue with Hisax · c5b61d59
      Karsten Keil authored
      you can pull this  git://git./linux/kernel/git/kkeil/ISDN-2.6 master
      
      rename release_tei() to TEIrelease() because release_tei() was
      already exported bei the old HiSax driver.
      Signed-off-by: default avatarKarsten Keil <kkeil@suse.de>
      c5b61d59
    • Harvey Harrison's avatar
      [SCSI] replace __FUNCTION__ with __func__ · cadbd4a5
      Harvey Harrison authored
      [jejb: fixed up a ton of missed conversions.
      
       All of you are on notice this has happened, driver trees will now
       need to be rebased]
      Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
      Cc: SCSI List <linux-scsi@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
      cadbd4a5
    • Alan Jenkins's avatar
      [SCSI] extend the last_sector_bug flag to cover more sectors · 2b142900
      Alan Jenkins authored
      The last_sector_bug flag was added to work around a bug in certain usb
      cardreaders, where they would crash if a multiple sector read included the
      last sector. The original implementation avoids this by e.g. splitting an 8
      sector read which includes the last sector into a 7 sector read, and a single
      sector read for the last sector.  The flag is enabled for all USB devices.
      
      This revealed a second bug in other usb cardreaders, which crash when they
      get a multiple sector read which stops 1 sector short of the last sector.
      Affected hardware includes the Kingston "MobileLite" external USB cardreader
      and the internal USB cardreader on the Asus EeePC.
      
      Extend the last_sector_bug workaround to ensure that any access which touches
      the last 8 hardware sectors of the device is a single sector long.  Requests
      are shrunk as necessary to meet this constraint.
      
      This gives us a safety margin against potential unknown or future bugs
      affecting multi-sector access to the end of the device.  The two known bugs
      only affect the last 2 sectors.  However, they suggest that these devices
      are prone to fencepost errors and that multi-sector access to the end of the
      device is not well tested.  Popular OS's use multi-sector accesses, but they
      rarely read the last few sectors.  Linux (with udev & vol_id) automatically
      reads sectors from the end of the device on insertion.  It is assumed that
      single sector accesses are more thoroughly tested during development.
      Signed-off-by: default avatarAlan Jenkins <alan-jenkins@tuffmail.co.uk>
      Tested-by: default avatarAlan Jenkins <alan-jenkins@tuffmail.co.uk>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
      2b142900
    • David Brownell's avatar
      avr32: some mmc/sd cleanups · 3c26e170
      David Brownell authored
      Minor cleanups for the MMC/SD support on avr32:
      
       - Make at32_add_device_mci() properly initialize "missing"
         platform data ... so boards like STK1002 won't try GPIO 0.
      
       - Switch over to gpio_is_valid() instead of testing for only
         one designated value.
      
       - Provide STK1002 platform data for the unlikely case that
         switches are set so first Ethernet controller isn't in use.
         (That's the only way to get card detect and writeprotect
         switch sensing on the STK1000.)
      
      And get rid of one "unused variable" warning.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
      3c26e170
    • Haavard Skinnemoen's avatar
      Merge commit 'upstream/master' · eda3d8f5
      Haavard Skinnemoen authored
      eda3d8f5
    • Hollis Blanchard's avatar
      KVM: ppc: fix invalidation of large guest pages · cc04454f
      Hollis Blanchard authored
      When guest invalidates a large tlb map, there may be more than one
      corresponding shadow tlb maps that need to be invalidated. Use eaddr and eend
      to find these shadow tlb maps.
      Signed-off-by: default avatarLiu Yu <yu.liu@freescale.com>
      Signed-off-by: default avatarHollis Blanchard <hollisb@us.ibm.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      cc04454f
    • Christian Borntraeger's avatar
      KVM: s390: Fix possible host kernel bug on lctl(g) handling · 5a00a5e7
      Christian Borntraeger authored
      The lctl(g) instructions require a specific alignment for the parameters.
      The architecture requires a specification program check if these alignments
      are not used. Enforcing this alignment also removes a possible host BUG,
      since the get_guest functions check for proper alignment and emits a BUG.
      Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      5a00a5e7
    • Christian Borntraeger's avatar
      KVM: s390: Fix instruction naming for lctlg · f5e10b09
      Christian Borntraeger authored
      Lets fix the name for the lctlg instruction...
      Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      f5e10b09
    • Christian Borntraeger's avatar
      KVM: s390: Fix program check on interrupt delivery handling · 3cd61299
      Christian Borntraeger authored
      The current interrupt handling on s390 misbehaves on an error case. On s390
      each cpu has the prefix area (lowcore) for interrupt delivery. This memory
      must always be available. If we fail to access the prefix area for a guest
      on interrupt delivery the configuration is completely unusable. There is no
      point in sending another program interrupt to an inaccessible lowcore.
      Furthermore, we should not bug the host kernel, because this can be triggered
      by userspace. I think the guest kernel itself can not trigger the problem, as
      SET PREFIX and SIGNAL PROCESSOR SET PREFIX both check that the memory is
      available and sane. As this is a userspace bug (e.g. setting the wrong guest
      offset, unmapping guest memory) we should kill the userspace process instead
      of BUGing the host kernel.
      In the long term we probably should notify the userspace process about this
      problem.
      Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      3cd61299
    • Martin Schwidefsky's avatar
      KVM: s390: Change guestaddr type in gaccess · 0096369d
      Martin Schwidefsky authored
      All registers are unsigned long types. This patch changes all occurences
      of guestaddr in gaccess from u64 to unsigned long.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      0096369d
    • Christian Borntraeger's avatar
      KVM: s390: Fix guest kconfig · 99e65c92
      Christian Borntraeger authored
      Cornelia Huck noticed that a modular virtio without kvm guest support
      leads to a build error in the s390 virtio transport:
      
      CONFIG_VIRTIO=m leads to
      ERROR: "vmem_add_mapping" [drivers/s390/kvm/kvm_virtio.ko] undefined!
      ERROR: "max_pfn" [drivers/s390/kvm/kvm_virtio.ko] undefined!
      ERROR: "vmem_remove_mapping" [drivers/s390/kvm/kvm_virtio.ko] undefined!
      
      The virtio transport only works with kvm guest support and only as a
      builtin. Lets change the build process of drivers/s390/kvm/kvm_virtio.c
      to depend on kvm guest support, which is also a bool.
      
      CONFIG_S390_GUEST already selects CONFIG_VIRTIO, that should prevent
      CONFIG_S390_GUEST=y CONFIG_VIRTIO=n situations.
      
      CC: Cornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      99e65c92
    • Carsten Otte's avatar
      KVM: s390: Advertise KVM_CAP_USER_MEMORY · 2bd0ac4e
      Carsten Otte authored
      KVM_CAP_USER_MEMORY is used by s390, therefore, we should advertise it.
      Signed-off-by: default avatarCarsten Otte <cotte@de.ibm.com>
      Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      2bd0ac4e
    • Julia Lawall's avatar
      KVM: ia64: Fix irq disabling leak in error handling code · cab7a1ee
      Julia Lawall authored
      There is a call to local_irq_restore in the normal exit case, so it would
      seem that there should be one on an error return as well.
      
      The semantic patch that finds this problem is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @@
      expression l;
      expression E,E1,E2;
      @@
      
      local_irq_save(l);
      ... when != local_irq_restore(l)
          when != spin_unlock_irqrestore(E,l)
          when any
          when strict
      (
      if (...) { ... when != local_irq_restore(l)
                     when != spin_unlock_irqrestore(E1,l)
      +   local_irq_restore(l);
          return ...;
      }
      |
      if (...)
      +   {local_irq_restore(l);
          return ...;
      +   }
      |
      spin_unlock_irqrestore(E2,l);
      |
      local_irq_restore(l);
      )
      // </smpl>
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      cab7a1ee
    • Sheng Yang's avatar
      KVM: VMX: Fix undefined beaviour of EPT after reload kvm-intel.ko · 5fdbcb9d
      Sheng Yang authored
      As well as move set base/mask ptes to vmx_init().
      Signed-off-by: default avatarSheng Yang <sheng.yang@intel.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      5fdbcb9d
    • Sheng Yang's avatar
    • Marcelo Tosatti's avatar
      KVM: task switch: translate guest segment limit to virt-extension byte granular field · c93cd3a5
      Marcelo Tosatti authored
      If 'g' is one then limit is 4kb granular.
      Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      c93cd3a5
    • Avi Kivity's avatar
      KVM: Avoid instruction emulation when event delivery is pending · 577bdc49
      Avi Kivity authored
      When an event (such as an interrupt) is injected, and the stack is
      shadowed (and therefore write protected), the guest will exit.  The
      current code will see that the stack is shadowed and emulate a few
      instructions, each time postponing the injection.  Eventually the
      injection may succeed, but at that time the guest may be unwilling
      to accept the interrupt (for example, the TPR may have changed).
      
      This occurs every once in a while during a Windows 2008 boot.
      
      Fix by unshadowing the fault address if the fault was due to an event
      injection.
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      577bdc49
    • Marcelo Tosatti's avatar
      KVM: task switch: use seg regs provided by subarch instead of reading from GDT · 34198bf8
      Marcelo Tosatti authored
      There is no guarantee that the old TSS descriptor in the GDT contains
      the proper base address. This is the case for Windows installation's
      reboot-via-triplefault.
      
      Use guest registers instead. Also translate the address properly.
      Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      34198bf8
    • Marcelo Tosatti's avatar
      KVM: task switch: segment base is linear address · 98899aa0
      Marcelo Tosatti authored
      The segment base is always a linear address, so translate before
      accessing guest memory.
      Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      98899aa0
    • Joerg Roedel's avatar
      KVM: SVM: allow enabling/disabling NPT by reloading only the architecture module · 5f4cb662
      Joerg Roedel authored
      If NPT is enabled after loading both KVM modules on AMD and it should be
      disabled, both KVM modules must be reloaded. If only the architecture module is
      reloaded the behavior is undefined. With this patch it is possible to disable
      NPT only by reloading the kvm_amd module.
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      5f4cb662
    • Nicolas Boichat's avatar
      ALSA: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel). · 536319af
      Nicolas Boichat authored
      Currently, even if you pass model=intel-mac-v3 as a module parameter to
      snd_hda_intel, the function patch_stac922x (patch_sigmatel.c) will still
      try to auto-detect the model type. This is a problem on my MacBook Pro 1st
      generation, which needs intel-mac-v3, but sometimes incorrectly reports
      0x00000100 as subsystem id, which causes the switch in patch_stac922x to
      select intel-mac-v4.
      
      To fix this, I added a new model called intel-mac-auto, so in case no
      module parameter is passed, and an Intel Mac board is detected, the
      model will be automatically detected, while no detection will be done
      if the model is forced to intel-mac-v3.
      
      This problem has been around for quite a while, and I used to fix it
      by moving the case statement for 0x00000100 in patch_stac922x so that
      intel-mac-v3 is chosen.
      
      Another way to fix the problem would be to check if a module parameter
      was set directly in patch_stac922x, using something like this:
      if (spec->board_config == STAC_INTEL_MAC_V3 &&
      	!codec->bus->modelname) {
      
      But I think it is less elegant (if you prefer that way, I can prepare a
      patch).
      Signed-off-by: default avatarNicolas Boichat <nicolas@boichat.ch>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      536319af
    • Krzysztof Helt's avatar
      ALSA: cs4232: fix crash during chip PNP detection · b15ebe26
      Krzysztof Helt authored
      The acard->wss pointer is uninitialized in this function
      which leads to crash during chip PNP detection.
      Signed-off-by: default avatarKrzysztof Helt <krzysztof.h1@wp.pl>
      Acked-by: default avatarRene Herman <rene.herman@gmail.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b15ebe26
    • Travis Place's avatar
      ALSA: hda - Add automatic model setting for the Acer Aspire 5920G laptop · fe7e873f
      Travis Place authored
      Make the Acer Aspire 5920G (1025:0121) select ALC883_ACER_ASPIRE
      by default.
      Signed-off-by: default avatarTravis Place <wishie@wishie.net>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fe7e873f
    • Adrian Bunk's avatar
      ALSA: make snd_ac97_add_vmaster() static · 13c2108d
      Adrian Bunk authored
      This patch makes the needlessly global snd_ac97_add_vmaster() static.
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      13c2108d
    • Adrian Bunk's avatar
      ALSA: sound/pci/azt3328.h: no variables for enums · 6aa1e464
      Adrian Bunk authored
      AZF_FREQUENCIES and AZF_GAME_CONFIGS were variables, and this doesn't
      seem to have been intended.
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Acked-by: default avatarAndreas Mohr <andi@lisas.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6aa1e464