1. 30 May, 2007 3 commits
    • Russell King's avatar
      [ARM] oprofile: avoid lockdep warnings on mpcore oprofile init · 28c670cb
      Russell King authored
      Fix lockdep warnings, caused by 'set_affinity' being called without
      the correct locks taken and local interrupts disabled:
      
      =================================
      [ INFO: inconsistent lock state ]
      2.6.22-rc2 #1
      ---------------------------------
      inconsistent {in-hardirq-W} -> {hardirq-on-W} usage.
      swapper/1 [HC0[0]:SC0[0]:HE1:SE1] takes:
      (irq_controller_lock){++..}, at: [<c002be50>] gic_set_cpu+0x60/0xa0
      {in-hardirq-W} state was registered at:
       [<c005d9a8>] lock_acquire+0x58/0x6c
       [<c0233068>] _spin_lock+0x40/0x50
       [<c002c020>] gic_mask_irq+0x2c/0x6c
       [<c0069c64>] handle_level_irq+0x11c/0x14c
       [<c0020060>] asm_do_IRQ+0x60/0x84
       [<c0020d2c>] __irq_svc+0x4c/0xc0
       [<c000ed84>] __alloc_bootmem_nopanic+0x74/0x88
       [<c000edb0>] __alloc_bootmem+0x18/0x3c
       [<c000fa00>] alloc_large_system_hash+0x16c/0x200
       [<c00108dc>] inode_init_early+0x5c/0xa4
       [<c00106dc>] vfs_caches_init_early+0x24/0xa0
       [<c0008e54>] start_kernel+0x220/0x2fc
       [<00008078>] 0x8078
      irq event stamp: 88438
      hardirqs last  enabled at (88438): [<c0020dc0>] preempt_return+0x20/0x2c
      hardirqs last disabled at (88436): [<c00417bc>] __do_softirq+0xb0/0x138
      softirqs last  enabled at (88437): [<c0041810>] __do_softirq+0x104/0x138
      softirqs last disabled at (88428): [<c0041d9c>] irq_exit+0x68/0x7c
      
      other info that might help us debug this:
      no locks held by swapper/1.
      
      stack backtrace:
      [<c0025ecc>] (dump_stack+0x0/0x14) from [<c005b1e4>] (print_usage_bug+0x138/0x168)
      [<c005b0ac>] (print_usage_bug+0x0/0x168) from [<c005be80>] (mark_lock+0x484/0x6a0)
      [<c005b9fc>] (mark_lock+0x0/0x6a0) from [<c005cc48>] (__lock_acquire+0x3c0/0x10c8)
      [<c005c888>] (__lock_acquire+0x0/0x10c8) from [<c005d9a8>] (lock_acquire+0x58/0x6c)
      [<c005d950>] (lock_acquire+0x0/0x6c) from [<c0233068>] (_spin_lock+0x40/0x50)
      [<c0233028>] (_spin_lock+0x0/0x50) from [<c002be50>] (gic_set_cpu+0x60/0xa0)
      [<c002bdf0>] (gic_set_cpu+0x0/0xa0) from [<c01b04cc>] (em_route_irq+0x38/0x40)
      [<c01b0494>] (em_route_irq+0x0/0x40) from [<c01b04ec>] (em_setup+0x18/0xa4)
      [<c01b04d4>] (em_setup+0x0/0xa4) from [<c001570c>] (oprofile_arch_init+0x24/0xe8)
      [<c00156e8>] (oprofile_arch_init+0x0/0xe8) from [<c0015640>] (oprofile_init+0x1c/0x64)
      [<c0015624>] (oprofile_init+0x0/0x64) from [<c0008a20>] (kernel_init+0x154/0x368)
      [<c00088cc>] (kernel_init+0x0/0x368) from [<c003ef34>] (do_exit+0x0/0x904)
      oprofile: using arm/mpcore
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      28c670cb
    • Russell King's avatar
      [ARM] Fix stacktrace FP range checking · 5b10c8e4
      Russell King authored
      Fix an oops in the stacktrace code, caused by improper range checking.
      We subtract 12 off 'fp' before testing to see if it's below the low
      bound.  However, if 'fp' were zero before, it becomes a very large
      positive number, causing this test to succeed where it should fail.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      5b10c8e4
    • David Rientjes's avatar
      [ARM] use __used attribute · b91d8a12
      David Rientjes authored
      Use the newly introduced __used attribute in place of the deprecated
      __attribute_used__.  Functionally the same.
      Signed-off-by: default avatarDavid Rientjes <rientjes@google.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      b91d8a12
  2. 28 May, 2007 1 commit
  3. 26 May, 2007 9 commits
  4. 25 May, 2007 26 commits
  5. 24 May, 2007 1 commit
    • Vasily Averin's avatar
      [NET]: "wrong timeout value" in sk_wait_data() v2 · ba78073e
      Vasily Averin authored
      sys_setsockopt() do not check properly timeout values for
      SO_RCVTIMEO/SO_SNDTIMEO, for example it's possible to set negative timeout
      values. POSIX do not defines behaviour for sys_setsockopt in case negative
      timeouts, but requires that setsockopt() shall fail with -EDOM if the send and
      receive timeout values are too big to fit into the timeout fields in the socket
      structure.
      In current implementation negative timeout can lead to error messages like
      "schedule_timeout: wrong timeout value".
      
      Proposed patch:
      - checks tv_usec and returns -EDOM if it is wrong
      - do not allows to set negative timeout values (sets 0 instead) and outputs
      ratelimited information message about such attempts.
      Signed-off-By: default avatarVasily Averin <vvs@sw.ru>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ba78073e