1. 25 May, 2004 40 commits
    • Andrew Morton's avatar
      [PATCH] Fix various memory leaks · 45577464
      Andrew Morton authored
      From: Yury Umanets <torque@ukrpost.net>
      
      Thanks to smatch I have found few memory leaks and other related issues.
      45577464
    • Andrew Morton's avatar
      [PATCH] v4l: use saa7111 i2c module in V4L MXB driver · 43b6594e
      Andrew Morton authored
      From: Michael Hunold <hunold@convergence.de>
      
      The attached patch changes my "Multimedia eXtension Board" (MXB)
      Video4Linux-driver to use the standard saa7111 video decoder infrastructure
      (to which I recently submitted changes through Ronald Bultje) instead of
      some home-brewn direct-access stuff.
      
      Nothing serious, but it removes code duplication and makes the code use the
      video decoder api.
      43b6594e
    • Andrew Morton's avatar
      [PATCH] initramfs uncpio fix · 385b866c
      Andrew Morton authored
      From: <viro@parcelfarce.linux.theplanet.co.uk>
      
      init/initramfs.c::do_skip() has an off-by-one that leads to unpacking
      failures for some gzipped cpio images.  We have
      
      static int __init do_skip(void)
      {
              if (this_header + count <= next_header) {
                      eat(count);
                      return 1;
              } else {
                      eat(next_header - this_header);
                      state = next_state;
                      return 0;
              }
      }
      
      and that <= should actually be <.  It almost never matters, since if we hit
      the boundary case (header ending exactly on the gunzip window end) the
      current variant will simply end up doing extra call of do_skip() when we
      get to the next window and that will finish the work (assign state).  The
      only exception is when we hit that in the last window.  That is, if there's
      nothing after the final header (trailer).  Then we miss the final state
      transition (Skip -> Reset) and get "junk in archive" panic.  Normally
      cpio(1) pads the image to multiple of 512, so we actually have a bunch of
      zeroes after the trailer.  And that almost always saves our butts - trailer
      is followed by zeroes, so we get to Reset state just fine.
      
      So we never see that on small in-kernel image (it's less than 512 bytes, so
      it gets a lot of padding) and we almost never see that on external ones
      (1:127 odds of hitting the bug).
      385b866c
    • Andrew Morton's avatar
      [PATCH] FAT: small fixes · 70c6e41e
      Andrew Morton authored
      From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      
      - use fat_fs_panic() instead of BUG() if it read a corrupted inode.
      
      - add missing "\n".
      70c6e41e
    • Andrew Morton's avatar
      [PATCH] swsusp: fix swsusp with intel-agp · e7b1438a
      Andrew Morton authored
      From: Pavel Machek <pavel@suse.cz>
      
      swsusp contained rather nasty bug where it killed machine when intel-agp or
      anything else split kernel 4MB mapping.  Herbert Xu diagnosed this.  Fixed by
      switching to "known good" mapping for during suspend/resume.
      e7b1438a
    • Andrew Morton's avatar
      [PATCH] Don't use "cut" in laptop mode control script -- it is in /usr. · e7653a14
      Andrew Morton authored
      From: Bart Samwel <bart@samwel.tk>
      
      We don't want to use "cut" in the laptop mode control script, because that
      is in /usr.  This patch is from Jasper Spaans.
      e7653a14
    • Andrew Morton's avatar
      [PATCH] matroxfb: Add support for mapping CRTC<->outputs at boot time · d14672aa
      Andrew Morton authored
      Signed-off-by: default avatarPetr Vandrovec <vandrove@vc.cvut.cz>
      
      Some people expressed interest in having possibility to set CRTC <->
      outputs mapping at boot time, without having to use 'matroxset' later after
      kernel boots.
      
      This patch adds option 'video=matroxfb:outputs:XYZ', where X sets which
      CRTC will connect to primary output, Y sets secondary output and Z sets DVI
      output.
      
      In addition to that I also added missing memset() into maven, which was
      broken since i2c was kobjectified.
      d14672aa
    • Andrew Morton's avatar
      [PATCH] ext3: remove duplicated ext3_std_error() call · 377cb3de
      Andrew Morton authored
      From: Andi Kleen <ak@muc.de>
      
      When start_transaction() detects an error it already calls ext3_std_error. 
      No need to do it again in the caller.
      377cb3de
    • Andrew Morton's avatar
      [PATCH] make i386 dma-mapping.h includeable standalone · ff49aa82
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      From: Debian kernel package, author probably Herbert Xu
      
      Include asm/io.h and asm/scatterlist.h in include/asm-i386/dma-mapping.h to
      make it useable standalone, which is already true for most architectures.
      ff49aa82
    • Andrew Morton's avatar
      [PATCH] befs: typo fix · 2d5f63eb
      Andrew Morton authored
      From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
      
      Fix a typo in an error message.
      2d5f63eb
    • Andrew Morton's avatar
      [PATCH] include linux/selection.h for color_table in drivers/video/tgafb.c · 77f8c801
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      From: Debian kernel package, author probably Herbert Xu
      77f8c801
    • Andrew Morton's avatar
      [PATCH] include linux/root_dev.h for ROOT_DEV in drivers/mtd/maps/uclinux.c · d0ab1ebc
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      * Include linux/root_dev.h for ROOT_DEV in drivers/mtd/maps/uclinux.c
      d0ab1ebc
    • Andrew Morton's avatar
      [PATCH] missing init.h in drivers/mtd/chips/sharp.c · 538981e4
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      again needed by most non-x86 arches.
      
       * Include linux/init.h for __init
      538981e4
    • Andrew Morton's avatar
      [PATCH] add one more neomagic audio device id · a9793731
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      From: Mattia Monga via Debian kernel package
      
      Add support for nm256xl+ in sound/oss/nm256_audio.c
      a9793731
    • Andrew Morton's avatar
      [PATCH] remove a dead variable from isofs · 1b4d4894
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      From: Debian kernel package, author is probably Herbert Xu
      
       * Do not get seqno since we will not use it in fs/isofs/inode.c
      1b4d4894
    • Andrew Morton's avatar
      [PATCH] fix a bash-ism in toplevel Makefile · ce683ef5
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      From: Debian kernel package, author probably Herbert Xu.
      
       * Fixed bashism in Makefile
      ce683ef5
    • Andrew Morton's avatar
      [PATCH] befs: nls fix · ff88d7da
      Andrew Morton authored
      From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
      
      Fix nls support for character sets with character width large than 1.
      ff88d7da
    • Andrew Morton's avatar
      [PATCH] hfsplus: update dir time after change · 04af400e
      Andrew Morton authored
      From: Roman Zippel <zippel@linux-m68k.org>
      
      Update dir ctime/mtime when adding/removing an entry.
      04af400e
    • Andrew Morton's avatar
      [PATCH] hfsplus: don't release not existing nodes · d4f99544
      Andrew Morton authored
      From: Roman Zippel <zippel@linux-m68k.org>
      
      When releasing a page don't try to release not existing nodes.
      d4f99544
    • Andrew Morton's avatar
      [PATCH] hfsplus: completely remove half inserted catalog entry · 8fc4dec5
      Andrew Morton authored
      From: Roman Zippel <zippel@linux-m68k.org>
      
      If the inserting of the file or dir record failed, remove the previously
      inserted thread record.
      8fc4dec5
    • Andrew Morton's avatar
      [PATCH] hfsplus: delete inode properly · d58fc33e
      Andrew Morton authored
      From: Roman Zippel <zippel@linux-m68k.org>
      
      Call hfsplus_delete_inode() to delete an inode when adding it to the
      filesystem failed, so superblock info is correctly updated.
      d58fc33e
    • Andrew Morton's avatar
      [PATCH] hfsplus: correct dentry initialization for dir dentries. · 543481c9
      Andrew Morton authored
      From: Roman Zippel <zippel@linux-m68k.org>
      
      Initialize d_fsdata field also for dir dentries, use hfsplus_instantiate
      helper function for this.
      543481c9
    • Andrew Morton's avatar
      [PATCH] hfsplus: fix key length for index nodes · 9a57bb39
      Andrew Morton authored
      From: Roman Zippel <zippel@linux-m68k.org>
      
      Use the correct key length for index nodes.
      9a57bb39
    • Andrew Morton's avatar
      [PATCH] Decrease srtuct file size by 8 · e00d79e4
      Andrew Morton authored
      From: Kurt Garloff <garloff@suse.de>
      
      Attached patch decreases the size of struct file by 8 bytes on 64 bit arches
      by avoiding unecessary padding.
      e00d79e4
    • Andrew Morton's avatar
      [PATCH] remove stale comments above struct page · f74742d3
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      struct page easily fits into a single cacheline with any recent CPU, and the
      ordering isn't as described anymore anyway.
      f74742d3
    • Andrew Morton's avatar
      [PATCH] don't export vma_prio_tree_next · 8a7f19c7
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      there's no user is modules, the function isn't in mainline and I don't see why
      modules should use it.
      8a7f19c7
    • Andrew Morton's avatar
      [PATCH] Fix race condition with current->group_info · 8e56790b
      Andrew Morton authored
      From: Olaf Kirch <okir@suse.de>
      
      I have been chasing a corruption of current->group_info on PPC during NFS
      stress tests.  The problem seems to be that nfsd is messing with its
      group_info quite a bit, while some monitoring processes look at
      /proc/<pid>/status and do a get_group_info/put_group_info without any locking.
      
      This problem can be reproduced on ppc platforms within a few seconds if you
      generate some NFS load and do a "cat /proc/XXX/status" of an nfsd thread in a
      tight loop.
      
      I therefore think changes to current->group_info, and querying it from a
      different process, needs to be protected using the task_lock.
      
      (akpm: task->group_info here is safe against exit() because the task holds a
      ref on group_info which is released in __put_task_struct, and the /proc file
      has a ref on the task_struct).
      8e56790b
    • Andrew Morton's avatar
      [PATCH] ep_send_events() stack reduction · af57e8ae
      Andrew Morton authored
      ep_send_events() uses ~350 bytes of stack for a local buffer of events to send
      to userspace.  The patch fixes that by removing the double-buffering
      altogether.  A pipe-based microbenchmark from Davide Libenzi
      <davidel@xmailserver.org> was sped up by 1-2%.
      af57e8ae
    • Andrew Morton's avatar
      [PATCH] Fix the mangled-oops-output-on-SMP problem · c570d667
      Andrew Morton authored
      From: Ingo Molnar <mingo@elte.hu>
      
      printk currently does
      
      	if (oops_in_progres)
      		bust_printk_locks();
      
      which means that once we oops, the printk locking is 100% ineffective and
      multiple CPUs make an unreadable mess on a serial console.  It's a significant
      development hassle.
      
      Fix that up by only popping locks once per ten seconds.
      
      akpm@osdl.org did:
      
        - Bump the timeout to 30 seconds - 9600 baud is slow.
      
        - Handle jiffy wraps: change the logic so that we only skip the lockbust
          if the current time is within 30 seconds of the previous lockbusting
          attempt.
      c570d667
    • Andrew Morton's avatar
      [PATCH] Prevent scary warnings from knfsd · ed8d9961
      Andrew Morton authored
      From: "J. Bruce Fields" <bfields@fieldses.org>
      
      The kernel currently prints:
      
       nfsd: nobody listening for auth.unix.ip upcall; has some daemon not been started?
      
      on every bootup, during initscripts.
      
      Neil Brown <neilb@cse.unsw.edu.au> says:
      
        It was part of the recent set of idmapper patches.  Bruce wanted the admin
        to get a warning when the idmapper daemon wasn't running.  I thought the
        same warning should apply to any daemon that responded to upcalls.
      
        In the case of auth.unix.ip it isn't strictly necessary for a daemon to be
        running (for comparability with 2.4).
      
        You can get rid of the warning by doing:
      
          mount -t nfsd nfsd /proc/fs/nfs
      
        before mountd is started (init scripts should start doing this I hope, but
        distributions don't tend to use the init script from nfs-utils, so it is
        hard to push it).  This will trigger mountd to listen on auth.unix.ip and
        others.
      
      
      That's a hassle, so Bruce's patch limits the warning purely to the new
      idmapper cache.  It provides a callback in the cache_detail that individual
      caches can use to log messages when upcalls fail because a userspace daemon
      not running.  Implement this method for the idmapping caches.
      ed8d9961
    • Andrew Morton's avatar
      [PATCH] Fix userspace include of linux/fs.h · 7190b86d
      Andrew Morton authored
      From: Mans Rullgard <mru@kth.se>
      
      There are a few include which should have been under __KERNEL__.
      7190b86d
    • Andrew Morton's avatar
      [PATCH] use SLAB_PANIC in ll_rw_blk.c · 4f527e6a
      Andrew Morton authored
      4f527e6a
    • Andrew Morton's avatar
      [PATCH] ppc64: avoid bogus real IRQ numbers · a5d436c4
      Andrew Morton authored
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      
      Early in the boot process on pSeries machines, we look in the Open Firmware
      device tree for information about the interrupt assignments, and assign
      virtual IRQ numbers for each physical IRQ.  There is currently a couple of
      bugs in this code which result in us assigning virtual IRQs for nonexistent
      physical IRQs.  This causes problems when we call the firmware to enable or
      disable those nonexistent physical IRQs.  Some versions at least of the
      firmware will hit an assertion failure and crash the machine when this
      happens.
      
      This patch fixes the bugs and ensures that we don't try and use nonexistent
      physical IRQ numbers.  One bug was that we were mapping ISA interrupts,
      which is unnecessary since virtual IRQ numbers 0 - 15 are reserved for
      them.  The other was that when we had a PCI interrupt (which is always in
      the range 1 to 4, corresponding to INTA to INTD) which didn't have a
      mapping in the PCI host bridge above it, we were just using the original
      number (usually 1) rather than ignoring it.
      a5d436c4
    • Andrew Morton's avatar
      [PATCH] ppc64: bump IOMMU_MAX_ORDER · 1c748104
      Andrew Morton authored
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      
      We have cards that want over 2MB of PCI consistent memory.  The
      IOMAP_MAX_ORDER limit is just to catch bad drivers early, so we can bump
      this a bit.
      
      We want some room to grow but our maximum get_free_pages allocation on
      ppc64 is currently 16MB, so it doesnt make sense to go above that.
      1c748104
    • Andrew Morton's avatar
      [PATCH] ppc64: small enter_rtas fix · 18f883b6
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      enter_rtas now takes an unsigned long.
      18f883b6
    • Andrew Morton's avatar
      [PATCH] dynamic addition of virtual disks on PPC64 iSeries · b086c8a3
      Andrew Morton authored
      From: Stephen Rothwell <sfr@canb.auug.org.au>
      
      This patch allows us to dynamically add virtual disks to an iSeries partition.
       It works like this: after you have created the virtual disk file on OS/400
      and attached it to the Linux partition, you need to write to
      /sys/bus/vio/drivers/viodasd/probe (it doesn't matter what you write).  This
      will do the probe.  It calls add_disk() for each new disk, so we get hotplug
      events as a side effect.
      
      This was the nicest way I could think of doing this as the interface to the
      hypervisor is polled ...
      b086c8a3
    • Andrew Morton's avatar
      [PATCH] ppc64: fix to viopath.c · bb0d0927
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      From: Olaf Hering and Nathan Lynch:
      
      Fix a couple of nasty lurking bugs in viopath.c and add information
      required to know if the iseries_veth module should be loaded on legacy
      iSeries systems.
      bb0d0927
    • Andrew Morton's avatar
      [PATCH] ppc64: NUMA fixes · 55d130a5
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      From: Anton Blanchard, Dave Hansen and Olof Johansson:
      
      Fix multiple bugs in the ppc64 NUMA topology probe code.
      
      - We were using HW cpu numbers instead of logical ones.  615, 630, 650,
        some 670 and some 690 SMP will all fail to boot without this patch.
      
      - The old code would BUG() when it got confused (more NUMA zones than the
        kernel is configured for etc).
      
      - The common depth calculation was incorrect.  Dave found an OF property
        that gives us exactly what we want.
      
      - Things were broken on SMT machines.
      
      The new code should work on those broken systems and should no longer BUG()
      but fall back to a flat topology when it gets confused.
      55d130a5
    • Andrew Morton's avatar
      [PATCH] ppc64: fix inline spinlocks · 2c725188
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      In _raw_spin_lock_flags we were branching to the wrong spot and would
      restore random stuff to the MSR.
      2c725188
    • Dave Jones's avatar
      [PATCH] Make early_cpu_detect() set x86_cache_alignment on pre-cpuid CPU's too · 4b796a9f
      Dave Jones authored
      From: Zdenek Pavlas <pavlas@nextra.cz>
      
      On any x86 without cpuid, early_cpu_detect() left x86_cache_alignment as
      zero, so kmem_cache_init() calls cache_estimate() with align == 0, and
      it loops forever. I've tried this trivial fix, and it works for me.
      
      Andi Kleen looked over this, and ok'd it.
      4b796a9f