1. 05 Feb, 2008 8 commits
    • Randy Dunlap's avatar
      hamradio: fix dmascc section mismatch · cd8d627a
      Randy Dunlap authored
      hw[] is used in both init and exit functions so it cannot be initdata (section
      mismatch is when CONFIG_MODULES=n and CONFIG_DMASCC=y).
      
      WARNING: vmlinux.o(.exit.text+0xba7): Section mismatch: reference to .init.data: (between 'dmascc_exit' and 'sixpack_exit_driver')
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Klaus Kudielka <klaus.kudielka@gmx.net>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cd8d627a
    • Wei Yongjun's avatar
      [SCTP]: Fix kernel panic while received AUTH chunk with BAD shared key identifier · 7cc08b55
      Wei Yongjun authored
      If SCTP-AUTH is enabled, received AUTH chunk with BAD shared key 
      identifier will cause kernel panic.
      
      Test as following:
      step1: enabled /proc/sys/net/sctp/auth_enable
      step 2:  connect  to SCTP server with auth capable. Association is 
      established between endpoints. Then send a AUTH chunk with a bad 
      shareid, SCTP server will kernel panic after received that AUTH chunk.
      
      SCTP client                   SCTP server
        INIT         ---------->  
          (with auth capable)
                     <----------    INIT-ACK
                                    (with auth capable)
        COOKIE-ECHO  ---------->
                     <----------    COOKIE-ACK
        AUTH         ---------->
      
      
      AUTH chunk is like this:
        AUTH chunk
          Chunk type: AUTH (15)
          Chunk flags: 0x00
          Chunk length: 28
          Shared key identifier: 10
          HMAC identifier: SHA-1 (1)
          HMAC: 0000000000000000000000000000000000000000
      
      The assignment of NULL to key can safely be removed, since key_for_each 
      (which is just list_for_each_entry under the covers does an initial 
      assignment to key anyway).
      
      If the endpoint_shared_keys list is empty, or if the key_id being 
      requested does not exist, the function as it currently stands returns 
      the actuall list_head (in this case endpoint_shared_keys.  Since that 
      list_head isn't surrounded by an actuall data structure, the last 
      iteration through list_for_each_entry will do a container_of on key, and 
      we wind up returning a bogus pointer, instead of NULL, as we should.
      
      > Neil Horman wrote:
      >> On Tue, Jan 22, 2008 at 05:29:20PM +0900, Wei Yongjun wrote:
      >>
      >> FWIW, Ack from me.  The assignment of NULL to key can safely be 
      >> removed, since
      >> key_for_each (which is just list_for_each_entry under the covers does 
      >> an initial
      >> assignment to key anyway).
      >> If the endpoint_shared_keys list is empty, or if the key_id being 
      >> requested does
      >> not exist, the function as it currently stands returns the actuall 
      >> list_head (in
      >> this case endpoint_shared_keys.  Since that list_head isn't 
      >> surrounded by an
      >> actuall data structure, the last iteration through 
      >> list_for_each_entry will do a
      >> container_of on key, and we wind up returning a bogus pointer, 
      >> instead of NULL,
      >> as we should.  Wei's patch corrects that.
      >>
      >> Regards
      >> Neil
      >>
      >> Acked-by: Neil Horman <nhorman@tuxdriver.com>
      >>
      >
      > Yep, the patch is correct.
      >
      > Acked-by: Vlad Yasevich <vladislav.yasevich@hp.com>
      >
      > -vlad
      >
      Signed-off-by: default avatarWei Yongjun <yjwei@cn.fujitsu.com>
      Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      Acked-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7cc08b55
    • Wei Yongjun's avatar
      [SCTP]: Fix kernel panic while received AUTH chunk while enabled auth · d2f19fa1
      Wei Yongjun authored
      If STCP is started while /proc/sys/net/sctp/auth_enable is set 0 and
      association is established between endpoints. Then if
      /proc/sys/net/sctp/auth_enable is set 1, a received AUTH chunk will
      cause kernel panic.
      
      Test as following:
      step 1: echo 0> /proc/sys/net/sctp/auth_enable
      step 2:
      
         SCTP client                  SCTP server
            INIT          --------->
                          <---------   INIT-ACK
            COOKIE-ECHO   --------->
                          <---------   COOKIE-ACK
      step 3:
          echo 1> /proc/sys/net/sctp/auth_enable
      step 4:
         SCTP client                  SCTP server
             AUTH        ----------->  Kernel Panic
      
      
      This patch fix this probleam to treat AUTH chunk as unknow chunk if peer 
      has initialized with no auth capable.
      
      > Sorry for the delay.  Was on vacation without net access.
      >
      > Wei Yongjun wrote:
      >>
      >>
      >> This patch fix this probleam to treat AUTH chunk as unknow chunk if 
      >> peer has initialized with no auth capable.
      >>
      >> Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
      >
      > Acked-by: Vlad Yasevich <vladislav.yasevich@hp.com>
      >
      >>
      Signed-off-by: default avatarWei Yongjun <yjwei@cn.fujitsu.com>
      Acked-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d2f19fa1
    • Denis V. Lunev's avatar
      [IPV4]: Formatting fix for /proc/net/fib_trie. · b9c4d82a
      Denis V. Lunev authored
      The line in the /proc/net/fib_trie for route with TOS specified
      - has extra \n at the end
      - does not have a space after route scope
      like below.
                 |-- 1.1.1.1
                    /32 universe UNICASTtos =1
      Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b9c4d82a
    • Daniel Lezcano's avatar
      [IPV6]: Fix sysctl compilation error. · 6de1a910
      Daniel Lezcano authored
      Move ipv6_icmp_sysctl_init and ipv6_route_sysctl_init into the right
      ifdef section otherwise that does not compile when CONFIG_SYSCTL=yes
      and CONFIG_PROC_FS=no
      Signed-off-by: default avatarDaniel Lezcano <dlezcano@fr.ibm.com>
      Acked-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6de1a910
    • Rami Rosen's avatar
      [NET_SCHED]: Add #ifdef CONFIG_NET_EMATCH in net/sched/cls_flow.c (latest git broken build) · 0aead543
      Rami Rosen authored
      The 2.6 latest git build was broken when using the following
      configuration options:
      CONFIG_NET_EMATCH=n
      CONFIG_NET_CLS_FLOW=y
      
      with the following error:
      net/sched/cls_flow.c: In function 'flow_dump':
      net/sched/cls_flow.c:598: error: 'struct tcf_ematch_tree' has no
      member named 'hdr'
      make[2]: *** [net/sched/cls_flow.o] Error 1
      make[1]: *** [net/sched] Error 2
      make: *** [net] Error 2
      
      
      see the recent post by Li Zefan:
        http://www.spinics.net/lists/netdev/msg54434.html
      
      The reason for this crash is that struct tcf_ematch_tree
      (net/pkt_cls.h) is empty when CONFIG_NET_EMATCH is not defined.
      
      When CONFIG_NET_EMATCH is defined, the tcf_ematch_tree structure
      indeed holds a struct tcf_ematch_tree_hdr (hdr) as flow_dump()
      expects.
      
      This patch adds #ifdef CONFIG_NET_EMATCH in flow_dump to avoid this.
      Signed-off-by: default avatarRami Rosen <ramirose@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0aead543
    • Li Zefan's avatar
      [IPV4]: Fix compile error building without CONFIG_FS_PROC · cc8274f5
      Li Zefan authored
      compile error building without CONFIG_FS_PROC:
      
      net/ipv4/fib_frontend.c: In function 'fib_net_init':
      net/ipv4/fib_frontend.c:1032: error: implicit declaration of function 'fib_proc_
      init'
      net/ipv4/fib_frontend.c: In function 'fib_net_exit':
      net/ipv4/fib_frontend.c:1047: error: implicit declaration of function 'fib_proc_
      exit'
      Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cc8274f5
    • Adrian Bunk's avatar
      [IPSEC] xfrm4_beet_input(): fix an if() · 322c8a3c
      Adrian Bunk authored
      A bug every C programmer makes at some point in time...
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      322c8a3c
  2. 04 Feb, 2008 32 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm · 9ef9dc69
      Linus Torvalds authored
      * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (44 commits)
        [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option
        [ARM] 4821/1: RealView: Remove the platform dependencies from localtimer.c
        [ARM] 4820/1: RealView: Select the timer IRQ at run-time
        [ARM] 4819/1: RealView: Fix entry-macro.S to work with multiple platforms
        [ARM] 4818/1: RealView: Add core-tile detection
        [ARM] 4817/1: RealView: Move the AMBA resource definitions to realview_eb.c
        [ARM] 4816/1: RealView: Move the platform-specific definitions into board-eb.h
        [ARM] 4815/1: RealView: Add clockevents suport for the local timers
        [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM11MPCore
        [ARM] 4813/1: Add SMP helper functions for clockevents support
        [ARM] 4812/1: RealView: clockevents support for the RealView platforms
        [ARM] 4811/1: RealView: clocksource support for the RealView platforms
        [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags
        [ARM] 4798/1: pcm027: fix missing header file
        [ARM] 4803/1: pxa: fix building issue of poodle.c caused by patch 4737/1
        [ARM] 4801/1: pxa: fix building issues of missing pxa2xx-regs.h
        [ARM] pxa: introduce sysdev for pxa3xx static memory controller
        [ARM] pxa: add preliminary suspend/resume code for pxa3xx
        [ARM] pxa: introduce sysdev for GPIO register saving/restoring
        [ARM] pxa: introduce sysdev for IRQ register saving/restoring
        ...
      9ef9dc69
    • Linus Torvalds's avatar
      Merge branch 'slub-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm · 2c8296f8
      Linus Torvalds authored
      * 'slub-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm:
        Explain kmem_cache_cpu fields
        SLUB: Do not upset lockdep
        SLUB: Fix coding style violations
        Add parameter to add_partial to avoid having two functions
        SLUB: rename defrag to remote_node_defrag_ratio
        Move count_partial before kmem_cache_shrink
        SLUB: Fix sysfs refcounting
        slub: fix shadowed variable sparse warnings
      2c8296f8
    • Christoph Lameter's avatar
      Explain kmem_cache_cpu fields · da89b79e
      Christoph Lameter authored
      Add some comments explaining the fields of the kmem_cache_cpu structure.
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      da89b79e
    • root's avatar
      SLUB: Do not upset lockdep · ba84c73c
      root authored
      inconsistent {softirq-on-W} -> {in-softirq-W} usage.
      swapper/0 [HC0[0]:SC1[1]:HE0:SE0] takes:
       (&n->list_lock){-+..}, at: [<ffffffff802935c1>] add_partial+0x31/0xa0
      {softirq-on-W} state was registered at:
        [<ffffffff80259fb8>] __lock_acquire+0x3e8/0x1140
        [<ffffffff80259838>] debug_check_no_locks_freed+0x188/0x1a0
        [<ffffffff8025ad65>] lock_acquire+0x55/0x70
        [<ffffffff802935c1>] add_partial+0x31/0xa0
        [<ffffffff805c76de>] _spin_lock+0x1e/0x30
        [<ffffffff802935c1>] add_partial+0x31/0xa0
        [<ffffffff80296f9c>] kmem_cache_open+0x1cc/0x330
        [<ffffffff805c7984>] _spin_unlock_irq+0x24/0x30
        [<ffffffff802974f4>] create_kmalloc_cache+0x64/0xf0
        [<ffffffff80295640>] init_alloc_cpu_cpu+0x70/0x90
        [<ffffffff8080ada5>] kmem_cache_init+0x65/0x1d0
        [<ffffffff807f1b4e>] start_kernel+0x23e/0x350
        [<ffffffff807f112d>] _sinittext+0x12d/0x140
        [<ffffffffffffffff>] 0xffffffffffffffff
      
      This change isn't really necessary for correctness, but it prevents lockdep
      from getting upset and then disabling itself.
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Christoph Lameter <clameter@sgi.com>
      Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      ba84c73c
    • Pekka Enberg's avatar
      SLUB: Fix coding style violations · 06428780
      Pekka Enberg authored
      This fixes most of the obvious coding style violations in mm/slub.c as
      reported by checkpatch.
      Acked-by: default avatarChristoph Lameter <clameter@sgi.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      06428780
    • Christoph Lameter's avatar
      Add parameter to add_partial to avoid having two functions · 7c2e132c
      Christoph Lameter authored
      Add a parameter to add_partial instead of having separate functions.  The
      parameter allows a more detailed control of where the slab pages is placed in
      the partial queues.
      
      If we put slabs back to the front then they are likely immediately used for
      allocations.  If they are put at the end then we can maximize the time that
      the partial slabs spent without being subject to allocations.
      
      When deactivating slab we can put the slabs that had remote objects freed (we
      can see that because objects were put on the freelist that requires locks) to
      them at the end of the list so that the cachelines of remote processors can
      cool down.  Slabs that had objects from the local cpu freed to them (objects
      exist in the lockless freelist) are put in the front of the list to be reused
      ASAP in order to exploit the cache hot state of the local cpu.
      
      Patch seems to slightly improve tbench speed (1-2%).
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      Reviewed-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      7c2e132c
    • Christoph Lameter's avatar
      SLUB: rename defrag to remote_node_defrag_ratio · 9824601e
      Christoph Lameter authored
      The NUMA defrag works by allocating objects from partial slabs on remote
      nodes.  Rename it to
      
      	remote_node_defrag_ratio
      
      to be clear about this.
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      9824601e
    • Christoph Lameter's avatar
      Move count_partial before kmem_cache_shrink · f61396ae
      Christoph Lameter authored
      Move the counting function for objects in partial slabs so that it is placed
      before kmem_cache_shrink.
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      f61396ae
    • Christoph Lameter's avatar
      SLUB: Fix sysfs refcounting · 151c602f
      Christoph Lameter authored
      If CONFIG_SYSFS is set then free the kmem_cache structure when
      sysfs tells us its okay.
      
      Otherwise there is the danger (as pointed out by
      Al Viro) that sysfs thinks the kobject still exists after
      kmem_cache_destroy() removed it.
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      Reviewed-by: default avatarPekka J Enberg <penberg@cs.helsinki.fi>
      151c602f
    • Harvey Harrison's avatar
      slub: fix shadowed variable sparse warnings · e374d483
      Harvey Harrison authored
      Introduce 'len' at outer level:
      mm/slub.c:3406:26: warning: symbol 'n' shadows an earlier one
      mm/slub.c:3393:6: originally declared here
      
      No need to declare new node:
      mm/slub.c:3501:7: warning: symbol 'node' shadows an earlier one
      mm/slub.c:3491:6: originally declared here
      
      No need to declare new x:
      mm/slub.c:3513:9: warning: symbol 'x' shadows an earlier one
      mm/slub.c:3492:6: originally declared here
      Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      e374d483
    • Russell King's avatar
      Merge branches 'at91', 'ixp', 'master', 'misc', 'pxa' and 'realview' into devel · 0d899e1b
      Russell King authored
      * at91:
        [ARM] 4802/1: Fix typo and remove vague comment
        [ARM] 4660/3: at91: allow selecting UART for early kernel messages
        [ARM] 4739/1: at91sam9263: make gpio bank C and D irqs work
      
      * ixp:
        [ARM] 4809/2: ixp4xx: Merge dsmg600-power.c into dsmg600-setup.c
        [ARM] 4808/2: ixp4xx: Merge nas100d-power.c into nas100d-setup.c
        [ARM] 4807/2: ixp4xx: Merge nslu2-power.c into nslu2-setup.c
        [ARM] 4806/1: ixp4xx: Ethernet support for the nslu2 and nas100d boards
        [ARM] 4805/1: ixp4xx: Use leds-gpio driver instead of IXP4XX-GPIO-LED driver
        [ARM] 4715/2: Ethernet support for IXDP425 boards
        [ARM] 4714/2: Headers for IXP4xx built-in Ethernet and WAN drivers
        [ARM] 4713/3: Adds drivers for IXP4xx QMgr and NPE features
        [ARM] 4712/2: Adds functions to read and write IXP4xx "feature" bits
        [ARM] 4774/2: ixp4xx: Register dsmg600 rtc i2c_board_info
        [ARM] 4773/2: ixp4xx: Register nas100d rtc i2c_board_info
        [ARM] 4772/2: ixp4xx: Register nslu2 rtc i2c_board_info
        [ARM] 4769/2: ixp4xx: Button updates for the dsmg600 board
        [ARM] 4768/2: ixp4xx: Button and LED updates for the nas100d board
        [ARM] 4767/2: ixp4xx: Add bitops.h include to io.h
        [ARM] 4766/2: ixp4xx: Update ixp4xx_defconfig, enabling all supported boards
      
      * master:
        [ARM] 4810/1: - Fix 'section mismatch' building warnings
        [ARM] xtime_seqlock: fix more ARM machines for xtime deadlocking
        [ARM] 21285 serial: fix build error
      
      * misc:
        [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags
      
      * pxa:
        [ARM] 4798/1: pcm027: fix missing header file
        [ARM] 4803/1: pxa: fix building issue of poodle.c caused by patch 4737/1
        [ARM] 4801/1: pxa: fix building issues of missing pxa2xx-regs.h
        [ARM] pxa: introduce sysdev for pxa3xx static memory controller
        [ARM] pxa: add preliminary suspend/resume code for pxa3xx
        [ARM] pxa: introduce sysdev for GPIO register saving/restoring
        [ARM] pxa: introduce sysdev for IRQ register saving/restoring
        [ARM] pxa: fix the warning of undeclared "struct pxaohci_platform_data"
        [ARM] pxa: change set_kset_name() to direct name assignment for MFP sysclass
      
      * realview:
        [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option
        [ARM] 4821/1: RealView: Remove the platform dependencies from localtimer.c
        [ARM] 4820/1: RealView: Select the timer IRQ at run-time
        [ARM] 4819/1: RealView: Fix entry-macro.S to work with multiple platforms
        [ARM] 4818/1: RealView: Add core-tile detection
        [ARM] 4817/1: RealView: Move the AMBA resource definitions to realview_eb.c
        [ARM] 4816/1: RealView: Move the platform-specific definitions into board-eb.h
        [ARM] 4815/1: RealView: Add clockevents suport for the local timers
        [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM11MPCore
        [ARM] 4813/1: Add SMP helper functions for clockevents support
        [ARM] 4812/1: RealView: clockevents support for the RealView platforms
        [ARM] 4811/1: RealView: clocksource support for the RealView platforms
      0d899e1b
    • Catalin Marinas's avatar
      [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option · 41579f49
      Catalin Marinas authored
      This patch changes the REALVIEW_MPCORE configuration option to
      REALVIEW_EB_ARM11MP since this is only specific to RealView/EB.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      41579f49
    • Catalin Marinas's avatar
      [ARM] 4821/1: RealView: Remove the platform dependencies from localtimer.c · 39e823e3
      Catalin Marinas authored
      This patch removes the TWD_BASE macro used to set up and configure the
      local timers on ARM11MPCore. The twd_base_addr and twd_size variables
      are defined in localtimer.c and set from the realview_eb_init function.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      39e823e3
    • Catalin Marinas's avatar
      [ARM] 4820/1: RealView: Select the timer IRQ at run-time · 8cc4c548
      Catalin Marinas authored
      This patch sets the timer IRQ at run-time by moving the sys_timer
      structure and the timer_init function to the realview_eb.c file. This
      allows multiple RealView platforms to be compiled in the same kernel
      image.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      8cc4c548
    • Catalin Marinas's avatar
      [ARM] 4819/1: RealView: Fix entry-macro.S to work with multiple platforms · c4057f52
      Catalin Marinas authored
      This patch modifies the get_irqnr_preamble macro to work with multiple
      platforms at run-time by reading the address of the GIC controller from
      the gic_cpu_base_addr variable. This variable is defined in core.c and
      intialised in realview_eb.c (gic_init_irq).
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      c4057f52
    • Catalin Marinas's avatar
      [ARM] 4818/1: RealView: Add core-tile detection · 7dd19e75
      Catalin Marinas authored
      This patch adds the core-tile detection and only enables devices if the
      corresponding tile is present. It currently detects the ARM11MPCore via
      the core_tile_eb11mp() macro.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      7dd19e75
    • Catalin Marinas's avatar
      [ARM] 4817/1: RealView: Move the AMBA resource definitions to realview_eb.c · 0fc2a161
      Catalin Marinas authored
      This patch moves the IRQ and DMA definitions from core.h into
      realview_eb.c since they are platform-specific. It adds a
      realview_eb11mp_fixup function to adjust the IRQ numbers if the
      ARM11MPCore tile is fitted. The realview_smc91x_device is also moved
      from core.c into realview_eb.c.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      0fc2a161
    • Catalin Marinas's avatar
      [ARM] 4816/1: RealView: Move the platform-specific definitions into board-eb.h · 356cb470
      Catalin Marinas authored
      This patch moves the platform specific definitions from platform.h into
      the board-eb.h file. It drops the INT_* definitions as they are no
      longer used in irqs.h (moved to board-eb.h). It renames REALVIEW_*
      macros to REALVIEW_EB_* or REALVIEW_EB11MP_* to distinguish between
      standard EB and EB + the ARM11MPCore tile. The platform.h file contains
      common definitions to the RealView platforms and it is only directly
      included in board-*.h files.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      356cb470
    • Catalin Marinas's avatar
      [ARM] 4815/1: RealView: Add clockevents suport for the local timers · 93c2904d
      Catalin Marinas authored
      This patch registers the local timers on ARM11MPCore as clock event
      devices. The clock device can be set up as periodic or oneshot.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      93c2904d
    • Catalin Marinas's avatar
      [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM11MPCore · a8655e83
      Catalin Marinas authored
      This patch adds dummy local timers for each CPU so that the board clock
      device is used to broadcast events to the other CPUs. The patch also
      adds the declaration for the dummy_timer_setup function (the equivalent
      of local_timer_setup when CONFIG_LOCAL_TIMERS is not set).
      
      Due to the way clockevents work, the dummy timer on the first CPU has to
      be registered before the board timer.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      a8655e83
    • Catalin Marinas's avatar
      [ARM] 4813/1: Add SMP helper functions for clockevents support · 3e459990
      Catalin Marinas authored
      This patch adds the smp_call_function_single and smp_timer_broadcast
      functions and modifies ipi_timer to call the platform-specific function
      local_timer_interrupt.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      3e459990
    • Catalin Marinas's avatar
      [ARM] 4812/1: RealView: clockevents support for the RealView platforms · ae30ceac
      Catalin Marinas authored
      The patch updates the RealView code to the clockevents infrastructure.
      The SMP support is implemented in subsequent patches. Based on the
      Versatile implementation by Kevin Hilman.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      ae30ceac
    • Catalin Marinas's avatar
      [ARM] 4811/1: RealView: clocksource support for the RealView platforms · 85802afe
      Catalin Marinas authored
      The patch updates the RealView platform code to use the generic
      clocksource infrastructure for basic time keeping. Based on the
      Versatile implementation by Kevin Hilman.
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      85802afe
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 · d2fc0bac
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (78 commits)
        x86: fix RTC lockdep warning: potential hardirq recursion
        x86: cpa, micro-optimization
        x86: cpa, clean up code flow
        x86: cpa, eliminate CPA_ enum
        x86: cpa, cleanups
        x86: implement gbpages support in change_page_attr()
        x86: support gbpages in pagetable dump
        x86: add gbpages support to lookup_address
        x86: add pgtable accessor functions for gbpages
        x86: add PUD_PAGE_SIZE
        x86: add feature macros for the gbpages cpuid bit
        x86: switch direct mapping setup over to set_pte
        x86: fix page-present check in cpa_flush_range
        x86: remove cpa warning
        x86: remove now unused clear_kernel_mapping
        x86: switch pci-gart over to using set_memory_np() instead of clear_kernel_mapping()
        x86: cpa selftest, skip non present entries
        x86: CPA fix pagetable split
        x86: rename LARGE_PAGE_SIZE to PMD_PAGE_SIZE
        x86: cpa, fix lookup_address
        ...
      d2fc0bac
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus · 93890b71
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (25 commits)
        virtio: balloon driver
        virtio: Use PCI revision field to indicate virtio PCI ABI version
        virtio: PCI device
        virtio_blk: implement naming for vda-vdz,vdaa-vdzz,vdaaa-vdzzz
        virtio_blk: Dont waste major numbers
        virtio_blk: provide getgeo
        virtio_net: parametrize the napi_weight for virtio receive queue.
        virtio: free transmit skbs when notified, not on next xmit.
        virtio: flush buffers on open
        virtnet: remove double ether_setup
        virtio: Allow virtio to be modular and used by modules
        virtio: Use the sg_phys convenience function.
        virtio: Put the virtio under the virtualization menu
        virtio: handle interrupts after callbacks turned off
        virtio: reset function
        virtio: populate network rings in the probe routine, not open
        virtio: Tweak virtio_net defines
        virtio: Net header needs hdr_len
        virtio: remove unused id field from struct virtio_blk_outhdr
        virtio: clarify NO_NOTIFY flag usage
        ...
      93890b71
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial · f5bb3a5e
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (79 commits)
        Jesper Juhl is the new trivial patches maintainer
        Documentation: mention email-clients.txt in SubmittingPatches
        fs/binfmt_elf.c: spello fix
        do_invalidatepage() comment typo fix
        Documentation/filesystems/porting fixes
        typo fixes in net/core/net_namespace.c
        typo fix in net/rfkill/rfkill.c
        typo fixes in net/sctp/sm_statefuns.c
        lib/: Spelling fixes
        kernel/: Spelling fixes
        include/scsi/: Spelling fixes
        include/linux/: Spelling fixes
        include/asm-m68knommu/: Spelling fixes
        include/asm-frv/: Spelling fixes
        fs/: Spelling fixes
        drivers/watchdog/: Spelling fixes
        drivers/video/: Spelling fixes
        drivers/ssb/: Spelling fixes
        drivers/serial/: Spelling fixes
        drivers/scsi/: Spelling fixes
        ...
      f5bb3a5e
    • Linus Torvalds's avatar
      Merge branch 'locks' of git://linux-nfs.org/~bfields/linux · 9853832c
      Linus Torvalds authored
      * 'locks' of git://linux-nfs.org/~bfields/linux:
        pid-namespaces-vs-locks-interaction
        file locks: Use wait_event_interruptible_timeout()
        locks: clarify posix_locks_deadlock
      9853832c
    • Haavard Skinnemoen's avatar
      kbuild: Fix instrumentation removal breakage on avr32 · b21761ff
      Haavard Skinnemoen authored
      AVR32 still includes Kconfig.instrumentation, so it won't build after
      this...
      Signed-off-by: default avatarHaavard Skinnemoen <hskinnemoen@atmel.com>
      Acked-by: default avatarMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b21761ff
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild · 519cb688
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
        scsi: fix dependency bug in aic7 Makefile
        kbuild: add svn revision information to setlocalversion
        kbuild: do not warn about __*init/__*exit symbols being exported
        Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig
        Add HAVE_KPROBES
        Add HAVE_OPROFILE
        Create arch/Kconfig
        Fix ARM to play nicely with generic Instrumentation menu
        kconfig: ignore select of unknown symbol
        kconfig: mark config as changed when loading an alternate config
        kbuild: Spelling/grammar fixes for config DEBUG_SECTION_MISMATCH
        Remove __INIT_REFOK and __INITDATA_REFOK
        kbuild: print only total number of section mismatces found
      519cb688
    • Nick Piggin's avatar
      vm audit: add VM_DONTEXPAND to mmap for drivers that need it · 2f98735c
      Nick Piggin authored
      Drivers that register a ->fault handler, but do not range-check the
      offset argument, must set VM_DONTEXPAND in the vm_flags in order to
      prevent an expanding mremap from overflowing the resource.
      
      I've audited the tree and attempted to fix these problems (usually by
      adding VM_DONTEXPAND where it is not obvious).
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2f98735c
    • Geert Uytterhoeven's avatar
      ADB: Add missing #include <linux/platform_device.h> · fe2528b9
      Geert Uytterhoeven authored
      Commit c9f6d3d5 ("[POWERPC] adb: Replace
      sleep notifier with platform driver suspend/resume hooks") introduced
      compile errors on m68k because <linux/platform_device.h> is not
      explicitly included.  On powerpc, it's pulled in through <asm/prom.h>.
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fe2528b9
    • Andrew Morton's avatar
      x86: fix RTC lockdep warning: potential hardirq recursion · 795d45b2
      Andrew Morton authored
      After disabling both CONFIG_DEBUG_LOCKING_API_SELFTESTS and netconsole
      (using current mainline) I get a login prompt, and also...
      
      [    5.181668] SELinux: policy loaded with handle_unknown=deny
      [    5.183315] type=1403 audit(1202100038.157:3): policy loaded auid=4294967295 ses=4294967295
      [    5.822073] SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts
      [    7.819146] ------------[ cut here ]------------
      [    7.819146] WARNING: at kernel/lockdep.c:2033 trace_hardirqs_on+0x9b/0x10d()
      [    7.819146] Modules linked in: generic ext3 jbd ide_disk ide_core
      [    7.819146] Pid: 399, comm: hwclock Not tainted 2.6.24 #4
      [    7.819146]  [<c011d140>] warn_on_slowpath+0x41/0x51
      [    7.819146]  [<c01364a9>] ? lock_release_holdtime+0x50/0x56
      [    7.819146]  [<c013770c>] ? check_usage_forwards+0x19/0x3b
      [    7.819146]  [<c01390c4>] ? __lock_acquire+0xac3/0xb0b
      [    7.819146]  [<c0108c98>] ? native_sched_clock+0x8b/0x9f
      [    7.819146]  [<c01364a9>] ? lock_release_holdtime+0x50/0x56
      [    7.819146]  [<c030ca6c>] ? _spin_unlock_irq+0x22/0x42
      [    7.819146]  [<c013848b>] trace_hardirqs_on+0x9b/0x10d
      [    7.819146]  [<c030ca6c>] _spin_unlock_irq+0x22/0x42
      [    7.819146]  [<c011481e>] hpet_rtc_interrupt+0xdf/0x290
      [    7.819146]  [<c014ea90>] handle_IRQ_event+0x1a/0x46
      [    7.819146]  [<c014f8ea>] handle_edge_irq+0xbe/0xff
      [    7.819146]  [<c0106e08>] do_IRQ+0x6d/0x84
      [    7.819146]  [<c0105596>] common_interrupt+0x2e/0x34
      [    7.819146]  [<c013007b>] ? ktime_get_ts+0x8/0x3f
      [    7.819146]  [<c0139420>] ? lock_release+0x167/0x16f
      [    7.819146]  [<c017974a>] ? core_sys_select+0x2c/0x327
      [    7.819146]  [<c0179792>] core_sys_select+0x74/0x327
      [    7.819146]  [<c0108c98>] ? native_sched_clock+0x8b/0x9f
      [    7.819146]  [<c01364a9>] ? lock_release_holdtime+0x50/0x56
      [    7.819146]  [<c030ca6c>] ? _spin_unlock_irq+0x22/0x42
      [    7.819146]  [<c01384d6>] ? trace_hardirqs_on+0xe6/0x10d
      [    7.819146]  [<c030ca77>] ? _spin_unlock_irq+0x2d/0x42
      [    7.819146]  [<c023b437>] ? rtc_do_ioctl+0x11b/0x677
      [    7.819146]  [<c01c487e>] ? inode_has_perm+0x5e/0x68
      [    7.819146]  [<c01364a9>] ? lock_release_holdtime+0x50/0x56
      [    7.819146]  [<c0108c98>] ? native_sched_clock+0x8b/0x9f
      [    7.819146]  [<c01c490b>] ? file_has_perm+0x83/0x8c
      [    7.819146]  [<c023ba08>] ? rtc_ioctl+0xf/0x11
      [    7.819146]  [<c017898d>] ? do_ioctl+0x55/0x67
      [    7.819146]  [<c0179d15>] sys_select+0x93/0x163
      [    7.819146]  [<c0104b39>] ? sysenter_past_esp+0x9a/0xa5
      [    7.819146]  [<c0104afe>] sysenter_past_esp+0x5f/0xa5
      [    7.819146]  =======================
      [    7.819146] ---[ end trace 96540ca301ffb84c ]---
      [    7.819210] rtc: lost 6 interrupts
      [    7.870668] type=1400 audit(1202128840.794:4): avc:  denied  { audit_write } for  pid=399 comm="hwclock" capability=29 scontext=system_u:system_r:hwclock_t:s0 tcontext=system_u:system_r:hwclock_t:s0 tclass=capability
      [    9.538866] input: PC Speaker as /class/input/input5
      
      Because hpet_rtc_interrupt()'s call to get_rtc_time() ends up
      resolving to include/asm-generic/rtc.h's (hilariously inlined)
      get_rtc_time(), which does spin_unlock_irq() from hard IRQ context.
      
      The obvious patch fixes it.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      795d45b2