1. 01 Nov, 2008 11 commits
    • Al Viro's avatar
      oss: fix O_NONBLOCK in dmasound_core · 4b30fbde
      Al Viro authored
      We broke O_NONBLOCK handling in OSS dmasound_core in 2.3.11-pre3 - the
      original code copied f_flags to open_mode and then checked for
      O_NONBLOCK in there, but that got changed to copying f_mode and
      O_NONBLOCK has not reached that field in any kernel version.
      
      Since we do not care for any other bits, the fix is obvious...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4b30fbde
    • Linus Torvalds's avatar
      Merge branch 'x86-fixes-for-linus' of... · 67d11284
      Linus Torvalds authored
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86: fix AMDC1E and XTOPOLOGY conflict in cpufeature
        x86: build fix
      67d11284
    • Huang Weiyi's avatar
      init/do_mounts_md.c: remove duplicated #include · d3f15800
      Huang Weiyi authored
      Removed duplicated #include <linux/delay.h> in init/do_mounts_md.c.
      
      The same compile error ("error: implicit declaration of function
      'msleep'") got fixed twice:
      
       - f8b77d39 ("init/do_mounts_md.c:
         msleep compile fix")
      
       - 73b4a24f ("init/do_mounts_md.c must
         #include <linux/delay.h>")
      
      by people adding the <linux/delay.h> include in two slightly different
      places.  Andrew's quilt scripts happily ignore the fuzz, and will
      re-apply the patch even though they had conflicts.
      Signed-off-by: default avatarHuang Weiyi <weiyi.huang@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d3f15800
    • Linus Torvalds's avatar
      x86: Clean up late e820 resource allocation · 1f987577
      Linus Torvalds authored
      This makes the late e820 resources use 'insert_resource_expand_to_fit()'
      instead of doing a 'reserve_region_with_split()', and also avoids
      marking them as IORESOURCE_BUSY.
      
      This results in us being perfectly happy to use pre-existing PCI
      resources even if they were marked as being in a reserved region, while
      still avoiding any _new_ allocations in the reserved regions.  It also
      makes for a simpler and more accurate resource tree.
      
      Example resource allocation from Jonathan Corbet, who has firmware that
      has an e820 reserved entry that covered a big range (e0000000-fed003ff),
      and that had various PCI resources in it set up by firmware.
      
      With old kernels, the reserved range would force us to re-allocate all
      pre-existing PCI resources, and his reserved range would end up looking
      like this:
      
      	e0000000-fed003ff : reserved
      	  fec00000-fec00fff : IOAPIC 0
      	  fed00000-fed003ff : HPET 0
      
      where only the pre-allocated special regions (IOAPIC and HPET) were kept
      around.
      
      With 2.6.28-rc2, which uses 'reserve_region_with_split()', Jonathan's
      resource tree looked like this:
      
      	e0000000-fe7fffff : reserved
      	fe800000-fe8fffff : PCI Bus 0000:01
      	 fe800000-fe8fffff : reserved
      	fe900000-fe9d9aff : reserved
      	fe9d9b00-fe9d9bff : 0000:00:1f.3
      	 fe9d9b00-fe9d9bff : reserved
      	fe9d9c00-fe9d9fff : 0000:00:1a.7
      	 fe9d9c00-fe9d9fff : reserved
      	fe9da000-fe9dafff : 0000:00:03.3
      	 fe9da000-fe9dafff : reserved
      	fe9db000-fe9dbfff : 0000:00:19.0
      	 fe9db000-fe9dbfff : reserved
      	fe9dc000-fe9dffff : 0000:00:1b.0
      	 fe9dc000-fe9dffff : reserved
      	fe9e0000-fe9fffff : 0000:00:19.0
      	 fe9e0000-fe9fffff : reserved
      	fea00000-fea7ffff : 0000:00:02.0
      	 fea00000-fea7ffff : reserved
      	fea80000-feafffff : 0000:00:02.1
      	 fea80000-feafffff : reserved
      	feb00000-febfffff : 0000:00:02.0
      	 feb00000-febfffff : reserved
      	fec00000-fed003ff : reserved
      	 fec00000-fec00fff : IOAPIC 0
      	 fed00000-fed003ff : HPET 0
      
      and because the reserved entry had been split and moved into the
      individual resources, and because it used the IORESOURCE_BUSY flag, the
      drivers that actually wanted to _use_ those resources couldn't actually
      attach to them:
      
      	e1000e 0000:00:19.0: BAR 0: can't reserve mem region [0xfe9e0000-0xfe9fffff]
      	HDA Intel 0000:00:1b.0: BAR 0: can't reserve mem region [0xfe9dc000-0xfe9dffff]
      
      with this patch, the resource tree instead becomes
      
      	e0000000-fed003ff : reserved
      	  fe800000-fe8fffff : PCI Bus 0000:01
      	  fe9d9b00-fe9d9bff : 0000:00:1f.3
      	  fe9d9c00-fe9d9fff : 0000:00:1a.7
      	    fe9d9c00-fe9d9fff : ehci_hcd
      	  fe9da000-fe9dafff : 0000:00:03.3
      	  fe9db000-fe9dbfff : 0000:00:19.0
      	    fe9db000-fe9dbfff : e1000e
      	  fe9dc000-fe9dffff : 0000:00:1b.0
      	    fe9dc000-fe9dffff : ICH HD audio
      	  fe9e0000-fe9fffff : 0000:00:19.0
      	    fe9e0000-fe9fffff : e1000e
      	  fea00000-fea7ffff : 0000:00:02.0
      	  fea80000-feafffff : 0000:00:02.1
      	  feb00000-febfffff : 0000:00:02.0
      	  fec00000-fec00fff : IOAPIC 0
      	  fed00000-fed003ff : HPET 0
      
      ie the one reserved region now ends up surrounding all the PCI resources
      that were allocated inside of it by firmware, and because it is not
      marked BUSY, drivers have no problem attaching to the pre-allocated
      resources.
      Reported-and-tested-by: default avatarJonathan Corbet <corbet@lwn.net>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Robert Hancock <hancockr@shaw.ca>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1f987577
    • Linus Torvalds's avatar
      reserve_region_with_split: Fix GFP_KERNEL usage under spinlock · 42c02023
      Linus Torvalds authored
      This one apparently doesn't generate any warnings, because the function
      is only used during system bootup, when the warnings are disabled.  But
      it's still very wrong.
      
      The __reserve_region_with_split() function is called with the
      resource_lock held for writing, so it must only ever do GFP_ATOMIC
      allocations.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      42c02023
    • Linus Torvalds's avatar
      Merge branch 'link_removal' of git://www.jni.nu/cris · cdce1f09
      Linus Torvalds authored
      * 'link_removal' of git://www.jni.nu/cris:
        [CRIS] Remove links from CRIS build
        [CRIS] Merge asm-offsets.c for both arches into one file.
      cdce1f09
    • Linus Torvalds's avatar
      Merge branch 'cris_move' of git://www.jni.nu/cris · 0242909a
      Linus Torvalds authored
      * 'cris_move' of git://www.jni.nu/cris:
        [CRIS] Move header files from include to arch/cris/include.
        [CRISv32] Remove warning in io.h
      0242909a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of... · 0a6d2fac
      Linus Torvalds authored
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
        SELinux: properly handle empty tty_files list
      0a6d2fac
    • Huang Weiyi's avatar
      remove unused #include <version.h>'s · 76f8bef0
      Huang Weiyi authored
      The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION.
        drivers/leds/leds-hp-disk.c
        drivers/misc/panasonic-laptop.c
      
      This patch removes the said #include <version.h>.
      Signed-off-by: default avatarHuang Weiyi <weiyi.huang@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      76f8bef0
    • Al Viro's avatar
      saner FASYNC handling on file close · 233e70f4
      Al Viro authored
      As it is, all instances of ->release() for files that have ->fasync()
      need to remember to evict file from fasync lists; forgetting that
      creates a hole and we actually have a bunch that *does* forget.
      
      So let's keep our lives simple - let __fput() check FASYNC in
      file->f_flags and call ->fasync() there if it's been set.  And lose that
      crap in ->release() instances - leaving it there is still valid, but we
      don't have to bother anymore.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      233e70f4
    • Serge Hallyn's avatar
      file caps: always start with clear bprm->caps_* · 3318a386
      Serge Hallyn authored
      While Linux doesn't honor setuid on scripts.  However, it mistakenly
      behaves differently for file capabilities.
      
      This patch fixes that behavior by making sure that get_file_caps()
      begins with empty bprm->caps_*.  That way when a script is loaded,
      its bprm->caps_* may be filled when binfmt_misc calls prepare_binprm(),
      but they will be cleared again when binfmt_elf calls prepare_binprm()
      next to read the interpreter's file capabilities.
      Signed-off-by: default avatarSerge Hallyn <serue@us.ibm.com>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarAndrew G. Morgan <morgan@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3318a386
  2. 31 Oct, 2008 29 commits