1. 04 Jun, 2002 5 commits
    • Robert Love's avatar
      [PATCH] remove suser() · 95c78cd5
      Robert Love authored
      Attached patch replaces the lone remaining suser() call with capable()
      and then removes suser() itself in a triumphant celebration of the glory
      of capable().  Or something. ;-)
      
      Small cleanup of capable() and some comments, too.
      95c78cd5
    • Martin Dalecki's avatar
      [PATCH] 2.5.20 IDE 84 · a73f75e2
      Martin Dalecki authored
       - Simplify ide_cmd_type_parse by removing the handling of commands which we
         never use.
      
       - Realize that pre_task_out_intr and pre_task_mulout_intr are semanticaly
         identical. Use only pre_task_out_intr(). This allowed us to
         eliminate the prehandler altogether.
      
       - Updated fix for misconfigured host chips by Vojtech Pavlik.
      
       - Be more permissive about ioctl handling to allow device type drivers to do
         they own checks.
      
       - ali14xx cleanups by Andrej Panin.
      
       - Unfold usage ide_cmd_type_parser in tcq.c code. This makes this operation
         local to ide-disk.c. Move it as well as the interrupt handlers used only for
         the handling of disk requests there too.
      
       - Guard against calling handler before the drive is ready for it in
         ata_taskfile()! Well this bug was there before, but right now we inform
         about it.
      
       - Unfold ide_cmd_type_praser in ide-disk.c. Merge the remaining bits of it with
         get_command. Well it's no more.
      
       - Move recal_intr to ide.c - the only place where it's used.
      
      This doesn't change the "mechanics" of the code but it makes it a lot more
      "obvious" what's going on.
      a73f75e2
    • Russell King's avatar
      [PATCH] fix 2.5.20 ramdisk · 0f65c90d
      Russell King authored
      2.5.20 seems to be incapable of executing binaries in a ramdisk-based
      root filesystem.  The ramdisk in question is an ext2fs, with a 1K
      block size loaded via the compressed ramdisk loader in do_mounts().
      
      It appears that, in the case of a 1K block sized filesystem, we attempt
      to read two 512-byte sectors into a BIO vector.  The first one is copied
      into the first 512 bytes.  The second sector, however, is copied over
      the first 512 bytes.  Obviously not what we really want.
      
      Rev. 2, slightly cleaned up:
      0f65c90d
    • Linus Torvalds's avatar
      Merge bk://ldm.bkbits.net/linux-2.5 · bee01166
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      bee01166
    • Linus Torvalds's avatar
      Fix extra parenthesis in the constant-address rwlock case. · 6c90d305
      Linus Torvalds authored
      Noted by Alexey Vyskubov
      6c90d305
  2. 03 Jun, 2002 35 commits
    • Patrick Mochel's avatar
      PCI driver mgmt: · 52d16b41
      Patrick Mochel authored
      - Make sure proper pci id is passed to probe()
      - make sure pci_dev->driver is set and reset on driver registration/unregistration
      - call remove_driver to force unload of driver on unregistration
      52d16b41
    • Patrick Mochel's avatar
      Do manual traversing of drivers' devices list when unbinding the driver. · 96d36ec0
      Patrick Mochel authored
      driver_unbind was called when drv->refcount == 0.
      It would call driver_for_each_dev to do the unbinding
      The first thing that would do was get_device, which...
      BUG()'d if drv->refcount == 0. 
      Duh. 
      96d36ec0
    • Patrick Mochel's avatar
      device model udpate: · d6022129
      Patrick Mochel authored
      - make sure drv->devices is initialized on registration (from Peter Osterlund)
      - add remove_driver for forcing removal of driver
      
      There was a potential race with the module unload code. When a pci driver was unloaded, it would call pci_unregister_driver, which would simply call put_driver.
      If the driver's refcount wasn't 0, it wouldn't unbind it from devices, but the module unload would still continue. 
      If something tried to access the driver later (since everyone thinks its still there), Bad Things would happen. 
      This fixes it until there can be tighter integration between the device model and module unload code.
      d6022129
    • Pavel Machek's avatar
      [PATCH] Re: Fix suspend-to-RAM in 2.5.20 · 983d56eb
      Pavel Machek authored
      Here's followup patch that makes it work. Notice freeze_processes() --
      if you don't do that you risk data corruption.
      983d56eb
    • Pavel Machek's avatar
      [PATCH] Cleanup swsusp in 2.5.20 · c2ad32fc
      Pavel Machek authored
      This cleans up swsusp in 2.5.20. Killed sysrq-D support (it is too
      much trouble to support suspending from interrupt), kill unused
      define, fix compile-time warnings (thanks to Adam).
      c2ad32fc
    • Pavel Machek's avatar
      [PATCH] Fix suspend-to-RAM in 2.5.20 · 14f54697
      Pavel Machek authored
      I created arch/i386/suspend.c not to clash with ACPI people so much in
      future. (More stuff is going to move into it in the future, to clean
      up functions that really do not belong to the headers.)
      14f54697
    • Zwane Mwaikambo's avatar
      [PATCH] bluesmoke merge · 5ca5a885
      Zwane Mwaikambo authored
      This patch merges in all the currently outstanding bluesmoke bits from
      2.5-dj to 2.5.20, it also has the pleasant side effect of fixing the
      compilation. Test compiled with and without MCE.
      5ca5a885
    • Dan Kegel's avatar
      [PATCH] must be __KERNEL__ for byteorder/generic.h · c8e2aa59
      Dan Kegel authored
        Here's that patch again (MIME this time, so tabs don't get
        lost by my silly gui mailer); applies cleanly against against 2.4.19-pre8.
        Nobody commented on it last time I posted it, and it does
        make compiling gcc easier, so I guess that makes it trivial patch
        monkey fodder.  Or am I making a silly mistake?
      c8e2aa59
    • Randy Hron's avatar
      [PATCH] remove space in cache names · 1f986d30
      Randy Hron authored
        Most /proc/slabinfo cache_names are in the format:
        cache_name.  There are a couple with spaces in the
        name, which is inconsistent and requires a special case
        when scripting.
      
        Changes "fasync cache" and "file lock cache" to have
        the usual underscore.
      1f986d30
    • William Lee Irwin III's avatar
      [PATCH] static list init page_alloc.c · 2618869b
      William Lee Irwin III authored
        inactive_list and active_list are global, yet they are repeatedly
        initialized using INIT_LIST_HEAD() in free_area_init_core(). This
        patch is originally due to Christoph Hellwig, and by some reports
        has been implementated before in 2.4-based trees by Andrea Arcangeli.
      2618869b
    • William Lee Irwin III's avatar
      [PATCH] remove macros from page_alloc.c · eef1d695
      William Lee Irwin III authored
        The memlist_* macros serve as nothing but an insulation layer from the
        Linux-native generic list operations. This patch removes them in favor
        of using generic list operations directly.
      eef1d695
    • William Lee Irwin III's avatar
      [PATCH] remove antiquated comment · 5a556f26
      William Lee Irwin III authored
        This comment, describing how to optimize for gcc-2.2.2, is so outdated
        it should be removed. It's also quite doubtful it should ever have been
        placed in this file at all (perhaps something under Documentation/ ?).
        This patch removes it.
      5a556f26
    • William Lee Irwin III's avatar
      [PATCH] make memclass() an inline · c453d5fe
      William Lee Irwin III authored
        memclass is too large to be a #define; it overflows 80 columns and does
        not make use of facilities available only to macros.
      
        This patch convert memclass() to be an inline function.
      c453d5fe
    • William Lee Irwin III's avatar
      [PATCH] duplicate decl in sched_init() · 2b227acb
      William Lee Irwin III authored
        I found this one while trying to straighten out bootstrap ordering
        issues elsewhere.
      
        There appears to be a duplicate declaration of rq in sched_init().
        This removes the nested declaration and otherwise leaves things alone.
      2b227acb
    • William Lee Irwin III's avatar
      [PATCH] correct zone_table comment · 5e04fa0a
      William Lee Irwin III authored
        The comment describing the usage of zone_table[] assumes the existence
        of an unsigned char page->zone field from the original implementation
        of page->zone size reduction. This patch corrects the comment to
        accurately describe the lookup mechanism used by page_zone() and also
        to mention explicitly the sole user of the table, page_zone().
      5e04fa0a
    • Rusty Russell's avatar
      [PATCH] TAGS creation should go into arch dirs · eaea1742
      Rusty Russell authored
      Playing with arch stuff does this to you.
      eaea1742
    • Rusty Russell's avatar
      [PATCH] Spelling · b9762f4a
      Rusty Russell authored
      Rusty Russell <rusty@rustcorp.com.au>: Oh, I feel so violated...:
        <sniff>
      b9762f4a
    • Peter Chubb's avatar
      [PATCH] bogus casts in ide-cd.c: · 244417ca
      Peter Chubb authored
        This patch against 2.5.19 gets rid of some bogus casts in ide-cd.c
        In my opinion the casts as is are bugs waiting to happen.
      244417ca
    • Kazuto Miyoshi's avatar
      [PATCH] fix for /proc operation: · d0f3b7fd
      Kazuto Miyoshi authored
        I found that 'max' pointer is not updated in proc_dointvec_minmax()
        and proc_doulongvec_minmax(), when I write smaller values than min to
        /proc/sys entry (and val<*min++ check becomes true.)
        This may lead to min/max checking of values with bogus maximum.
      d0f3b7fd
    • Dan Aloni's avatar
      [PATCH] fix NULL dereferencing in dcache.c · c4023a9c
      Dan Aloni authored
        Unrelated to my first dcache patch, this is something more crucial
        and should be applied first.
      
        fs/dcache.c:
         - handle d_alloc() returning NULL.
      c4023a9c
    • Ghozlane Toumi's avatar
      [PATCH] update to pci_quirks.c · ba047f41
      Ghozlane Toumi authored
        Attached is a really trivial patch that changes an "unknown" PCI_DEVICE_ID
        0x3112 to PCI_DEVICE_ID_VIA_8361 in drivers/pci/quirks.c .
      
        It applies cleanly to 2.5.18 and 2.4.19-pre8.
      ba047f41
    • Brad Hards's avatar
      [PATCH] "General options" - begone · 6e440c18
      Brad Hards authored
        There is more of this janitorial work to come (eg General setup). I'm just
        piecemealing it
      6e440c18
    • Alexander Atanasov's avatar
      [PATCH] ipchains_core GFP_KERNEL fix · e4d533b6
      Alexander Atanasov authored
        [ Made applicable with -p1 by Rusty ]
      
        nlma fixes a call to netlink_broadcast with GFP_KERNEL ( passed to
        skb_clone ) while we are in_interrupt() ( catched by a BUG() in
        slab.c:1109 ).
      e4d533b6
    • Johan Adolfsson's avatar
      [PATCH] Missing include in mm/bootmem.c · e347fa36
      Johan Adolfsson authored
        Missing include of asm_io.h in mm_bootmem.c:
        Submitted this trivial patch on May 14, but nothing has happened yet.
        Perhaps better chance if you took care of it.
      
        It's needed by phys_to_virt() but it happens to work on i386 etc.
        since dma.h includes io.h for that arch.
      e347fa36
    • Trond Myklebust's avatar
      [PATCH] Fix Oops due to use of incorrect km_type in RPC socket code... · 0ed9bc09
      Trond Myklebust authored
      The following has been vetted with davem w.r.t. the change to
      KM_SKB_DATA. Apologies for the bug...
      
      include/asm-*/kmap_types.h:
         Replace the unused km_type slot KM_SKB_DATA with
         KM_SKB_SUNRPC_DATA.
      
      net/sunrpc/xdr.c:
         Replace the use of KM_USER0 with KM_SKB_SUNRPC_DATA for copying
         data from an skb into the page cache when in the sk->data_ready()
         callback.
      0ed9bc09
    • Jens Axboe's avatar
      [PATCH] unplugging fix · 8e9c3ec4
      Jens Axboe authored
      Fix queue plug locking.
      8e9c3ec4
    • Anton Blanchard's avatar
      [PATCH] Fix for recent swap changes on 64 bit archs · ea8e69e8
      Anton Blanchard authored
      This fixes two shift warnings on 64 bit archs.
      ea8e69e8
    • Alexander Atanasov's avatar
      [PATCH] ipchains_core netlink fix · 353e641f
      Alexander Atanasov authored
        oom-loop fixes error handling after a netlink failure - it does not do a
        cleanup and it makes every next call to ip_fw_check to detect a
        loop and drop the packet.
      353e641f
    • Linus Torvalds's avatar
      Merge http://kernel-acme.bkbits.net:8080/copy_to_from_user-2.5 · bd81e60e
      Linus Torvalds authored
      into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
      bd81e60e
    • Robert Love's avatar
      [PATCH] sys_sysinfo cleanup · 916e75e3
      Robert Love authored
      Looks like sys_sysinfo has not been touched in years.  Among other
      things, it uses a global cli() for protection; I switched it to an
      existing rwlock.  I also pulled it out of info.c and stuck it in timer.c
      (I choose timer.c because it shares dependencies there already).
      
      The details:
      
              - move sys_sysinfo to kernel/timer.c from kernel/info.c:
                why one small syscall got its own file is beyond me.
      
              - delete kernel/info.c
      
              - stop the global cli!  now grab a read_lock on xtime_lock.
                this is safe as we moved the write_unlock on xtime_lock
                down one line to cover the calculating of avenrun.
      
              - trivial code cleanup
      916e75e3
    • Robert Love's avatar
      [PATCH] make smp.c preempt-safe · 373c84d2
      Robert Love authored
      The attached patch cleans up some per-CPU code in arch/i386/kernel/smp.c
      that could be problematic under preemption.
      
      The first I solve with the new get_cpu interface, for the second two I
      explicitly disable preemption.  I also changed 1 to 1UL in the shift to
      properly match the type.
      373c84d2
    • Robert Love's avatar
      [PATCH] maintainers update · 5e40a79f
      Robert Love authored
      Might as well make it explicit...
      
      Patch is against 2.5.20, please apply.
      
      	Robert Love
      5e40a79f
    • Robert Love's avatar
      [PATCH] trivial misc. scheduler cleanups · 8d5051db
      Robert Love authored
      Resend of trivial bits from my scheduler tree...:
      
              - shift cpu by 1UL not 1 to match type
              - clarify various comments
              - remove the barrier from preempt_schedule.  This was here
                because I used to check need_resched before returning from
                preempt_schedule but we do not now (although should).  The
                barrier insured need_resched and preempt_count were in sync
                now and after an interrupt that could occur.
      8d5051db
    • Robert Love's avatar
      [PATCH] capability.c cleanup · 810ccd09
      Robert Love authored
      I started looking into a couple FIXMEs in kernel/capability.c and I
      ended up with a fairly largish patch (although not quite so many changes
      to object code).
      
      First, it is unsafe to touch task->cap_* while not holding
      task_capability_lock.  The most notable occurrence of this is sys_access
      which saves the current cap_* values, changes them, does its business,
      then restores them.  In between all this they can change and then be
      restored to old values.  Unfortunately we cannot just grab the lock here
      since the function can sleep - I marked this with a FIXME for now.
      
      Second, I formalized the locking rules with task_capability_lock.  I
      declared the lock in include/linux/capability.h so other code can grab
      it.
      
      Finally, there is a whole boatload of code cleanup:
      
              - remove conditional locking/unlocking - that is just gross
              - don't pointlessly grab the read_lock twice
              - add/remove/edit comments
              - change some types (int -> pid_t, etc)
              - static inline two small functions that are called only
                once each
              - remove two FIXMEs
              - general code cleanup for readability and performance
      
      TODO:
      
              - fix sys_access and other cap_* accesses
              - do something about the annoying oddball 5-space indentation
                in kernel/capability.c !!
      
      Patch is against 2.5.20, please apply.
      
              Robert Love
      810ccd09
    • Robert Love's avatar
      [PATCH] remove wq_lock_t cruft · f0245aac
      Robert Love authored
      This patch removes the whole wq_lock_t abstraction, forcing the behavior
      to be that of a standard spinlock and changes all the wq_lock code in
      the tree appropriately.
      
      Removes lots of code - always a Good Thing to me.  New behavior is same
      as previous behavior (USE_RW_WAIT_QUEUE_SPINLOCK unset).
      f0245aac