1. 19 Feb, 2004 40 commits
    • Andrew Morton's avatar
      [PATCH] smbfs: remove debug code · ffe6dc3c
      Andrew Morton authored
      Remove an unneeded WSET() which snuck in there.
      ffe6dc3c
    • Andrew Morton's avatar
      [PATCH] Fix the display of max-ever-used-stack in sysrq-T output · 416cd06a
      Andrew Morton authored
      The sysrq-T output currently tries to display the mimimum amount of free
      stack which each task has ever had available.  It has been busted for years,
      because we forgot to zero out the stack when it is first created.
      
      Fix that up, adding a conig option for it.
      
      If the option is disabled, or the arch is not x86 then the free stack usage
      will display as zero.
      416cd06a
    • Andrew Morton's avatar
      [PATCH] v850 ptrace.c task_struct leak · d7790f20
      Andrew Morton authored
      From: Herbert Poetzl <herbert@13thfloor.at>
      
      sys_ptrace() for v850, if pid == 1, doesn't put the struct task_struct
      (child), the following patch should fix that ...
      d7790f20
    • Andrew Morton's avatar
      [PATCH] ppc64 compile fix · d7f0439b
      Andrew Morton authored
      From: Arjan van de Ven <arjanv@redhat.com>
      
      fix obvious non-C-standard stubs on ppc64
      d7f0439b
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 · cdb7bc8f
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.5/linux
      cdb7bc8f
    • Linus Torvalds's avatar
      Merge bk://gkernel.bkbits.net/net-drivers-2.5 · 0f8b375f
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.5/linux
      0f8b375f
    • Jeff Garzik's avatar
      Merge redhat.com:/spare/repo/netdev-2.6/e100-2 · 1f0bb3eb
      Jeff Garzik authored
      into redhat.com:/spare/repo/net-drivers-2.5
      1f0bb3eb
    • Benjamin Herrenschmidt's avatar
      [PATCH] Fix a DMA underrun problem with pmac IDE · 6bac5a4d
      Benjamin Herrenschmidt authored
      This fixes the behaviour of the pmac "macio" IDE driver when a DMA
      transfer happen to get less data out of the device than expected when
      setting up the DMA commands (the device underruns).  This is very common
      with recent ATAPI stuffs and used to cause problem & disable DMA.  This
      patch fixes the way we handle that condition, thus also fixing DVD
      burning on a bunch of recent pmacs. 
      6bac5a4d
    • Benjamin Herrenschmidt's avatar
      [PATCH] Be careful about memory ordering in sungem driver · 945350d1
      Benjamin Herrenschmidt authored
      Some barriers between setting up the DMA regions and writing the
      descriptor addresses would be most useful.
      
      I had some in my 2.4 version but they got lost someway, probably me not
      properly merging with davem at this point.  The 970 is definitely more
      agressive at re-ordering stores than previous CPUs...
      
      Here is a patch adding some (probably too much, but better safe than
      sorry).
      945350d1
    • Greg Kroah-Hartman's avatar
      Merge kroah.com:/home/greg/linux/BK/bleed-2.6 · d27099da
      Greg Kroah-Hartman authored
      into kroah.com:/home/greg/linux/BK/usb-2.6
      d27099da
    • Linus Torvalds's avatar
      Merge http://lia64.bkbits.net/to-linus-2.5 · 18d1ca4f
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.5/linux
      18d1ca4f
    • Greg Kroah-Hartman's avatar
    • Andries E. Brouwer's avatar
      [PATCH] USB: add comments to sddr09.c · 6e483b0a
      Andries E. Brouwer authored
      People ask how to write the CIS on a SmartMedia card using an sddr09
      reader/writer.  The patch below documents the required command (but does
      not add the code).
      
      Two years ago or so I used this to fix the CIS on a card that my camera no
      longer wanted to accept.  A Linux utility to do this might be useful, but
      the problem always is that we do not really have a good mechanism.
      
      How does one tell a driver that it has to do something special?  Add yet
      another ioctl?
      6e483b0a
    • Greg Kroah-Hartman's avatar
      6850c4af
    • Alan Stern's avatar
      [PATCH] USB: Use driver-model logging in the UHCI driver · b2e723de
      Alan Stern authored
      The main item in this patch is the conversion of the UHCI driver from
      using the old usb.h logging macros to the new driver-model dev_xxx
      macros.
      
      There are a few other minor changes too: updated version number, author,
      copyright, and maintainer information, removed some unneeded error
      messages, added some line breaks, added a convenience macro for the device
      pointer.
      b2e723de
    • Alan Stern's avatar
      [PATCH] USB: Repair unusual_devs.h entry · 254a79b9
      Alan Stern authored
      On Fri, 20 Feb 2004, Gustavo Guillermo wrote:
      
      > Ok, I tested the patch, The camera works, just as in the old Kernel,
      > Thanks, I'm including as an atachment the /proc/bus/usb/devices from
      > kernel 2.4.x and 2.6.x, and the kernel log for 2.4.x, but ooops, I forgot
      > to biold 2.4.x with full debug, if someone need it I will do.
      >
      > Please include this FIX in the Next Release.
      
      Greg, I now feel confident that this patch should be applied.
      254a79b9
    • Alan Stern's avatar
      [PATCH] USB: Another unusual_devs.h update · 3d11e93d
      Alan Stern authored
      On Thu, 19 Feb 2004, Agustin De Igartua wrote:
      
      > Initializing USB Mass Storage driver...
      > usb-storage: This device (04e6,0002,0100 S 06 P 50) has unneeded SubClass and Protocol entries in unusual_devs.h
      >    Please send a copy of this message to <linux-usb-devel@lists.sourceforge.net>scsi0 : SCSI emulation for USB Mass Storage devices
      
      Thank you for sending this in.  Greg, here's the patch.
      3d11e93d
    • David Mosberger's avatar
      ia64: Back-port from libunwind: fix off-by-one error in kernel-unwinder. · 9e2b8d7f
      David Mosberger authored
      There are no known failures due to this bug, but it's clearly a bug and
      given the right compiler, it could trigger and lead to bad stack traces etc.
      9e2b8d7f
    • Pat Gefre's avatar
      [PATCH] ia64: cleanup SN2 pci_bus_cvlink.c · c95f5b8d
      Pat Gefre authored
      I incorporated (at least in spirit I hope) hch's suggestions on the fixup code
      put in some kfrees that I was missing and static for sn_alloc_pci_sysdata
      (thanks Bartlomiej Zolnierkiewicz).  White space clean up.
      c95f5b8d
    • Martin Hicks's avatar
      [PATCH] ia64: clean up SN2 setup.c · df39ffc5
      Martin Hicks authored
      Cleanup the SN setup.c file.  Add __init and static to functions where
      required.
      df39ffc5
    • Martin Hicks's avatar
      [PATCH] ia64: SN2 header file cleanups · 6a62de5f
      Martin Hicks authored
      Here is a patch to clean up some of the Altix header files and includes.
      
      I've run the patch past the appropriate people at SGI and they seem happy
      with the changes.
      6a62de5f
    • Pat Gefre's avatar
    • Pat Gefre's avatar
      00be8a06
    • Andrew Morton's avatar
      [PATCH] show_task() is not SMP safe · 70b19320
      Andrew Morton authored
      From: Arnd Bergmann <arnd@arndb.de>
      
      Christian Bornträger noticed that the kernel can crash after <SysRq>-T.  It
      appears that the show_task function gets called for all tasks, which does
      not work if one of the tasks is running in a system call on another CPU.
      In that case the result of thread_saved_pc and show_stack is undefined and
      likely to cause a crash.
      
      For tasks running in user space on other CPUs, show_task() is probably
      harmless, but I'm not sure if that's true on all architectures.
      
      The patch below is still racy for tasks that are about to sleep, but it
      demonstrates the problem.
      70b19320
    • Andrew Morton's avatar
      [PATCH] show_task() fix and cleanup · 87f095b8
      Andrew Morton authored
      show_task() is preinting negative numbers for free stack due to arithmetic
      against the wrong pointer.
      
      Fix that up, and clean up a few related things.
      
      show_task still has bogus code which atempts to work out how much stack the
      task has ever used - it cannot work because we don't actually zero out the
      stack pages when allocating them.  We should fix that, or take it out.
      87f095b8
    • Andrew Morton's avatar
      [PATCH] print some x86 build options during oopses · a25a6d9a
      Andrew Morton authored
      I find this handy sometimes: it makes the oops output include info as to
      whether the user has selected CONFIG_PREEMPT, CONFIG_SMP or, particularly,
      CONFIG_DEBUG_PAGEALLOC.  It can save one email round-trip.
      a25a6d9a
    • Andrew Morton's avatar
      [PATCH] config option for irqbalance · c1588714
      Andrew Morton authored
      From: "Martin J. Bligh" <mbligh@aracnet.com>
      
      Make irqbalance into a config option - some people (jgarzik, arjan, etc)
      wanted to be able to disable it and do things from userspace instead.  This
      patch allows each camp to do their own thing, which seems fair ;-)
      c1588714
    • Andrew Morton's avatar
      [PATCH] ia32: disallow NUMA on PC subarch · 39e237fd
      Andrew Morton authored
      From: "Martin J. Bligh" <mbligh@aracnet.com>
      
      Disallow NUMA on the i386 PC subarch (it doesn't work, nor was it intended
      to).
      39e237fd
    • Andrew Morton's avatar
      [PATCH] ia32: pfn_to_nid fix · a0d3ab68
      Andrew Morton authored
      From: "Martin J. Bligh" <mbligh@aracnet.com>
      
      Makes sure pfn_to_nid is defined for all combinations of subarches, and that
      it's defined before it's used so we don't run into implicit declaration
      problems.
      a0d3ab68
    • Andrew Morton's avatar
      [PATCH] fix pfn_valid on ia32 discontigmem · 766e012a
      Andrew Morton authored
      From: "Martin J. Bligh" <mbligh@aracnet.com>
      
      Fix pfn_valid for architctures with discontiguous memory.  This only
      changes the NUMA definition, and it leaves the NUMA-Q definition as was,
      because it's faster that way, it's in hotpaths, and our memory is always
      contiguous.
      766e012a
    • Andrew Morton's avatar
      [PATCH] fix access() POSIX compliance · 05789ebc
      Andrew Morton authored
      From: Andreas Gruenbacher <agruen@suse.de>
      
      The fix for permission() that makes it compliant with POSIX.1-2001
      apparently was lost.  Here is the patch I sent before.  (The relevant lines
      from the standard text are cited in
      http://www.ussg.iu.edu/hypermail/linux/kernel/0310.2/0286.html.  The fix
      proposed in that posting did not handle directories without execute
      permissions correctly.)
      
      
      Make permission check conform to POSIX.1-2001
      
      The access(2) function does not conform to POSIX.1-2001: For root
      and a file with no permissions, access(file, MAY_READ|MAY_EXEC)
      returns 0 (it should return -1).
      05789ebc
    • Andrew Morton's avatar
      [PATCH] gcc-3.5: bonding · 808fde0a
      Andrew Morton authored
      drivers/net/bonding/bond_alb.c: In function `bond_alb_xmit':
      drivers/net/bonding/bond_alb.c:1188: error: invalid lvalue in assignment
      808fde0a
    • Andrew Morton's avatar
      [PATCH] use noinline for rest_init() · 5d11ce4d
      Andrew Morton authored
      gcc-3.4 incorretly inlines rest_init() into start_kernel(), causing things to
      crash when the .text.init section gets unloaded.  Use noinline to prevent
      that.
      5d11ce4d
    • Andrew Morton's avatar
      [PATCH] Add noinline attribute · ce920983
      Andrew Morton authored
      From: Andi Kleen <ak@muc.de>
      
      This patch adds the `noinline' function attribute.  It can be used to
      explicitly tell the compiler to not inline functions.
      
      We need this due to what is, IMO, a bug present in gcc-3.4 and current
      gcc-3.5 CVS: the compiler is inlining init/main.c:rest_init() inside
      init/main.c:start_kernel(), despite the fact that thay are declared to be
      placed in different text sections.
      ce920983
    • Andrew Morton's avatar
      [PATCH] Use -funit-at-a-time on ia32 · b882d444
      Andrew Morton authored
      From: Andi Kleen <ak@muc.de>
      
      The upcomming gcc 3.4 has a new compilation mode called unit-at-a-time.
      What it does is to first load the whole file into memory and then generate
      the output. This allows it to use a better inlining strategy, drop unused
      static functions and use -mregparm automatically for static functions.
      
      It does not seem to compile significantly slower.
      
      This is also available in some of the 3.3 based "hammer branch"
      compilers used in distributions (at least in SuSE and Mandrake)
      
      Some tests show impressive .text shrinkage from unit-at-a-time.
      
      e.g. here is the same kernel compiled with -fno-unit-at-a-time and
      -funit-at-a-time with a gcc 3.4 snapshot. The gains are really
      impressive:
      
         text    data     bss     dec     hex filename
      4129346  708629  207240 5045215  4cfbdf vmlinux-nounitatatime
      3999250  674853  207208 4881311  4a7b9f vmlinux-unitatatime
      
      .text shrinks by over 130KB!. And .data shrinks too.
      
      At first look the numbers look nearly too good to be true, but they have been
      verified with several configurations and seem to be real. It looks like
      we have a lot of stupid inlines or dead functions. I'm really not
      sure why it is that much better. But it's hard to argue with hard
      numbers.
      
      [A bloat-o-meter comparision between the two vmlinuxes can be found in
      http://www.firstfloor.org/~andi/unit-vs-no-unit.gz . It doesn't show
      any obvious candidates unfortunately, just lots of small changes]
      
      With the gcc 3.3-hammer from SuSE 9.0 the gains are a bit smaller, but
      still noticeable (>100KB on .text)
      
      This patch enables -funit-at-a-time on ia32 if the compiler is gcc-3.4 or
      later.  We had several reports of gcc-3.3 producing very early lockups.
      b882d444
    • Andrew Morton's avatar
      [PATCH] Add CONFIG for -mregparm=3 · e852f318
      Andrew Morton authored
      From: Andi Kleen <ak@muc.de>, me.
      
      Using -mregparm=3 shrinks the kernel further:
      
      (compiled with gcc 3.4, without -funit-at-a-time, using the later and
      together with -Os shrinks .text even more, making over 700KB difference)
      
      4129346  708629  207240 5045215  4cfbdf vmlinux
      3892905  708629  207240 4808774  496046 vmlinux-regparm
      
      This one helps even more, >236KB .text difference. Clearly worth
      the effort.
      
      This patch adds an option to use -mregparm=3 while compiling the kernel.  I
      did an LTP run and it showed no additional failures over an non regparm
      kernel.
      
      According to some gcc developers it should be safe to use in all gccs that
      are still supports (2.95 and up)
      
      I didn't make it the default because it will break all binary only modules
      (although they can be fixed by adding a wrapper that calls them with
      "asmlinkage").  Actually it may be a good idea to make this default with
      2.7.1 or somesuch.
      
      We add new kbuild infrastructure: the command
      
      	scripts/gcc-version.sh $(CC)
      
      will print out the version of gcc in a canonical 4-digit form suitable for
      performing numerical tests against.
      DESC
      arch/i386/Makefile,scripts/gcc-version.sh,Makefile small fixes
      EDESC
      From: Serge Belyshev <33554432@mtu-net.ru>
      
      arch/i386/Makefile:
      *  omitted $(KBUILD_SRC)/ in script call.
      
      scripts/gcc-version.sh:
      *  GNU tail no longer supports 'tail -1' syntax.
      
      We should consider adding -fweb option:
      
         vanilla:
         $ size vmlinux
            text    data     bss     dec     hex filename
         3056270  526780  386056 3969106  3c9052 vmlinux
      
         with -fweb:
         $ size vmlinux
            text    data     bss     dec     hex filename
         3049523  526780  386056 3962359  3c75f7 vmlinux
      
         Also note 0.1 ... 1.0% speedup in various benchmarks.
         This option is not enabled by default at -O2 because it
         (like -fomit-frame-pointer) makes debugging impossible.
      e852f318
    • Andrew Morton's avatar
      [PATCH] page_add_rmap(): remove meaningless test · 56cf7057
      Andrew Morton authored
      Remove page validity test.  I had a warning in there for a few weeks, no
      reports of it happening.
      56cf7057
    • Andrew Morton's avatar
      [PATCH] slab: hexdump for check_poison · 86c662db
      Andrew Morton authored
      From: Manfred Spraul <manfred@colorfullife.com>
      
      The patch is designed improve the diagnostics which are presented when the
      slab memory poison detector triggers.
      
      
      check_poison_obj checks for write accesses after kfree by comparing the
      object contents with the poison value.  The current implementation contains
      several flaws:
      
      - it accepts both POISON_BEFORE and POISON_AFTER.  check_poison_obj is
        only called with POISON_AFTER poison bytes.  Fix: only accept
        POISON_AFTER.
      
      - the output is unreadable.  Fix: use hexdump.
      
      - if a large objects is corrupted, then the relevant lines can scroll of
        the screen/dmesg buffer.  Fix: line limit.
      
      - it can access addresses behind the end of the object, which can oops
        with CONFIG_DEBUG_PAGEALLOC.  Fix: bounds checks.
      
      Additionally, the patch contains the following changes:
      
      - rename POISON_BEFORE and POISON_AFTER to POISON_FREE and POISON_INUSE.
        The old names are ambiguous.
      
      - use the new hexdump object function in ptrinfo.
      
      - store_stackinfo was called with wrong parameters: it should store
        caller, i.e.  __builtin_return_address(0), not POISON_AFTER in the
        object.
      
      - dump both the object before and after the corrupted one, not just the
        one after.
      
      Example output:
      <<<
      Slab corruption: start=194e708c, len=2048
      Redzone: 0x5a2cf071/0x5a2cf071.
      Last user: [<02399d7c>](dummy_init_module+0x1c/0xb0)
      010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 7b
      030: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 63
      Prev obj: start=194e6880, len=2048
      Redzone: 0x5a2cf071/0x5a2cf071.
      Last user: [<00000000>](0x0)
      000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
      010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
      <<<
      86c662db
    • Andrew Morton's avatar
      [PATCH] prevent ptrace from altering page permissions · c03544dd
      Andrew Morton authored
      From: Roland McGrath <roland@redhat.com>
      
      Under some circumstances, ptrace PEEK/POKE_TEXT can cause page permissions
      to be permanently changed.  Thsi causes changes in application behaviour
      when run under gdb.
      
      Fix that by only marking the pte as writeable if the vma is marked for
      writing.  A write fault thus unshares the page but doesn't necessarily make
      it writeable.
      c03544dd
    • Andrew Morton's avatar
      [PATCH] slab: print slab name in kmem_cache_init() · a177d62c
      Andrew Morton authored
      Print the name of the offending slab if we're going to go BUG in
      kmem_cache_init().
      a177d62c