1. 25 Aug, 2008 1 commit
    • Linus Torvalds's avatar
      [module] Don't let gcc inline load_module() · ffb4ba76
      Linus Torvalds authored
      'load_module()' is a complex function that contains all the ELF section
      logic, and inlining it is utterly insane.  But gcc will do it, simply
      because there is only one call-site.  As a result, all the stack space
      that is allocated for all the work to load the module will still be
      active when we actually call the module init sequence, and the deep call
      chain makes stack overflows happen.
      
      And stack overflows are really hard to debug, because they not only
      corrupt random pages below the stack, but also corrupt the thread_info
      structure that is allocated under the stack.
      
      In this case, Alan Brunelle reported some crazy oopses at bootup, after
      loading the processor module that ends up doing complex ACPI stuff and
      has quite a deep callchain.  This should fix it, and is the sane thing
      to do regardless.
      
      Cc: Alan D. Brunelle <Alan.Brunelle@hp.com>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ffb4ba76
  2. 24 Aug, 2008 1 commit
  3. 23 Aug, 2008 4 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 6450f651
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
        ipv6: protocol for address routes
        icmp: icmp_sk() should not use smp_processor_id() in preemptible code
        pkt_sched: Fix qdisc list locking
        pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() race
        sctp: fix potential panics in the SCTP-AUTH API.
      6450f651
    • Adrian Bunk's avatar
      removed unused #include <linux/version.h>'s · 7a8fc9b2
      Adrian Bunk authored
      This patch lets the files using linux/version.h match the files that
      #include it.
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7a8fc9b2
    • Stephen Hemminger's avatar
      ipv6: protocol for address routes · f410a1fb
      Stephen Hemminger authored
      This fixes a problem spotted with zebra, but not sure if it is
      necessary a kernel problem.  With IPV6 when an address is added to an
      interface, Zebra creates a duplicate RIB entry, one as a connected
      route, and other as a kernel route.
      
      When an address is added to an interface the RTN_NEWADDR message
      causes Zebra to create a connected route. In IPV4 when an address is
      added to an interface a RTN_NEWROUTE message is set to user space with
      the protocol RTPROT_KERNEL. Zebra ignores these messages, because it
      already has the connected route.
      
      The problem is that route created in IPV6 has route protocol ==
      RTPROT_BOOT.  Was this a design decision or a bug? This fixes it. Same
      patch applies to both net-2.6 and stable.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f410a1fb
    • Denis V. Lunev's avatar
      icmp: icmp_sk() should not use smp_processor_id() in preemptible code · fdc0bde9
      Denis V. Lunev authored
      Pass namespace into icmp_xmit_lock, obtain socket inside and return
      it as a result for caller.
      
      Thanks Alexey Dobryan for this report:
      
      Steps to reproduce:
      
      	CONFIG_PREEMPT=y
      	CONFIG_DEBUG_PREEMPT=y
      	tracepath <something>
      
      BUG: using smp_processor_id() in preemptible [00000000] code: tracepath/3205
      caller is icmp_sk+0x15/0x30
      Pid: 3205, comm: tracepath Not tainted 2.6.27-rc4 #1
      
      Call Trace:
       [<ffffffff8031af14>] debug_smp_processor_id+0xe4/0xf0
       [<ffffffff80409405>] icmp_sk+0x15/0x30
       [<ffffffff8040a17b>] icmp_send+0x4b/0x3f0
       [<ffffffff8025a415>] ? trace_hardirqs_on_caller+0xd5/0x160
       [<ffffffff8025a4ad>] ? trace_hardirqs_on+0xd/0x10
       [<ffffffff8023a475>] ? local_bh_enable_ip+0x95/0x110
       [<ffffffff804285b9>] ? _spin_unlock_bh+0x39/0x40
       [<ffffffff8025a26c>] ? mark_held_locks+0x4c/0x90
       [<ffffffff8025a4ad>] ? trace_hardirqs_on+0xd/0x10
       [<ffffffff8025a415>] ? trace_hardirqs_on_caller+0xd5/0x160
       [<ffffffff803e91b4>] ip_fragment+0x8d4/0x900
       [<ffffffff803e7030>] ? ip_finish_output2+0x0/0x290
       [<ffffffff803e91e0>] ? ip_finish_output+0x0/0x60
       [<ffffffff803e6650>] ? dst_output+0x0/0x10
       [<ffffffff803e922c>] ip_finish_output+0x4c/0x60
       [<ffffffff803e92e3>] ip_output+0xa3/0xf0
       [<ffffffff803e68d0>] ip_local_out+0x20/0x30
       [<ffffffff803e753f>] ip_push_pending_frames+0x27f/0x400
       [<ffffffff80406313>] udp_push_pending_frames+0x233/0x3d0
       [<ffffffff804067d1>] udp_sendmsg+0x321/0x6f0
       [<ffffffff8040d155>] inet_sendmsg+0x45/0x80
       [<ffffffff803b967f>] sock_sendmsg+0xdf/0x110
       [<ffffffff8024a100>] ? autoremove_wake_function+0x0/0x40
       [<ffffffff80257ce5>] ? validate_chain+0x415/0x1010
       [<ffffffff8027dc10>] ? __do_fault+0x140/0x450
       [<ffffffff802597d0>] ? __lock_acquire+0x260/0x590
       [<ffffffff803b9e55>] ? sockfd_lookup_light+0x45/0x80
       [<ffffffff803ba50a>] sys_sendto+0xea/0x120
       [<ffffffff80428e42>] ? _spin_unlock_irqrestore+0x42/0x80
       [<ffffffff803134bc>] ? __up_read+0x4c/0xb0
       [<ffffffff8024e0c6>] ? up_read+0x26/0x30
       [<ffffffff8020b8bb>] system_call_fastpath+0x16/0x1b
      
      icmp6_sk() is similar.
      Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fdc0bde9
  4. 22 Aug, 2008 31 commits
  5. 21 Aug, 2008 3 commits
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · a22c50c3
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] 5212/1: pxa: fix build error when CPU_PXA310 is not defined
        [ARM] 5208/1: fsg-setup.c fixes
        [ARM] fix impd1.c build warning
        [ARM] e400 config use MFP
        [ARM] e740 config use MFP
        [ARM] Fix eseries IRQ limit
        [ARM] clocklib: Update users of aliases to new API
        [ARM] clocklib: Allow dynamic alias creation
        [ARM] eseries: whitespace fixes and cleanup
      a22c50c3
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 · 61311e1b
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
        pnp: fix "add acpi:* modalias entries"
        UIO: generic irq handling for some uio platform devices
        UIO: uio_pdrv: fix license specification
        UIO: uio_pdrv: fix memory leak
        block: drop references taken by class_find_device()
        block: fix partial read() of /proc/{partitions,diskstats}
        PM: Remove WARN_ON from device_pm_add
        driver core: add init_name to struct device
        PM: don't skip device PM init when CONFIG_PM_SLEEP isn't set and CONFIG_PM is set
        driver model: anti-oopsing medicine
        dev_printk(): constify the `dev' argument
        drivers/base/driver.c: remove unused to_dev() macro
        Documentation: HOWTO-ja_JP-sync patch
        Japanese translation of Documentation/SubmitChecklist
        kobject: Replace ALL occurrences of '/' with '!' instead of only the first one.
      61311e1b
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · 691a5599
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
        USB: sisusbvga: add USB ID for 0711:0918 Magic Control Technology Corp.
        USB: automatically enable RHSC interrupts
        USB: Don't rebind before "complete" callback
        USB: Add new PM callback methods for USB
        USB: Defer Set-Interface for suspended devices
        USB: Add udev argument to interface suspend/resume functions
        USB: cdc-acm: don't unlock acm->mutex on error path
        MUSB: Fix index register corruption seen with g_ether and Windows host
        usb: musb: get rid of MUSB_LOGLEVEL and use parameter
        usb: musb: get rid of procfs entry
        USB: Fix pxa27x_udc usb speed handling.
        USB: cdc-acm: quirk for Conexant CX93010 USB modem
        USB: fix bug in usb_unlink_anchored_urbs()
        usb-serial: option support HSDPA modem A2502
        USB: ISP1760: fixed trivial math in comment
      691a5599