1. 05 Sep, 2003 36 commits
    • Linus Torvalds's avatar
      Fix mprotect() to do proper PROT_xxx -> VM_xxx translation. · 3377ea43
      Linus Torvalds authored
      This also fixes the bug with MAP_SEM being potentially
      interpreted as VM_SHARED.
      3377ea43
    • Jamie Lokier's avatar
      [PATCH] Common PROT_xxx -> VM_xxx mapping · d04668a7
      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.
      d04668a7
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (15/15) · a1f6ff21
      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.
      a1f6ff21
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (14/15) · 0dbd0f68
      Alexander Viro authored
      	nfs_fattr->rdev switched to dev_t; code that unpacks on-the-wire
      attributes does explicit conversion now.
      0dbd0f68
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (13/15) · 81eec8eb
      Alexander Viro authored
      	HPFS code that uses EAs for storing i_rdev/i_mode/i_uid/i_gid
      sanitized.
      81eec8eb
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (12/15) · e89e1d3b
      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().
      e89e1d3b
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (11/15) · ec55b83d
      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.
      ec55b83d
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (10/15) · d84b5b0b
      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.
      d84b5b0b
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (9/15) · b418f880
      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.
      b418f880
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (8/15) · 5900b098
      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.
      5900b098
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (7/15) · ad1da81a
      Alexander Viro authored
      	the last kdev_t object is gone; ->i_rdev switched to dev_t.
      ad1da81a
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (6/15) · cbac67b1
      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.
      cbac67b1
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (5/15) · 25a6ca89
      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")
      25a6ca89
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (4/15) · fee64f65
      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.
      fee64f65
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (3/15) · 98ba005d
      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.
      98ba005d
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (2/15) · 890b6a7a
      Alexander Viro authored
      	floppy98 ->probe() forgot to set *part to 0; fixed.
      890b6a7a
    • Alexander Viro's avatar
      [PATCH] large dev_t - second series (1/15) · b9e8bb61
      Alexander Viro authored
      	misc trivial cleanups
      b9e8bb61
    • Linus Torvalds's avatar
      Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk · fd7c9d21
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      fd7c9d21
    • Russell King's avatar
      [ARM] Kill snprintf formatting warning. · 7b89f42f
      Russell King authored
      7b89f42f
    • Russell King's avatar
    • Russell King's avatar
      [ARM] Fix PXA and SA1100 suspend/resume · 3a5dccf9
      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
      3a5dccf9
    • Russell King's avatar
      [ARM] Fix ARM suspend-to-RAM. · dccfefd2
      Russell King authored
      - Suspend and resume system devices.
      - If device suspend fails, don't suspend.
      dccfefd2
    • Russell King's avatar
      [ARM] Don't read the CPU control reg back - it may be write only. · 226b6932
      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.
      226b6932
    • Russell King's avatar
      [ARM] Restore preempt count before reporting unbalanced preempt count · a350bc24
      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.
      a350bc24
    • Russell King's avatar
      d8376671
    • Russell King's avatar
      993618b8
    • Russell King's avatar
    • Paul Fulghum's avatar
      [PATCH] 2.6.0-test4 synclink_cs.c · 86300396
      Paul Fulghum authored
      * replace previously removed NULL context check
        (causes oops when opening non existent device)
      86300396
    • Paul Fulghum's avatar
      [PATCH] 2.6.0-test4 synclinkmp.c · aaac1969
      Paul Fulghum authored
      * replace previously removed NULL context check
        (causes oops when opening non existent device)
      aaac1969
    • Paul Fulghum's avatar
      [PATCH] 2.6.0-test4 synclink.c · 85a98c38
      Paul Fulghum authored
      * add RCC underrun handling
      * fix stats output typo
      * replace previously removed NULL context check
        (causes oops when opening non existent device)
      85a98c38
    • Arjan van de Ven's avatar
      [PATCH] incomplete asm constraints in arch/i386/pci/pcbios.c · 8ac81570
      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.
      8ac81570
    • Jamie Lokier's avatar
      [PATCH] Unpinned futexes v2: indexing changes · 968f11a8
      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.
      968f11a8
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/net-2.5 · 707c584e
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      707c584e
    • Bartlomiej Zolnierkiewicz's avatar
      [PATCH] ide: fix ide_cs oops with TCQ · b99c2656
      Bartlomiej Zolnierkiewicz authored
      From Matias Alejo Garcia <kernel@matiu.com.ar>.
      b99c2656
    • Russell King's avatar
      [PATCH] Move MODULE_ALIAS_LDISC to tty_ldisc.h · 73790646
      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.
      73790646
    • Jens Axboe's avatar
      [PATCH] fix IO hangs · cadf0417
      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.
      cadf0417
  2. 04 Sep, 2003 4 commits