1. 04 Feb, 2004 40 commits
    • Linus Torvalds's avatar
      Merge bk://gkernel.bkbits.net/net-drivers-2.5 · 13d06909
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      13d06909
    • Stephen C. Tweedie's avatar
      [PATCH] Fix block device inode list corruptions · 2cecfc0f
      Stephen C. Tweedie authored
      I've been chasing a weird SELinux bug which shows up mostly when doing
      installs of a dev-* rpm (ie. creating and overwriting lots of block
      device inodes), but which I've also seen when doing mkinitrd.
      
      It turned out not to be an SELinux problem at all, but a core VFS
      S_ISBLK bug.  It seems that SELinux simply widens the race window.
      
      The code at fault is fs/fs-writeback.c:__mark_inode_dirty():
      
      		/*
      		 * Only add valid (hashed) inodes to the superblock's
      		 * dirty list.  Add blockdev inodes as well.
      		 */
      		if (!S_ISBLK(inode->i_mode)) {
      			if (hlist_unhashed(&inode->i_hash))
      				goto out;
      			if (inode->i_state & (I_FREEING|I_CLEAR))
      				goto out;
      		}
      
      The "I_FREEING|I_CLEAR" condition was added after the ISBLK/unhashed
      tests were already in the source, but I can't see any reason why we'd
      want the I_FREEING test not to apply to block devices.  And indeed, this
      results in all sorts of inode list corruptions.  Simply moving the
      I_FREEING|I_CLEAR test out of the protection of the S_ISBLK() condition
      fixes things entirely.
      
      The existing 2.6 kernel will reliably fail on me in about 2 seconds once
      "rpm -Uvh --force dev*.rpm" starts its actual installation of the new
      inodes.  With the patch below I can't reproduce it at all.
      2cecfc0f
    • Andrew Morton's avatar
      [PATCH] Fix ptrace in the vsyscall dso area · 4df5d868
      Andrew Morton authored
      From: Roland McGrath <roland@redhat.com>
      
      The #include is the part of this patch that matters, so the #ifdef below
      works.
      
      The rest of the patch removes gratuitous duplication due to some strange
      aversion to concision in the presence of #ifdef, the kind that is all too
      common, utterly pointless, and error prone.
      4df5d868
    • Andrew Morton's avatar
      [PATCH] Altix update: pci_bus_cvlink.c fixes · f33ce2f4
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      rch/ia64/sn/io/machvec/pci_bus_cvlink.c
          Some pretty-print mods
          Use pin instead of slot for dma_flush init
      f33ce2f4
    • Andrew Morton's avatar
      [PATCH] Altix update: pci_bus_cvlink.c fixes · 0edc3a3c
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      arch/ia64/sn/io/machvec/pci_bus_cvlink.c
          Couple of checks for kmalloc <= 0 were fixed
          Some __init and static fixes
      0edc3a3c
    • Andrew Morton's avatar
      [PATCH] Altix update: irq fixes · 1140a0c3
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      arch/ia64/sn/kernel/irq.c
          Need to get the cpu from the passed in pcibr struct
          Made the interrupt list static and gave it a better name - credit jes
          Some lindent'isms
          Took out some code that isn't used ..... yet
      1140a0c3
    • Andrew Morton's avatar
      [PATCH] Altix update: remove pcibr_intr_func() · 4046f9fb
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_intr.c
          Kill pcibr_intr_func()
      4046f9fb
    • Andrew Morton's avatar
      [PATCH] Altix update: VGA, keyboard, other changes · 15809d37
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      arch/ia64/sn/kernel/setup.c
      
          If generic enabled legacy VGA or kbd - disable them
          Slightly different check for work arounds and only do it once
          If there is no klconfig info and we are in the simulator - ignore it
          Update the pxm_to_nasid() routine. It failed for SP configurations and some
          SMP configurations where M-bricks used pxm numbers lower that the first
          c-brick.
          If we don't find the cpu for pxm, search the memblks for it.
      15809d37
    • Andrew Morton's avatar
      [PATCH] Altix update: early_probe_for_widget() improvement · e1612f52
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      arch/ia64/sn/io/sn2/ml_iograph.c
          Better code for early_probe_for_widget()
      e1612f52
    • Andrew Morton's avatar
      [PATCH] Altix update: pcibr_invalidate_ate check · f64cae79
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_ate.c
          check for pcibr_invalidate_ate 0 used for debugging
      f64cae79
    • Andrew Morton's avatar
      [PATCH] Altix update: io changes · c03b9444
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      arch/ia64/sn/io/platform_init/sgi_io_init.c
         use numionodes instead of numnodes
      
      arch/ia64/sn/io/sn2/klconflib.c
          find_lboard changes - generalized a number of the interface funcs
      
      arch/ia64/sn/io/sn2/klgraph.c
          call the more general find_lboard funcs
      
      arch/ia64/sn/io/sn2/ml_iograph.c
          call the more general lboard funcs
      
      arch/ia64/sn/io/sn2/module.c
          lboard changes
          mod for headless/memless nodes
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c
          isIO9 mod
      
      arch/ia64/sn/kernel/setup.c
          headless/memless mod
      
      include/asm-ia64/sn/klconfig.h
          generalized find_lboard funs
      c03b9444
    • Andrew Morton's avatar
      [PATCH] Altix update: add MINIMAL_ATE_FLAG · f1128252
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      arch/ia64/sn/io/machvec/pci_dma.c
          Add MINIMAL_ATE_FLAGS() macro usage
      
      include/asm-ia64/sn/pci/pcibr.h
          Add MINIMAL_ATE_FLAG() macro
      f1128252
    • Andrew Morton's avatar
      [PATCH] Altix update: misc changes · 7e18f50e
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c
          extern for pcibr_rrb_alloc_more()
      
      include/asm-ia64/sn/pci/pcibr_private.h
          more unsigned to unsigned int
      7e18f50e
    • Andrew Morton's avatar
      [PATCH] Altix update: small cleanups · 19cb8137
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      arch/ia64/sn/io/io.c@1.12
          misc code cleanup
          no parens on returns
          remove __psunsigned_t
      
      arch/ia64/sn/io/sn2/ml_iograph.c@1.18
          no parens on returns
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c@1.25
          no parens on returns
          use -errno
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_hints.c@1.8
          no parens on returns
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_intr.c@1.15
          no parens on returns
          unsigned to unsigned int
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_rrb.c@1.13
          no parens on returns
          use -errno
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_slot.c@1.18
          no parens on returns
          use -errno
      
      arch/ia64/sn/io/sn2/pciio.c@1.14
          oom handling
          removed ASSERT and funcs not needed
      
      arch/ia64/sn/io/sn2/pic.c@1.13
          use -errno
      
      arch/ia64/sn/io/sn2/shuberror.c@1.12
          add delay.h
      
      arch/ia64/sn/io/sn2/xbow.c@1.10
          include file clean up
      
      arch/ia64/sn/io/sn2/xtalk.c@1.9
          misc code cleanup
          no parens on returns
      
      arch/ia64/sn/io/xswitch.c@1.11
          misc code cleanup
      
      arch/ia64/sn/kernel/bte.c@1.5
          include file clean up
      
      arch/ia64/sn/kernel/mca.c@1.8
          include file clean up
      
      arch/ia64/sn/kernel/probe.c@1.5
          include file clean up
      
      arch/ia64/sn/kernel/sn2/prominfo_proc.c@1.3
          include file clean up
      
      arch/ia64/sn/kernel/sn2/sn2_smp.c@1.9
          include file clean up
      
      arch/ia64/sn/kernel/sn2/sn_proc_fs.c@1.4
          include file clean up
      
      drivers/char/sn_serial.c@1.3
          include file clean up
      
      include/asm-ia64/sn/addrs.h@1.8
          include file clean up
          remove __psunsigned_t
      
      include/asm-ia64/sn/alenlist.h@1.8
          unsigned to unsigned int
      
      include/asm-ia64/sn/arch.h@1.7
          include file clean up
      
      include/asm-ia64/sn/bte.h@1.6
          include file clean up
      
      include/asm-ia64/sn/clksupport.h@1.8
          include file clean up
      
      include/asm-ia64/sn/driver.h@1.5
          remove __psunsigned_t
      
      include/asm-ia64/sn/hcl.h@1.13
          include file clean up
      
      include/asm-ia64/sn/hcl_util.h@1.7
          include file clean up
      
      include/asm-ia64/sn/hwgfs.h@1.5
          include file clean up
      
      include/asm-ia64/sn/iograph.h@1.9
          include file clean up
      
      include/asm-ia64/sn/klconfig.h@1.14
          remove __psunsigned_t
      
      include/asm-ia64/sn/kldir.h@1.5
          remove __psunsigned_t
          include file clean up
      
      include/asm-ia64/sn/module.h@1.12
          include file clean up
      
      include/asm-ia64/sn/nodepda.h@1.14
          include file clean up
      
      include/asm-ia64/sn/pci/bridge.h@1.13
          uchar_t to unsigned char
      
      include/asm-ia64/sn/pci/pcibr_private.h@1.20
          move PVnnnnnn's
      
      include/asm-ia64/sn/pci/pciio.h@1.14
          unsigned to unsigned int
      
      include/asm-ia64/sn/pci/pciio_private.h@1.10
          unsigned to unsigned int
      
      include/asm-ia64/sn/pda.h@1.9
          include file clean up
      
      include/asm-ia64/sn/pio.h@1.7
          include file clean up
          ulong to unsigned long
      
      include/asm-ia64/sn/sgi.h@1.11
          include file clean up
          move PVnnnnnn's to here
      
      include/asm-ia64/sn/sn2/arch.h@1.6
          include file clean up
      
      include/asm-ia64/sn/sn2/sn_private.h@1.12
          include file clean up
          remove __psunsigned_t
      
      include/asm-ia64/sn/sn_cpuid.h@1.8
          include file clean up
      
      include/asm-ia64/sn/sn_private.h@1.6
          include file clean up
      
      include/asm-ia64/sn/types.h@1.6
          include file clean up
          remove __psunsigned_t
      
      include/asm-ia64/sn/vector.h@1.6
          include file clean up
      
      include/asm-ia64/sn/xtalk/xbow.h@1.9
          include file clean up
          misc code cleanup
      
      include/asm-ia64/sn/xtalk/xtalk.h@1.12
          unsigned to unsigned int
      
      include/asm-ia64/sn/xtalk/xwidget.h@1.8
          unsigned to unsigned int
      19cb8137
    • Andrew Morton's avatar
      [PATCH] Altix update: various, mainly cleanups · 4e15eda4
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      arch/ia64/sn/io/machvec/pci_bus_cvlink.c
          Changes for new pcireg_ interfaces
          pcibr reorg
          Some code cleanup/reorg
      
      arch/ia64/sn/io/machvec/pci_dma.c
          IS_PCIA64() not needed
      
      arch/ia64/sn/io/sn2/ml_iograph.c
          new pcireg_ interface
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_ate.c
          code reorg/clean up
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_config.c
          code reorg/cleanup
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c
          reorg/cleanup
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_error.c
          reorg/cleanup
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_intr.c
          reorg/cleanup
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_reg.c
          Fixed the interface to these functions - one call/data type
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_rrb.c
          reorg/cleanup
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_slot.c
          reorg/cleanup
      
      arch/ia64/sn/io/sn2/pciio.c
          removed unused functions
      
      arch/ia64/sn/io/sn2/pic.c
          reorg/cleanup
      
      arch/ia64/sn/kernel/irq.c
          IS_PIC_SOFT not needed
          mod for new pcireg_ interfaces
      
      include/asm-ia64/sn/module.h
          nodes/geoid[] -> MAX_SLABS
      
      include/asm-ia64/sn/pci/bridge.h
          IS_[X]BRIDGE not needed
      
      include/asm-ia64/sn/pci/pci_bus_cvlink.h
          SET_PCIA64 and IS_PCIA64 not needed
          isa64, dma_buf_sync, xbow_buf_sync gone
      
      include/asm-ia64/sn/pci/pcibr.h
          mostly cleanup
          some reorg mods
      
      include/asm-ia64/sn/pci/pcibr_private.h
          some reorg code
          protos for new pcireg_ interfaces
      
      include/asm-ia64/sn/pci/pciio.h
          cleanup
      
      include/asm-ia64/sn/pci/pic.h
          cleanup
      
      include/asm-ia64/sn/sn2/intr.h
          changed IA64_SN2_FIRST_DEVICE_VECTOR and IA64_SN2_LAST_DEVICE_VECTOR
      4e15eda4
    • Andrew Morton's avatar
      [PATCH] Fix x86-64 boot problem · 839401aa
      Andrew Morton authored
      From: Andi Kleen <ak@muc.de>
      
      Fix a bug introduced with the last merge that prevented booting with
      CONFIG_DEBUG_INFO on on x86-64.  It would corrupt registers in interrupts.
      This has hit a few people, so I would consider it as a critical fix.
      839401aa
    • Andrew Morton's avatar
      [PATCH] fix memory leak while coredumping · 8d849f5b
      Andrew Morton authored
      From: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
      
      This patch fixes a memory leak that happens when a core file hits the
      process's resource limit.
      8d849f5b
    • Andrew Morton's avatar
      [PATCH] SElinux compile fix · 4ec5d5d2
      Andrew Morton authored
      From: Geert Uytterhoeven <geert@linux-m68k.org>
      
      Spinlock code needs <linux/sched.h>
      4ec5d5d2
    • Andrew Morton's avatar
      [PATCH] DVB compile fix · d01de692
      Andrew Morton authored
      From: Geert Uytterhoeven <geert@linux-m68k.org>
      
      Never include <asm/delay.h> directly
      d01de692
    • Andrew Morton's avatar
      [PATCH] Hisax compile fix · c33955b8
      Andrew Morton authored
      From: Geert Uytterhoeven <geert@linux-m68k.org>
      
      Never include <asm/delay.h> directly
      c33955b8
    • Andrew Morton's avatar
      [PATCH] Specialix compile fix · 7c24a8bc
      Andrew Morton authored
      From: Geert Uytterhoeven <geert@linux-m68k.org>
      
      Compile fix: add missing #include <linux/init.h>
      7c24a8bc
    • Andrew Morton's avatar
      [PATCH] Moxa serial compile fixes · 7ae28324
      Andrew Morton authored
      From: Geert Uytterhoeven <geert@linux-m68k.org>
      
      Compile fixes for the Moxa serial drivers:
      
      - Add missing #include <linux/init.h>
      
      - Kill warning if CONFIG_PCI is not set
      7ae28324
    • Andrew Morton's avatar
      [PATCH] istallion compile fix · 03c3da32
      Andrew Morton authored
      From: Geert Uytterhoeven <geert@linux-m68k.org>
      
      Fix compilation if CONFIG_PCI is not set
      03c3da32
    • Andrew Morton's avatar
      [PATCH] fix compilation warnings in neofb.c · 796de28a
      Andrew Morton authored
      From: Junio C Hamano <junkio@cox.net>
      
      Compiling neofb.c without MTRR results in two "unused variable" warnings.
      796de28a
    • Andrew Morton's avatar
      [PATCH] ppp: try harder to allocate the deflate buffer · ce62093d
      Andrew Morton authored
      We're using a 4-order allocation in there and it can fail.  Change it to just
      keep reclaiming memory until something gives.
      ce62093d
    • Andrew Morton's avatar
      [PATCH] Remove the unused kmalloc_percpu_init() · 30575f5d
      Andrew Morton authored
      From: Martin Hicks <mort@wildopensource.com>
      
      This patch removes kmalloc_percpu_init() from include/linux/percpu.h
      
      It is unused and doesn't seem to be required.
      30575f5d
    • Andrew Morton's avatar
      [PATCH] missing export of cpu_2_node · 93467f4c
      Andrew Morton authored
      From: Patrick Mansfield <patmans@us.ibm.com>
      
      On NUMAQ, any module which calls __alloc_pages() needs cpu_2_node() (via
      cpu_to_node()).
      
      This patch exports cpu_2_node.
      93467f4c
    • Andrew Morton's avatar
      [PATCH] Remove uneeded dentry assignment · eb36334a
      Andrew Morton authored
      From: James Morris <jmorris@redhat.com>
      
      It seems to me that this dentry assignment in open_namei is not needed per
      the patch below.  On this path, dentry is not referenced.
      eb36334a
    • Andrew Morton's avatar
      [PATCH] CDROMREADAUDIO frames · 530c7720
      Andrew Morton authored
      From: Jens Axboe <axboe@suse.de>
      
      2.6 imposes a 64 frame limit where 2.4 does not (just relies on kmalloc()
      failing and limiting frames from that).  That breaks at least on guys app.
      With MSF adressing, it's much simpler to be able to ask for a full second
      at the time, so I think we should just allow that.  So bump the limit from
      64 to CD_FRAMES (which is 75).
      530c7720
    • Andrew Morton's avatar
      [PATCH] PCI Scan all functions · 04ab7a5e
      Andrew Morton authored
      From: Jake Moilanen <moilanen@austin.ibm.com>
      
      On a ppc64 logically partitioned system, there can be a setup where function
      0 of a PCI-PCI bridge is assigned to one partition and (for example) function
      2 is assigned to a second partition.  On the second partition, it would
      appear that function 0 does not exist, but function 2 does.  If all the
      functions are not scanned, everything under function 2 would not be detected.
      
      This patch allows devices that don't respond to function 0, but do respond to
      other functions to be marked with a quirk and have all of their functions
      scanned.
      04ab7a5e
    • Andrew Morton's avatar
      [PATCH] Move cpu_vm_mask to be closer to mmu_context_t in struct mm · 48ceccc1
      Andrew Morton authored
      From: Jack Steiner <steiner@sgi.com>
      
      The cpu_vm_mask use to be close to the mmu_context_t field in the mm
      struct.  Recently some large members were added between "cpu_vm_mask" and
      "context".  I suspect that was an oversight.
      
      Here is a patch that puts the fields close together.  This makes it likely
      that both fields are in the same cache line.  Since both fields are likely
      to be updated at the same time, this may improve performance.
      48ceccc1
    • Andrew Morton's avatar
      [PATCH] Lindent fixed to match reality · 9a76f566
      Andrew Morton authored
      From: Matt Mackall <mpm@selenic.com>
      
      I've been fiddling with cleaning up some old code here and suggest the
      following to make Lindent match actual practice more closely. This does:
      
      a) (no -psl)
      
      void *foo(void)
      {
      
       instead of
      
      void *
      foo(void) {
      
      b) (no -bs) "sizeof(foo)" rather than "sizeof (foo)"
      
      c) (-ncs) "(void *)foo" rather than "(void *) foo"
      9a76f566
    • Andrew Morton's avatar
      [PATCH] enable fast symbol lookup via an inverted index in cscope · 6cb8a2c5
      Andrew Morton authored
      From: Louis Zhuang <louis_zhuang@linux.co.intel.com>
      
      enable  fast  symbol lookup via an inverted index.
      6cb8a2c5
    • Andrew Morton's avatar
      [PATCH] as-iosched.txt update · e80802d4
      Andrew Morton authored
      From: Dave Olien <dmo@osdl.org>
      
      acked by npiggin.
      e80802d4
    • Andrew Morton's avatar
      [PATCH] shrink_list(): check PageSwapCache() after add_to_swap() · 5b1116c3
      Andrew Morton authored
      From: Nikita Danilov <Nikita@Namesys.COM>
      
      shrink_list() checks PageSwapCache() before calling add_to_swap(), this
      means that anonymous page that is going to be added to the swap right
      now these checks return false and:
      
       (*) it will be unaccounted for in nr_mapped, and
      
       (*) it won't be written to the swap if gfp_flags include __GFP_IO but
           not __GFP_FS.
      
      (Both will happen only on the next round of scanning.)
      
      Patch below just moves may_enter_fs initialization down. I am not sure
      about (*nr_mapped) increase though.
      5b1116c3
    • Andrew Morton's avatar
      [PATCH] Use address hint in mmap for search · ed205520
      Andrew Morton authored
      From: Andi Kleen <ak@suse.de>
      
      When the user gave an address hint in mmap use it as starting point for the
      search for !MAP_FIXED.
      
      Currently it is only checked directly and when already used the free area
      cache is used as starting point.  With this change you can use mmap(4096,
      ....) to e.g.  get the lowest free address in your address space, which is
      sometimes useful.  For example on x86-64 glibc wants to preferably allocate
      thread local data in the first 4GB but use higher addresses when this is
      not possible.
      
      This can be a bit more costly in CPU time because it may have to skip over
      more VMAs, but gives better semantics for most cases.  Most programs pass
      NULL as hint anyways so it won't make any difference for them.
      
      I did it for the generic mmap and for x86-64 for now.  Also minor white
      space fixes for x86-64.
      ed205520
    • Andrew Morton's avatar
      [PATCH] rate limit nr_free_pages · c7f6fcf5
      Andrew Morton authored
      From: Jes Sorensen <jes@trained-monkey.org>
      
      nr_free_pages() is expensive, especially on large SMP machines.  The patch
      changes the memory overcommit code so that it only calls nr_free_pages() is
      we're about to fail the allocation attempt.
      c7f6fcf5
    • Andrew Morton's avatar
      [PATCH] ide-cd mo write protect · a9b9b3c5
      Andrew Morton authored
      From: Jens Axboe <axboe@suse.de>
      
      It's from Pascal Schmidt and adds write protect handling to ide-cd along
      with support for non-2kb block sizes.
      a9b9b3c5
    • Andrew Morton's avatar
      [PATCH] proc_check_root() locking fix · 541f40bd
      Andrew Morton authored
      From: Maneesh Soni <maneesh@in.ibm.com>
      
      The patch fixes locking in proc_check_root().  It brings is_subdir() call
      under vfsmount_lock.  Holding vfsmount_lock will ensure mnt_mountpoint
      dentry is intact and the dentry does not go away while it is being checked
      in is_subdir().
      541f40bd
    • Andrew Morton's avatar
      [PATCH] is_subdir locking fix · b5a660ee
      Andrew Morton authored
      From: Maneesh Soni <maneesh@in.ibm.com>
      
      o The following patch fixes is_subdir() races with d_move. Due to concurrent
        d_move, in is_subdir() we can end up accessing freed d_parent pointer in
        case of pre-emptible kernel. To avoid this we can use rcu_read_lock() and
        rcu_read_unlock().
      
      o This also fixes the seqlock uses in is_subdir() as we need to restart the
        the inner loop with the origianl new_dentry passed to the routine in case
        of any rename occured while we are traversing d_parent links.
      b5a660ee