- 05 Sep, 2003 36 commits
-
-
Linus Torvalds authored
This also fixes the bug with MAP_SEM being potentially interpreted as VM_SHARED.
-
Jamie Lokier authored
This moves the mapping of PROT_* bits to VM_* bits from mmap.c to the common header file <linux/mman.h>. The mapping is needed for mprotect too.
-
Alexander Viro authored
old_decode_dev()/old_encode_dev() added where needed in other filesystems. Parts in different filesystems are independent, but IMO it's not worse splitting into a dozen of half-kilobyte patches.
-
Alexander Viro authored
nfs_fattr->rdev switched to dev_t; code that unpacks on-the-wire attributes does explicit conversion now.
-
Alexander Viro authored
HPFS code that uses EAs for storing i_rdev/i_mode/i_uid/i_gid sanitized.
-
Alexander Viro authored
Similar fix for UFS; touching device node (and they have 32bit dev_t) ends up killing upper 16 bits, which makes for very unhappy *BSD, since that turns /dev/ad0s1 into alias of /dev/ad0. Again, for now we store on-disk value in private part of inode and use it instead of ->i_rdev in ->write_inode().
-
Alexander Viro authored
Fix for JFS handling of device nodes; it has 32bit on-disk device numbers, shoves them into 16bit (->i_rdev) when inode is read and writes them back truncated when inode is written to disk. For now (and 2.4 will have to do the same permanently) we store the original value in private part of inode and use it instead of ->i_rdev in ->write_inode(); mknod() sets it at the same time as ->i_rdev. It will become unnecessary when dev_t becomes wider than 16 bits, but for now we need it.
-
Alexander Viro authored
Fix for endianness bug in UDF: it writes major and minor as 32bit host-endian and reads them as 32bit little-endian; obviously a bad idea on big-endian boxen ;-) Needed both for 2.4 and 2.6.
-
Alexander Viro authored
beginning of fs side work: * new helpers - old_valid_dev(), old_encode_dev() and old_decode_dev() * old_valid_dev() checks if dev_t value is OK for old filesystems (i.e. both major and minor are below 256). * old_valid_dev() calls are added in ->mknod() instances that care about dev_t values (disk-backed and network ones). * old_encode_dev() and old_decode_dev() convert dev_t -> u16 and u16 -> dev_t resp; currently these are no-ops, places that use current formar (minor in bits 0--7, major in bits 8--15) will switch to these before we widen dev_t.
-
Alexander Viro authored
kdev_t, to_kdev_t(), etc. are gone - there is no more objects of that type and no remaining callers of these functions.
-
Alexander Viro authored
the last kdev_t object is gone; ->i_rdev switched to dev_t.
-
Alexander Viro authored
tty redirect handling sanitized. Such ttys (/dev/tty and /dev/console) get a different file_operations; its ->write() handles redirects; checks for file->f_op == &tty_fops updated, checks for major:minor being that of a redirector replaced with check for ->f_op->write value. Piece of code in tty_io.c that had been #if 0 since 0.99<something> had been finally put out of its misery. kdev_val() is gone.
-
Alexander Viro authored
cdevname() killed, there was only one remaining user (tty_paranoia_check()) and in that case cdevname() was worse than plain major:minor (basically, it's "you've got corrupted inode that was supposed to belong to tty device; here's what I'd found in ->i_rdev")
-
Alexander Viro authored
cciss cleanup - instead of playing with device numbers, we add helper functions that get host and drive structures by gendisk and use them in open/ioctl/release, same as had been done for cpqarray.
-
Alexander Viro authored
paride/pt.c cleanups - passing pointer to pt_unit instead of index in array; same as had been done for pd/pcd/pf.
-
Alexander Viro authored
floppy98 ->probe() forgot to set *part to 0; fixed.
-
Alexander Viro authored
misc trivial cleanups
-
bk://bk.arm.linux.org.uk/linux-2.6-rmkLinus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
Russell King authored
-
Russell King authored
-
Russell King authored
- Don't write the current time back to the RTC on suspend - we may jump over a programmed wakeup alarm. - Restore SA1100 GPIO output state
-
Russell King authored
- Suspend and resume system devices. - If device suspend fails, don't suspend.
-
Russell King authored
Some ARM CPUs don't allow CP15 CR1 control register to be read. Therefore, to ensure that the value hits the control register on Xscale, read back the CP15 CR0 ID register instead.
-
Russell King authored
On ARM, we oops when we detect that an interrupt handler has unbalanced the preempt count. We should restore the preempt count when we started to handle the interrupt and then cause the oops.
-
Russell King authored
-
Russell King authored
-
Russell King authored
-
Paul Fulghum authored
* replace previously removed NULL context check (causes oops when opening non existent device)
-
Paul Fulghum authored
* replace previously removed NULL context check (causes oops when opening non existent device)
-
Paul Fulghum authored
* add RCC underrun handling * fix stats output typo * replace previously removed NULL context check (causes oops when opening non existent device)
-
Arjan van de Ven authored
This fixes a "miscompile" HP reported against gcc 3.3 with -march-pentium4. It turned out to be a non-complete asm contraint. the existing constraint on "opt" was on the address of "opt", which allowed gcc to reorder the setting of the fields inside opt to beyond the asm that uses it, which is less than useful at best.
-
Jamie Lokier authored
This changes the way futexes are indexed, so that they don't pin pages. It also fixes some bugs with private mappings and COW pages. Currently, all futexes look up the page at the userspace address and pin it, using the pair (page,offset) as an index into a table of waiting futexes. Any page with a futex waiting on it remains pinned in RAM, which is a problem when many futexes are used, especially with FUTEX_FD. Another problem is that the page is not always the correct one, if it can be changed later by a COW (copy on write) operation. This can happen when waiting on a futex without writing to it after fork(), exec() or mmap(), if the page is then written to before attempting to wake a futex at the same adress. There are two symptoms of the COW problem: - The wrong process can receive wakeups - A process can fail to receive required wakeups. This patch fixes both by changing the indexing so that VM_SHARED mappings use the triple (inode,offset,index), and private mappings use the pair (mm,virtual_address). The former correctly handles all shared mappings, including tmpfs and therefore all kinds of shared memory (IPC shm, /dev/shm and MAP_ANON|MAP_SHARED). This works because every mapping which is VM_SHARED has an associated non-zero vma->vm_file, and hence inode. (This is ensured in do_mmap_pgoff, where it calls shmem_zero_setup). The latter handles all private mappings, both files and anonymous. It isn't affected by COW, because it doesn't care about the actual pages, just the virtual address. The patch has a few bonuses: 1. It removes the vcache implementation, as only futexes were using it, and they don't any more. 2. Removing the vcache should make COW page faults a bit faster. 3. Futex operations no longer take the page table lock, walk the page table, fault in pages that aren't mapped in the page table, or do a vcache hash lookup - they are mostly a simple offset calculation with one hash for the futex table. So they should be noticably faster. Special thanks to Hugh Dickins, Andrew Morton and Rusty Russell for insightful feedback. All suggestions are included.
-
bk://kernel.bkbits.net/davem/net-2.5Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
Bartlomiej Zolnierkiewicz authored
From Matias Alejo Garcia <kernel@matiu.com.ar>.
-
Russell King authored
MODULE_ALIAS_LDISC() is not in any way architecture-specific, so don't put it in architecture header files. Here's a patch which moves it to a more sensible location.
-
Jens Axboe authored
The "insert_here" list pointer logic was broken, and unnecessary. Kill it and its associated logic off completely - just tell the IO scheduler what kind of insert it is. This also makes the *_insert_request strategies much easier to follow, imo.
-
- 04 Sep, 2003 4 commits
-
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-
John Levon authored
-