1. 22 Oct, 2003 40 commits
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/net-2.5 · 95c2f4d9
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      95c2f4d9
    • Andrew Morton's avatar
      [PATCH] early_serial_setup array bounds check · 669e7461
      Andrew Morton authored
      From: Bjorn Helgaas <bjorn.helgaas@hp.com>
      
      early_serial_setup() doesn't validate the array index, so a caller could
      corrupt memory after serial8250_ports[] by supplying a value of port->line
      that's too large.
      
      I haven't seen a failure related to this, but it seems fragile to rely on
      callers to know how many ports the driver supports.
      669e7461
    • Andrew Morton's avatar
      [PATCH] befs oops fix · 19067de8
      Andrew Morton authored
      Need to null-terminate that table.
      19067de8
    • Andrew Morton's avatar
      [PATCH] Altix console driver · b3ddccf3
      Andrew Morton authored
      From: Patrick Gefre <pfg@sgi.com>
      
      Add ia64 Altix serial console driver.
      b3ddccf3
    • Andrew Morton's avatar
      [PATCH] Fix arlan compilation with CONFIG_PROC_FS=n · 0a9e26b3
      Andrew Morton authored
      From: Luiz Capitulino <lcapitulino@prefeitura.sp.gov.br>
      
      when PROC_FS=n, arlan.h will define init_arlan_proc() and
      cleanup_arlan_proc() as macros.  So, whitout the #ifdef/#endif here, we have
      two definitions.
      0a9e26b3
    • Andrew Morton's avatar
      [PATCH] Kill unneccessary debug printk · 52ace925
      Andrew Morton authored
      From: Pavel Machek <pavel@ucw.cz>
      
      This printk is unneccessary for quite a long time, please kill it. [I
      added it, so it should be okay for me to request it being killed..]
      52ace925
    • Andrew Morton's avatar
      [PATCH] /dev/mem range checking · 7b132fcd
      Andrew Morton authored
      From: Bjorn Helgaas <bjorn.helgaas@hp.com>
      
      ia64 needs more complete checking on the offset which is passed into reads
      or writes of /dev/mem.
      
      This patch factors out the range checking so that the architecture can
      implement a private version.
      7b132fcd
    • Andrew Morton's avatar
      [PATCH] Add needed __devexit_p's to two gameport drivers · 980849ca
      Andrew Morton authored
      From: "Noah J. Misch" <noah@caltech.edu>
      
      Two gameport drivers need __devexit_p wrapped around their remove
      functions.  A newer binutils caught this is a link error.  This patch fixes
      that.
      
      Wrapped a __devexit_p around the 'remove' functions of two gameport
      drivers.  The lack of __devexit_p was wrong according to linux/init.h,
      differed from the practices in nearby files, and caused a link error with
      binutils 2.14.90.0.5.
      980849ca
    • Andrew Morton's avatar
      [PATCH] v850: Use irqreturn_t on rte-me2-cb platform · 689d2617
      Andrew Morton authored
      From: miles@lsi.nec.co.jp (Miles Bader)
      
      The cb_pic_handle_irq function on this platform hadn't been updated to
      use irqreturn_t; do so.
      689d2617
    • Andrew Morton's avatar
      [PATCH] v850: Don't reserve root-filesystem memory twice · b9023cd5
      Andrew Morton authored
      From: miles@lsi.nec.co.jp (Miles Bader)
      
      This reservation is handled by platform-independent code in 2.6.0, but some
      platforms _also_ did it in platform-specific code (left over from 2.4.x).
      b9023cd5
    • Andrew Morton's avatar
      [PATCH] v850: Workaround for tty-driver init-order problem · 8ec459a3
      Andrew Morton authored
      From: miles@lsi.nec.co.jp (Miles Bader)
      
      Use `late_initcall' instead of just `__initcall' as a workaround for
      the fact that (1) simcons_tty_init can't be called before tty_init,
      (2) tty_init is called via `module_init', (3) if statically linked,
      module_init == device_init, and (4) there's no ordering of init lists.
      
      We can do this easily because simcons is always statically linked, but
      other tty drivers that depend on tty_init and which must use
      `module_init' to declare their init routines are likely to be broken.
      8ec459a3
    • Andrew Morton's avatar
      [PATCH] Fix toshiba.c and neofb.c for CONFIG_PROC_FS=n · 6233eaef
      Andrew Morton authored
      From: "Noah J. Misch" <noah@caltech.edu>
      
      Allows the Toshiba SMM driver to compile with CONFIG_PROC_FS=n.
      6233eaef
    • Andrew Morton's avatar
      [PATCH] pcm_native locking fix · 9ef76d34
      Andrew Morton authored
      It is missing an up() on an error path.
      9ef76d34
    • Andrew Morton's avatar
      [PATCH] io scheduler oops fixes · e9cfdad8
      Andrew Morton authored
      Peter Osterlund <petero2@telia.com> notes oopses in the anticipatory
      scheduler with slab poisoning enabled due to arq->rb_node.rb_right being
      uninitialised.  So wipe the whole thing when we allocate it.
      
      deadline seems to have the same problem.
      e9cfdad8
    • Andrew Morton's avatar
      [PATCH] ipc msg race fix · 5ec371b7
      Andrew Morton authored
      Backport this fix from 2.4
      5ec371b7
    • Andrew Morton's avatar
      [PATCH] Fix another CONFIG_MCA=y oops · dd329e9e
      Andrew Morton authored
      If you have an MCA kernel on non-MCA hardware and load an MCA driver,
      mca_find_unused_adapter() ends up dereferencing NULL. 
      
      Teach it about the absence of MCA buses.
      dd329e9e
    • Andrew Morton's avatar
      [PATCH] Fix oops with CONFIG_MCA=y · 4c80b95c
      Andrew Morton authored
      With CONFIG_MCA=y and no MCA bus present, drivers go oops deep in the kobject
      code when calling mca_register_driver().  Because there is no MCA subsystem
      registered against the driver.
      
      Plug this in mca_register_driver().
      4c80b95c
    • Andrew Morton's avatar
      [PATCH] parport_pc not releasing all ioports · 0090fbee
      Andrew Morton authored
      From: John Mock <kd6pag@qsl.net>
      
      If 'parport_pc' is compile as a module, it fails to properly return certain
      ioport resources after being removed.
      0090fbee
    • Andrew Morton's avatar
      [PATCH] DRM modprobe retval fix · 20fe1d1c
      Andrew Morton authored
      If you try to load a DRM module when agpgart is not present, modprobe says
      "Cannot allocate memory", which is rather misleading.
      
      Make it return -EINVAL instead.
      20fe1d1c
    • Andrew Morton's avatar
      [PATCH] kcapi.c CONFIG_MODULES=n build fix · 500ea96b
      Andrew Morton authored
      With CONFIG_MODULES=n this file does not compile because the type of
      module->owner is not known.
      
      Gven that card->owner is probably a null pointer when this driver is
      statically linked, best thing to do is to just not poke around inside
      card->owner at all.
      500ea96b
    • Andrew Morton's avatar
      [PATCH] make printk more robust with "null" pointers · 8bcb3ba1
      Andrew Morton authored
      Expand printk's traditional handling of null pointers so that anything in the
      first page is considered a null pointer.
      
      This gives us better behaviour when someone (acpi..) accidentally prints a
      string which is embedded in a struct, the pointer to which is null.
      8bcb3ba1
    • Andrew Morton's avatar
      [PATCH] fix bluetooth broken compilation when PROC_FS=n. · fcd84957
      Andrew Morton authored
      From: Luiz Capitulino <lcapitulino@prefeitura.sp.gov.br>
      
      Fix bluetooth build when CONFIG_PROC_FS=n
      fcd84957
    • Andrew Morton's avatar
      [PATCH] fix for register_cpu() · 6bb8f238
      Andrew Morton authored
      From: jbarnes@sgi.com (Jesse Barnes)
      
      The patch adds a symlink from /sys/devices/system/node/nodeM/cpuN to the
      /sys/devices/cpu/cpuN directory so that a userspace program can determine
      which CPUs belong to which nodes easily.  Non-NUMA systems can simply pass
      NULL in for the root arg and everything will work like it used to.
      6bb8f238
    • Andrew Morton's avatar
      [PATCH] fix low-memory BUG in slab · 4136bb64
      Andrew Morton authored
      cache_grow() will call kmem_freepages() if the call to alloc_slabmgmt()
      fails.  But the pages have not been marked PageSlab at this stage, so
      kmem_freepages() goes BUG.
      
      It is more symmetrical to mark the pages as PageSlab in kmem_getpages().
      
      The patch also prunes a bunch of incorrect comments.
      
      (PageSlab doesn't actually do anything: its only value is as a debug check.
      I think the LKCD patch uses it).
      4136bb64
    • Andrew Morton's avatar
      [PATCH] Fix JBD memory leak · 7ae0eef7
      Andrew Morton authored
      Plug the two-megabyte-per-day memory leak.
      7ae0eef7
    • Andrew Morton's avatar
      [PATCH] JBD kfree() fix · 9aa379e8
      Andrew Morton authored
      I happened to spot this kfree(of complete garbage) - it is on an
      oh-we-raced-retry path which is obviously exceedingly rare,
      9aa379e8
    • Andrew Morton's avatar
      [PATCH] fs/binfmt_elf.c:load_elf_binary() doesn't verify interpreter arch · 217363db
      Andrew Morton authored
      From: Peter Bergner <bergner@vnet.ibm.com>
      
      In fs/binfmt_elf.c:load_elf_binary() (both 2.6 and 2.4), there is some
      minimal checking whether the interpreter it's about to load/run is a valid
      ELF file, but it fails to check whether the interpreter is of the correct
      arch.  We ran into this when a borked powerpc64-linux toolchain set the
      interpreter on our 64-bit app to our 32-bit ld.so.  Executing the app
      caused the kernel to really chew up memory.  I'm assuming x86_64 and
      sparc64 might possibly see the same behavior.
      
      Note I'm not sure of the history behind INTERPRETER_AOUT, so I added the
      test for INTERPRETER_ELF so as not to change it's behavior in case someone
      still relies on it.
      
      As an aside, it seems the elf_check_arch() macros should really be checking
      for more than a valid e_machine value.  I'd think checking one or more of
      the e_ident[EI_CLASS], e_ident[EI_DATA] and e_ident[EI_OSABI] values would
      be required as well, no?
      217363db
    • Andrew Morton's avatar
      [PATCH] Fix mtd printk warnings · 2470c739
      Andrew Morton authored
      From: Jesper Juhl <juhl-lkml@dif.dk>
      2470c739
    • Andrew Morton's avatar
      [PATCH] fix microcode.c for older gcc's · 5731d0da
      Andrew Morton authored
      Fix a C99ism.
      5731d0da
    • Andrew Morton's avatar
      [PATCH] digi_acceleport.c has bogus "address of" operator · e4b0c50a
      Andrew Morton authored
      From: "Kurtis D. Rader" <kdrader@us.ibm.com>
      
      http://bugme.osdl.org/show_bug.cgi?id=1365
      
      The digi_acceleport.c USB serial driver has a bogus "address of" operator
      that results in BUGs.
      
      The problem is that digi_wakeup_write_lock() takes a pointer to a struct
      usb_serial_port.  However, what gets passed is a pointer to a pointer to a
      struct usb_serial_port.
      e4b0c50a
    • Andrew Morton's avatar
      [PATCH] Kill early might_sleep warnings · 49c69171
      Andrew Morton authored
      OK, I give up.  Kill all the might_sleep warnings from the early boot
      process.
      49c69171
    • Andrew Morton's avatar
      [PATCH] export system_running to other files · cb37891b
      Andrew Morton authored
      There seems to be no header file which declares system_running.
      cb37891b
    • Andrew Morton's avatar
      [PATCH] Quota deadlock fix · d012fa6e
      Andrew Morton authored
      From: Jan Kara <jack@ucw.cz>
      
      attached patch should fix a quota locking problem causing deadlock (when
      inode was being released from icache and it caused newly created quota
      structure to be written).
      d012fa6e
    • Andrew Morton's avatar
      [PATCH] tmpfs 7/7 write mark_page_accessed · dd394c2e
      Andrew Morton authored
      From: Hugh Dickins <hugh@veritas.com>
      
      mm/filemap.c's generic_file_aio_write_nolock changed SetPageReferenced
      to mark_page_accessed in -test3: now follow that in shmem_file_write.
      dd394c2e
    • Andrew Morton's avatar
      [PATCH] tmpfs 6/7 write i_size_write · 1c779419
      Andrew Morton authored
      From: Hugh Dickins <hugh@veritas.com>
      
      mm/shmem.c was converted to i_size_read in -test1, and the remaining
      references to a file's naked i_size are safely protected by i_sem;
      but surely shmem_file_write must use i_size_write to update i_size.
      1c779419
    • Andrew Morton's avatar
      [PATCH] tmpfs 5/7 writepage/truncate race fix · 6673fd3d
      Andrew Morton authored
      From: Hugh Dickins <hugh@veritas.com>
      
      If it's possible for a tmpfs page beyond i_size to remain in cache until
      shmem_truncate repeats truncate_inode_pages, then shmem_writepage's
      BUG_ON(index >= info->next_index) cannot be completely safe.  But it's a
      useful check in a fragile area, so retain it when not in shmem_truncate.
      6673fd3d
    • Andrew Morton's avatar
      [PATCH] tmpfs 4/7 getpage/truncate race fix · 686e9e72
      Andrew Morton authored
      From: Hugh Dickins <hugh@veritas.com>
      
      Extend use of that SHMEM_PAGEIN flag to where shmem_getpage adds a page
      to the cache.  It couldn't have caused a BUG_ON(inode->i_blocks), but if
      i_size is reduced (from another cpu) the instant after shmem_swp_alloc
      checks it, shmem_getpage could insert a page into the cache just after
      truncate_inode_pages has passed through cleaning it, leaving stale data
      (which may mysteriously reappear if the file is later extended).
      
      Easily fixed for tmpfs, using the mechanism just added for swapoff; and
      probably more important there, since its read from swap can insert non-0
      data.  But is there not a similar issue, a tiny window, in filemap.c?
      if truncate_inode_pages comes in between checking i_size and adding new
      page to cache.  Not worth getting excited, but something to beware of.
      686e9e72
    • Andrew Morton's avatar
      [PATCH] tmpfs 3/7 swapoff/truncate race fix · eaec8c0c
      Andrew Morton authored
      From: Hugh Dickins <hugh@veritas.com>
      
      On 23 July, Sergey S. Kostyliov <rathamahata@php4.ru> reported a tmpfs
      BUG_ON(inode->i_blocks) during swapoff: my last version of the fix to
      swapoff/truncate race was inadequate, since I_FREEING might get set or
      i_size be reduced (from another cpu) the instant after it's tested here.
      
      So revert to the previous version of the fix, shmem_truncate calling
      truncate_inode_pages again, if pages still left in cache; but avoid the
      recall in usual cases of partial truncation, by having a "pagein" flag
      to indicate when recall might be necessary.  (Since those flags already
      use VM_ACCOUNT and VM_LOCKED, must redefine another VM_flag for this.)
      Sergey and 2.4-aa have run fine with this for a couple of months.
      eaec8c0c
    • Andrew Morton's avatar
      [PATCH] tmpfs 2/7 LTP S_ISGID on directories fix · d19c7b9d
      Andrew Morton authored
      From: Hugh Dickins <hugh@veritas.com>
      
      LTP tests the filesystem on /tmp: many failures when tmpfs because it missed
      the way directories hand down their gid.  Also fix ramfs and hugetlbfs.
      d19c7b9d
    • Andrew Morton's avatar
      [PATCH] tmpfs 1/7 LTP ENAMETOOLONG fix · 6b006415
      Andrew Morton authored
      From: Hugh Dickins <hugh@veritas.com>
      
      LTP tests the filesystem on /tmp: there are many failures when using tmpfs
      because simple_lookup forgot to reject filenames longer than the NAME_MAX
      tmpfs declares in its statfs.  This also fixes ramfs and hugetlbfs.
      6b006415