- 03 Jun, 2004 40 commits
-
-
Paul Mackerras authored
The ppc32 boot code has a couple of files that are executed very early on before the kernel is mapped at the address it is linked at. We have been using -mrelocatable-lib to compile these files, but apparently -mrelocatable-lib is deprecated and the gcc developers are threatening to remove it. In fact the -fPIC flag does what we need. This patch changes -mrelocatable-lib to -fPIC. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mackerras authored
In the ppc32 kernel, we have a /proc/ppc_htab file that trawls through the MMU hash table and prints various statistics on it such as percent occupancy. However, the hash table entry format is different on 64-bit cpus (POWER3, G5) which the ppc32 kernel does support (in 32-bit mode). This patch disables the scanning of the MMU hash table and printing of the statistics that we get from it on 64-bit cpus. Since the statistics are only for interest, and the ppc32 kernel is being used less and less on 64-bit cpus now that the ppc64 kernel is in reasonable shape, I didn't think it worth while to add code to deal with the 64-bit HPTE format. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mackerras authored
This patch is the ppc32 counterpart to a fix that went into arch/i386/kernel/irq.c last October. The bug was noted by Al Viro: if no handler exists, and we have IRQ_INPROGRESS set because of an earlier irq that got through, synchronize_irq() will end up waiting forever. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mackerras authored
I tried compiling a PPC32 kernel with PREEMPT + SMP and it failed because we didn't have a _raw_write_trylock. This patch adds _raw_write_trylock, moves the exports of _raw_*lock from arch/ppc/kernel/ppc_ksyms.c to arch/ppc/lib/locks.c, and makes __spin_trylock static since it is only used in locks.c. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Linus Torvalds authored
-
Andrew Morton authored
clean_blockdev_aliases() is using the wrong thing to work out how many filesystem blocks should be invalidated. It invalidates too many, which can cause live fs metadata buffers to be invalidated when they are pending writeout. It's a filesystem-wrecker, although seems very hard to hit. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Jerzy Szczepkowski <js189202@zodiac.mimuw.edu.pl> There is a bug in sys_io_setup(). If ioctx_alloc() succeeds and put_user() fails io_destroy() is called. io_destroy() assumes that ioctx->users >= 2 (if context is alive) and calls put_ioctx twice, while in this sequence ioctx->users == 1. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: "Patrick J. LoPresti" <patl@users.sourceforge.net> This patch changes default_cylinders, default_heads, default_sectors_per_track, legacy_max_cylinder, legacy_max_head, legacy_sectors_per_track, and sectors to decimal. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: "Patrick J. LoPresti" <patl@users.sourceforge.net> Renames legacy_heads to legacy_max_head legacy_sectors to legacy_sectors_per_track. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Nathan Lynch <nathanl@austin.ibm.com> The hotcpu_notifier macro does not properly record the given priority in the notifier block. This causes trouble only for callers which specify a non-zero priority, of which there are none (yet). Signed-off-by: Nathan Lynch <nathanl@austin.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Jeff Mahoney <jeffm@suse.com> Chris Mason and I ran across this one while hunting down another bug. If ext3_mark_iloc_dirty() fails in ext3_orphan_del() on the outer buffer, bh->b_count will be decremented twice. ext3_mark_iloc_dirty() will brelse the buffer, even on error. ext3_orphan_del() is explicity brelse'ing the buffer on error. Prior to calling ext3_mark_iloc_dirty(), this is the correct behavior. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Matt Tolentino <metolent@snoqualmie.dp.intel.com> The elilo EFI boot loader has been moved to sourceforge. So, update the location of where one might look for it. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Matt Tolentino <metolent@snoqualmie.dp.intel.com> The /proc support for efi 'stuff' isn't used/needed anymore, yet the efi_dir declaration remains. This removes it. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Jan Kara <jack@ucw.cz> Fix a problem in the old quota format when we tried to read quota information after the end of quota file (that is correct as it might a user with sufficiently large UID which has no limits or usage). Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Jan Kara <jack@ucw.cz> Fixes a problem with some quota operations not writing the quota info they changed which could later cause that some transaction to use more buffers than it had reserved or it could cause corrupted quota files when the system was rebooted at the right time. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Martin Schwidefsky <schwidefsky@de.ibm.com> Network driver changes: - iucv: Fix special case of a "Connection Pending" interrupt within iucv_do_int. - netiucv: Revoke broken iucvMagic change for more than one connection. - qeth: Fix string parsing in notifier_register attribute function. - qeth: Add code for socket ioctl SIOC_QETH_GET_CARD_TYPE. - qeth: Fix debug log entry and buffer copy in qeth_snmp_command_cb. - qeth: Fix race on qeth_dbf_txt_buf. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Martin Schwidefsky <schwidefsky@de.ibm.com> block device driver changes: - dasd: Fix diag discipline if it is loaded as a module. - dcssblk: Replace r/w lock with r/w semaphore to be able to call device_register inside a critical section. - dcssblk: Fix error handling in write function for dcss "add" attribute. - xpram & dcssblk: Fix sanity check for sector number. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Martin Schwidefsky <schwidefsky@de.ibm.com> Common i/o layer changes: - qdio: Lose the adapter lock for thin interrupts to improve performance and do unregister of the adapter interrupt handler with rcu. - ccwgroup: Fix error handling when creating a ccwgroup device. - Convert the slow crw kernel thread to a single threaded workqueue. - Use the slow crw workqueue to unregister a subchannel after it was found not operational to serialize it with other possible unregister/ register events coming in via machine checks. - Trigger a rescan of the css via the slow path if a missing channel path is found in __recover_lost_chpids. - Use saner default levels for the debug feature, add some debugging code. - Remove request_irq and free_irq stubs. - Remove bogus inlines. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Martin Schwidefsky <schwidefsky@de.ibm.com> s390 core changes: - Make use of the ipte instruction for ptep_set_access_flags - Fix atomic64_inc_and_test primitive as well. - Fix return type handler for __copy_in_user. - New default configuration. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: David Gibson <david@gibson.dropbear.id.au> Currently the hugepage code stores the hugepage destructor in the mapping field of the second of the compound pages. However, this field is never cleared again, which causes tracebacks from free_pages_check() if the hugepage is later destroyed by reducing the number in /proc/sys/vm/nr_hugepages. This patch fixes the bug by clearing the mapping field when the hugepage is freed. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Chris Mason <mason@suse.com> When filling holes via DIRECT_IO, we fall back to normal buffered io. For this to work properly, the direct io funcs have to return a value of zero to the file write functions, so the file write functions know where to start writing. In some cases, dio->result was getting returned by direct_io_worker, and that wasn't always zero, causing some data not to be written. From: <akpm@osdl.org>: - Simplify things by setting `ret' later on, fix up subsequent damage to the dio_complete() args. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: David Gibson <david@gibson.dropbear.id.au> Currently, calling msync() on a hugepage area will cause the kernel to blow up with a bad_page() (at least on ppc64, but I think the problem will exist on other archs too). The msync path attempts to walk pagetables which may not be there, or may have an unusual layout for hugepages. Lucikly we shouldn't need to do anything for an msync on hugetlbfs beyond flushing the cache, so this patch should be sufficient to fix the problem. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: David Mosberger <davidm@napali.hpl.hp.com> Darrene Williams <dsw@gelato.unsw.edu.au> noticed that the #endif for __ARCH_WANT_SYS_SIGPROCMASK was off by one routine. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: William Lee Irwin III <wli@holomorphy.com> start_jiffies was not respected by set_timeout(), which reread jiffies instead of respecting what read_events() passed it. This difference can be significant, particularly if the calling process slept during the copy_to_user() operation in read_events(). To correct this, this patch teaches it to respect its argument, with the additional bonus of converting it to use timespec_to_jiffies() instead of open-coding it. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: William Lee Irwin III <wli@holomorphy.com> The time conversion functions may have const args, which is in fact useful for when they are passed const variables as arguments so as to avoid discarding qualifiers from pointer types warnings. This is a preparatory cleanup for a minor aio bugfix. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br> Remove duplicated assignment. Signed-off by: Luiz Capitulino <lcapitulino@prefeitura.sp.gov.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Marcus Meissner <meissner@suse.de> Add DM_REMOVE_ALL_32 to the list of compatible ioctls. Signed-off-By: Marcus Meissner <meissner@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br> In fs/ext3/super.c::ext3_get_journal() at line 1675 `journal' can be NULL, but it is not handled right (detect by Coverity's checker). Signed-off by: Luiz Capitulino <lcapitulino@prefeitura.sp.gov.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Russell King <rmk+lkml@arm.linux.org.uk> It appears the loop driver has had one flush_dcache_page() call added for the case where it writes to the backing device page cache pages. However, it seems to be missing the call where it writes to its own page cache pages. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Jack Steiner <steiner@sgi.com> It looks like the call to sched_balance_exec() from do_execve() is in the wrong spot. The code calls sched_balance_exec() before determining whether "filename" actually exists. In many cases, users have several entries in $PATH. If a full path name is not specified on the 'exec" call, the library code iterates thru the files in the PATH list until it finds the program. This can result is numerous migrations of the parent process before the program is actually found. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Paul Slootman <paul+nospam@wurtel.net> Correctly set the floppy disk's first minor. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Stephen Smalley <sds@epoch.ncsc.mil> This patch changes security_context_to_sid to check the length of the processed security context against the full length of the provided context, rejecting any further data. Signed-off-by: Stephen Smalley <sds@epoch.ncsc.mil> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
`make buildcheck' only checks for calls to linker discarded sections, reference_init checks for calls to sections discarded at run time, init was cloned from discarded. They are separate because the linker detects the discarded case and I did not want to confuse users with messages about init text/data while they were fixing the linker errors. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Andries Brouwer <Andries.Brouwer@cwi.nl> The patch examines a putative partition table, and if that doesnt look like a valid partition table it goes away again. Some devices have partition tables (and there are many styles of such), some don't. Traditionally fixed disks have one, floppies don't. Nobody knows what happens with ZIP disks, USB sticks and other such things. Both the DOS-type partition table, and the "big floppy" whole disk FAT filesystem are common. It is undesirable for the kernel to detect partitions where there are none. This leads to great confusion, sometimes to kernel crashes. In the particular case of DOS-type partition tables a partition entry has a 1-byte field boot_ind that traditionally is 0x80 for the boot partition and 0 for the other three primary partitions. Linux does not use this field, and one sometimes sees tables with all four entries zero. The patch tells the kernel not to think that something is a valid DOS-type partition table when a value other than 0 or 0x80 is encountered. I think it is a fairly safe change: I do not know of any fdisk-type program that will write other values there. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Nathan Lynch <nathanl@austin.ibm.com> On some systems it can take a hotplugged cpu much longer to come up than it would at boot. If the cpu comes up after we've given up on it, it tends to die in its first attempt to kmem_cache_alloc (uninitialized percpu data, I imagine). In my experimentation I haven't seen a processor take more than one second to become available; the patch waits five seconds just to be safe. Signed-off-by: Nathan Lynch <nathanl@austin.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Olaf Hering <olh@suse.de> /proc/iSeries/config contains now the number of configured virtual ethernet adapters. AVAILABLE_VETH should only indicate if there is at least one interface available, iseries_veth must be loaded in this case. Printing the entire map will give installers some hints about what interface numbers will appear and how the MAC address may look like. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Olaf Hering <olh@suse.de> `-64' is no longer a valid option for as. Pass it `-a64' instead. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
From: Matt Porter <mporter@kernel.crashing.org> DCR number is encoded in mfdcr/mtdcr command itself and this prevents easy DCR access when register number is not known on compile time. This patch adds __mfdcr & __mtdcr helpers which use pre-generated mfdcr/mtdcr sequences for all possible DCR numbers. We also use GCC extension __builtin_constant_p to optimize cases when DCR number is in fact known during compilation. Signed-off-by: Eugene Surovegin <ebs@ebshome.net> Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
- Off-by-one in balance_pgdat means that we're not scanning the zones all the way down to priority=0. - Always set zone->temp_priority in shrink_caches(). I'm not sure why I had the `if (zone->free_pages < zone->pages_high)' test in there, but it's preventing us from setting ->prev_priority correctly on the try_to_free_pages() path. - Set zone->prev_priority to the current priority if it's currently a "lower" priority. This allows us to build up the pressure on mapped pages on the first scanning pass rather than only on successive passes. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
Writing to ramfs files with O_SYNC dereferences null in mpage_writepages(), due to null a_ops->writepage. The call path is generic_file_aio_write_nolock ->generic_osync_inode ->write_inode_now ->__writeback_single_inode ->__sync_single_inode ->do_writepages ->mpage_writepages The best fix for this is to visit all ram-backed filesystems and give them a no-op a_ops.writepages. But baling out if the file is memory-backed is a sufficient coverall and is how we handle this in __filemap_fdatawrite(). Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-