- 08 Mar, 2003 30 commits
-
-
Andrew Morton authored
Patch from Andries.Brouwer@cwi.nl The next patch in the dev_t series eliminates the last applied use of MAX_BLKDEV - only the definition in major.h remains. Sneaky as I am, I combine this patch with the fix for an Oops: On open, raw_open does filp->f_dentry->d_inode->i_mapping = bdev->bd_inode->i_mapping; storing a pointer to bdev stuff. But on release this pointer stayed, the block device is not referenced anymore and disappears, and the next open references undefined stuff. I checked, and this can actually cause an Oops - scenario: # raw /dev/raw/raw12 /dev/hdf # dd if=/dev/raw/raw12 of=/dev/null bs=512 count=1 # raw /dev/raw/raw12 0 0 # dd if=/dev/raw/raw12 of=/dev/null bs=512 count=1 Oops. More precisely the problem is that dentry_open does file_ra_state_init(&f->f_ra, inode->i_mapping); And file_ra_state_init uses mapping->backing_dev_info->ra_pages. Ugly, to use so much information about the inode even before the inode has been opened. In the patch below I reset i_mapping upon release of the raw device. akpm: I fixed a typo and exported default_backing_dev_info to GPL modules for this.
-
Andrew Morton authored
This message is the source of 90% of the traffic on linux-smp and is now starting to fill up kernel bugzilla. Nobody has ever actually done anything about it and the message is wasting people's time. Ingo acked this change.
-
Andrew Morton authored
Patch from Zwane Mwaikambo <zwane@linuxpower.ca> Scale the buffer which is used for accumulating the /proc/interrupts output. On large SMP it overflows.
-
Andrew Morton authored
Patch from Jason Lunz <lunz@falooley.org> When support for the GSET and SSET ethtool ioctls was added to eepro100.c in 2.4.20, the tx lock was overloaded to serialize their use. Unfortunately, this lock is only initialized in dev->open(), causing ethtool to deadlock the machine when used on an unconfigured eepro100 interface. The fix is to initialize the spinlock at probe time.
-
Andrew Morton authored
show_interrupts() is accidentally modifying the incoming seq_file pointer. It goes oops if seq_printf() returns non-zero.
-
Andrew Morton authored
Patch from Zwane Mwaikambo <zwane@linuxpower.ca> On SMP or preemptible kernels, every instance of show_interrupts() is oopsily racy wrt request_irq() and free_irq(). Fix that up by taking the irq_desc_t's lock while walking the action list.
-
Andrew Morton authored
Patch from Andreas Gruenbacher <agruen@suse.de> Tony Dziedzic has found two bugs in the extended attributes code. Patches with explanations are attached. 1: Extended attribute sharing on ext2/ext3 not working The mb_cache_entry_insert function constantly returns an -EBUSY error instead of 0, which causes the xattr cache that is needed by the xattr sharing mechanism on ext2/ext3 to not share anything. This patch fixes the problem. (It is possible that after applying this fix we will hit bugs in code that wasn't used before.) 2: Oops in one of the xattr debug statements: The old_bh variable is NULL if an inode that previously had no EA's assigned would share an EA block with another inode. (This was hidden by the xattr sharing bug).
-
Andrew Morton authored
- Fix an error-path leak of memory and a dentry in load_elf_binary() (spotted by Oleg Drokin). - Tidy up the handling of bad executable images: return -ENOEXEC rather than 0. (We've committed suicide anyway, so probably nobody gets to see this). - Fix up the logic in load_aout_interp(). It gets itself all set up to return -ENOEXEC but there is in fact no path by which it can do this. Just return ~0UL on errors, like load_elf_interp().
-
Andrew Morton authored
Fix a double-kfree on an ext2 error path. Reported by Oleg Drokin.
-
Andrew Morton authored
Patch from Kevin Pedretti <pedretti@ieee.org> The unmap_vmas() logic is designed to chew away at all the pages without holding off preemption for too long. But with CONFIG_SMP=y and CONFIG_PREEMPT=y the number of pages which we batch up between rescheduling opportunities is not a multiple of HPAGE_SIZE. So unmap_vmas() ends up calling unmap_hugepage_range() with a poorly aligned&sized region, and it goes BUG. Fix that up by ensuring that we always work across hugepage regions in HPAGE_SIZE chunks.
-
Andrew Morton authored
Fix up some unchecked copy_to_user()s
-
Andrew Morton authored
Patch from: Shmulik Hen <hshmulik@intel.com> The following patch fixes a division by zero bug in the bonding module that happens when transmitting through a bond with no slaves, in the XOR bonding mode.
-
Andrew Morton authored
Patch from Tom Rini <trini@kernel.crashing.org> Take CONFIG_SWAP out of the top-level menu into the general setup menu. Make it dependent on CONFIG_MMU and common to all architectures.
-
Andrew Morton authored
Patch from Xavier Bru <Xavier.Bru@bull.net> If copy_page_range encounters a pte which maps an invalid pageframe it will proceed to try to add an rmap entry against that page. This causes oopses when an application which has mapped an IO device via /dev/mem forks. Fix that up by correctly skipping the page_add_rmap() for these pte's.
-
Andrew Morton authored
use print_symbol() to decode the offender's program counter.
-
Andrew Morton authored
Patch from Manfred Spraul <manfred@colorfullife.com> A patch that records the last kfree caller's program counter and prints that if a poison check fails.
-
Andrew Morton authored
Patch from Petr Vandrovec <vandrove@vc.cvut.cz> Modifies check_poison function to not only verify that last byte is POISON_END, but also that all preceeding bytes are either POISON_BEFORE or POISON_AFTER bytes.
-
Andrew Morton authored
Patch from Hugh Dickins <hugh@veritas.com> Hugh's patch fixes vm_area_struct slab corruption due to mremap's move_vma mistaking how do_munmap splits vmas in one case. Neither of us are very happy with it - it is fragile, and obscure. Hugh will revisit this later, but for now it should fix up the potential memory corruption.
-
Andrew Morton authored
Patch from Ravikiran G Thirumalai <kiran@in.ibm.com> Makes the disk stats on struct gendisk per-cpu.
-
Andrew Morton authored
Some workloads really, really want to have no readahead. Databases which are perfoming small synchronous I/Os against a file which has extremely poor layout. Any readahead at all is a lose here. But the current readahead code refuses to adapt that low. Fix it up so that we can indeed adaptively disable readahead altogether, and do not start it again until we have seen max_readahead()'s worth of consecutive reads.
-
Andrew Morton authored
Patch from Trond Myklebust <trond.myklebust@fys.uio.no> Implement sendfile() for the NFS client. This is required for loop-on-NFS support.
-
Andrew Morton authored
Tasks which throttle in balance_dirty_pages() will loop until the amount of dirty memory falls below the configured dirty_ratio. This exposes the possibility that one task could be stuck in there for arbitrary periods of time due to page dirtying activity by other tasks. The patch changes the logic so that tasks will break out of the loop if they have written enough pages, regardless of the current dirty memory limits. Here "enough" pages is 1.5x the number of pages which they just dirtied. If the amount of dirty memory in the machine happens to still exceed dirty_ratio (say, due to MAP_SHARED activity) then the task will again throttle after dirtying a single page. But there is now an upper limit on the time for which a single task will be captured in balance_dirty_pages().
-
Andrew Morton authored
Patch from Andries.Brouwer@cwi.nl The following patch does the following: - static const char *blkdevs[MAX_BLKDEV]; disappears - get_blkdev_list, (un)register_blkdev, __bdevname are moved from block_dev.c to genhd.c - the third "fops" parameter of register_blkdev was unused; now removed everywhere - zillions of places had printk("cannot get major") upon error return from register_blkdev; removed all of these and inserted a single printk in register_blkdev. Of course the reason for the patch is that one fixed size array is eliminated.
-
Martin J. Bligh authored
I'm getting a lot of cacheline bounce from .text.lock.file_table due to false sharing of the cahceline. The following patch just aligns the lock in it's own cacheline.
-
Martin J. Bligh authored
People keep asking for this info, and Andrew asked me to put it under the Documentation directory ... provides really simple instructions for taking a profile so that users can report performance changes in a useful way.
-
Martin J. Bligh authored
From Andy Whitcroft Fix the type of get_zholes_size for NUMA-Q
-
Martin J. Bligh authored
From Andy Whitcroft Convert physnode_map from an int to a u8 to save cachelines.
-
Martin J. Bligh authored
From Andy Whitcroft A few very simple changes in order to make CONFIG_NUMA work everywhere, so the distros can build one common binary kernel for distributions.
-
Martin J. Bligh authored
From Andy Whitcroft Share a common physnode_map structure between NUMA-Q and Summit.
-
bk://kernel.bkbits.net/davem/sparc-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
- 07 Mar, 2003 1 commit
-
-
bk://linux-dj.bkbits.net/watchdogLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
- 08 Mar, 2003 1 commit
-
-
Dave Jones authored
-
- 07 Mar, 2003 8 commits
-
-
http://linux-isdn.bkbits.net/linux-2.5.isdnLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/sparc-2.5
-
David S. Miller authored
-
Robert Love authored
This is a minor cleanup. We currently define and declare the BKL's kernel_flag spinlock on either SMP or PREEMPT, which means a UP+PREEMPT machine gets it. We only need the actual lock on SMP.
-
Kai Germaschewski authored
into tp1.ruhr-uni-bochum.de:/scratch/kai/kernel/v2.5/linux-2.5.isdn
-
Marcel Holtmann authored
-
Linus Torvalds authored
-
Linus Torvalds authored
-