1. 10 2月, 2008 40 次提交
    • O
      hrtimer: don't modify restart_block->fn in restart functions · c289b074
      Oleg Nesterov 提交于
      hrtimer_nanosleep_restart() clears/restores restart_block->fn. This is
      pointless and complicates its usage. Note that if sys_restart_syscall()
      doesn't actually happen, we have a bogus "pending" restart->fn anyway,
      this is harmless.
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Cc: Alexey Dobriyan <adobriyan@sw.ru>
      Cc: Pavel Emelyanov <xemul@sw.ru>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Toyo Abe <toyoa@mvista.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      c289b074
    • O
      hrtimer: fix *rmtp/restarts handling in compat_sys_nanosleep() · 41652937
      Oleg Nesterov 提交于
      Spotted by Pavel Emelyanov and Alexey Dobriyan.
      
      compat_sys_nanosleep() implicitly uses hrtimer_nanosleep_restart(), this can't
      work. Make a suitable compat_nanosleep_restart() helper.
      
      Introduced by commit c70878b4
      hrtimer: hook compat_sys_nanosleep up to high res timer code
      
      Also, set ->addr_limit = KERNEL_DS before doing hrtimer_nanosleep(), this func
      was changed by the previous patch and now takes the "__user *" parameter.
      
      Thanks to Ingo Molnar for fixing the bug in this patch.
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Alexey Dobriyan <adobriyan@sw.ru>
      Cc: Pavel Emelyanov <xemul@sw.ru>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Toyo Abe <toyoa@mvista.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      41652937
    • O
      hrtimer: fix *rmtp handling in hrtimer_nanosleep() · 080344b9
      Oleg Nesterov 提交于
      Spotted by Pavel Emelyanov and Alexey Dobriyan.
      
      hrtimer_nanosleep() sets restart_block->arg1 = rmtp, but this rmtp points to
      the local variable which lives in the caller's stack frame. This means that
      if sys_restart_syscall() actually happens and it is interrupted as well, we
      don't update the user-space variable, but write into the already dead stack
      frame.
      
      Introduced by commit 04c22714
      hrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier
      
      Change the callers to pass "__user *rmtp" to hrtimer_nanosleep(), and change
      hrtimer_nanosleep() to use copy_to_user() to actually update *rmtp.
      
      Small problem remains. man 2 nanosleep states that *rtmp should be written if
      nanosleep() was interrupted (it says nothing whether it is OK to update *rmtp
      if nanosleep returns 0), but (with or without this patch) we can dirty *rem
      even if nanosleep() returns 0.
      
      NOTE: this patch doesn't change compat_sys_nanosleep(), because it has other
      bugs. Fixed by the next patch.
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Cc: Alexey Dobriyan <adobriyan@sw.ru>
      Cc: Michael Kerrisk <mtk.manpages@googlemail.com>
      Cc: Pavel Emelyanov <xemul@sw.ru>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Toyo Abe <toyoa@mvista.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      
       include/linux/hrtimer.h |    2 -
       kernel/hrtimer.c        |   51 +++++++++++++++++++++++++-----------------------
       kernel/posix-timers.c   |   14 +------------
       3 files changed, 30 insertions(+), 37 deletions(-)
      080344b9
    • J
      ntp: correct inconsistent interval/tick_length usage · e13a2e61
      john stultz 提交于
      clocksource initialization and error accumulation.  This corrects a 280ppm
      drift seen on some systems using acpi_pm, and affects other clocksources as
      well (likely to a lesser degree).
      Signed-off-by: NJohn Stultz <johnstul@us.ibm.com>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      e13a2e61
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 25f66630
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (28 commits)
        [NET_SCHED] sch_htb: htb_requeue fix
        [IPV6]: Replace using the magic constant "1024" with IP6_RT_PRIO_USER for fc_metric.
        starfire: secton fix
        via-velocity: section fix
        natsemi: section fix
        typhoon: section fix
        isdn: fix section mismatch warning for ISACVer
        isdn: fix section mismatch warnings from hisax_cs_setup_card
        isdn: fix section mismatch warnings in isac.c and isar.c
        isdn: fix section mismatch warning in hfc_sx.c
        [PKT_SCHED] ematch: tcf_em_destroy robustness
        [PKT_SCHED]: deinline functions in meta match
        [SCTP]: Convert sctp_dbg_objcnt to seq files.
        [SCTP]: Use snmp_fold_field instead of a homebrew analogue.
        [IGMP]: Optimize kfree_skb in igmp_rcv.
        [KEY]: Convert net/pfkey to use seq files.
        [KEY]: Clean up proc files creation a bit.
        pppol2tp: fix printk warnings
        bnx2: section fix
        bnx2x: section fix
        ...
      25f66630
    • J
      [NET_SCHED] sch_htb: htb_requeue fix · 21347456
      Jarek Poplawski 提交于
      htb_requeue() enqueues skbs for which htb_classify() returns NULL.
      This is wrong because such skbs could be handled by NET_CLS_ACT code,
      and the decision could be different than earlier in htb_enqueue().
      So htb_requeue() is changed to work and look more like htb_enqueue().
      Signed-off-by: NJarek Poplawski <jarkao2@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      21347456
    • R
      [IPV6]: Replace using the magic constant "1024" with IP6_RT_PRIO_USER for fc_metric. · 238fc7ea
      Rami Rosen 提交于
      This patch replaces the explicit usage of the magic constant "1024"
      with IP6_RT_PRIO_USER in the IPV6 tree.
      Signed-off-by: NRami Rosen <ramirose@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      238fc7ea
    • A
      starfire: secton fix · da219b7c
      Andrew Morton 提交于
      gcc-3.4.4 on powerpc:
      
      drivers/net/starfire.c:219: error: version causes a section type conflict
      
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      da219b7c
    • A
      via-velocity: section fix · 4f14b92f
      Andrew Morton 提交于
      From: Andrew Morton <akpm@linux-foundation.org>
      
      gcc-3.4.4 on powerpc:
      
      drivers/net/via-velocity.c:443: error: chip_info_table causes a section type conflict
      
      on this one I had to remove the __devinitdata too.  Don't know why.
      
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4f14b92f
    • A
      natsemi: section fix · aa738adf
      Andrew Morton 提交于
      gcc-3.4.4 on powerpc:
      
      drivers/net/natsemi.c:245: error: natsemi_pci_info causes a section type conflict
      
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aa738adf
    • A
      typhoon: section fix · 952b3494
      Andrew Morton 提交于
      gcc-3.4.4 on powerpc:
      
      drivers/net/typhoon.c:137: error: version causes a section type conflict
      
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      952b3494
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 · 0b6ca82a
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (32 commits)
        x86: cpa, strict range check in try_preserve_large_page()
        x86: cpa, enable CONFIG_DEBUG_PAGEALLOC on 64-bit
        x86: cpa, use page pool
        x86: introduce page pool in cpa
        x86: DEBUG_PAGEALLOC: enable after mem_init()
        brk: help text typo fix
        lguest: accept guest _PAGE_PWT page table entries
        x86 PM: update stale comments
        x86 PM: consolidate suspend and hibernation code
        x86 PM: rename 32-bit files in arch/x86/power
        x86 PM: move 64-bit hibernation files to arch/x86/power
        x86: trivial printk optimizations
        x86: fix early_ioremap pagetable ops
        x86: construct 32-bit boot time page tables in native format.
        x86, core: remove CONFIG_FORCED_INLINING
        x86: avoid unused variable warning in mm/init_64.c
        x86: fixup more paravirt fallout
        brk: document randomize_va_space and CONFIG_COMPAT_BRK (was Re:
        x86: fix sparse warnings in acpi/bus.c
        x86: fix sparse warning in topology.c
        ...
      0b6ca82a
    • S
      isdn: fix section mismatch warning for ISACVer · f4e64333
      Sam Ravnborg 提交于
      Fix following warnings:
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x19723): Section mismatch in reference from the function ISACVersion() to the variable .devinit.data:ISACVer
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2005b): Section mismatch in reference from the function setup_avm_a1_pcmcia() to the function .devinit.text:setup_isac()
      
      ISACVer were only used from function annotated __devinit
      so add same annotation to ISACVer.
      One af the fererencing functions missed __devinit so add it
      and kill an additional warning.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f4e64333
    • S
      isdn: fix section mismatch warnings from hisax_cs_setup_card · 2fddb6e2
      Sam Ravnborg 提交于
      Fix the following warnings:
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x722): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_teles3()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x72c): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_s0box()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x736): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_telespci()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x747): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_avm_pcipnp()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x74e): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_elsa()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x755): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_diva()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x75c): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_sedlbauer()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x763): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_netjet_s()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x76a): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_hfcpci()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x771): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_hfcsx()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x778): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_niccy()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x77f): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_bkm_a4t()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x786): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_sct_quadro()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x78d): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_gazel()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x794): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_w6692()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x79b): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_netjet_u()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x7a2): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_enternow_pci()
      
      checkcard() are the only user of hisax_cs_setup_card().
      And checkcard is only used during init or when hot plugging
      ISDN devices. So annotate hisax_cs_setup_card() with __devinit.
      checkcard() is used by exported functions so it cannot be
      annotated __devinit. Annotate it with __ref so modpost
      ignore references to _devinit section.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2fddb6e2
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · bfc1de0c
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: (24 commits)
        [SPARC]: Add solaris/sunos binary support to feature removal schedule.
        [SPARC]: Merge asm-sparc{,64}/a.out.h
        [SPARC]: Merge asm-sparc{,64}/fb.h
        [SPARC]: Merge asm-sparc{,64}/errno.h
        [SPARC]: Merge asm-sparc{,64}/emergency-restart.h
        [SPARC]: Merge asm-sparc{,64}/div64.h
        [SPARC]: Merge asm-sparc{,64}/device.h
        [SPARC]: Merge asm-sparc{,64}/current.h
        [SPARC]: Merge asm-sparc{,64}/cputime.h
        [SPARC]: Merge asm-sparc{,64}/cache.h
        [SPARC]: Merge asm-sparc{,64}/byteorder.h
        [SPARC]: Merge asm-sparc{,64}/bugs.h
        [SPARC]: Merge asm-sparc{,64}/bug.h
        [SPARC]: Kill BSD errno translation table and header files.
        [SPARC]: Merge asm-sparc{,64}/bpp.h
        [SPARC]: Merge include/asm-sparc{,64}/auxvec.h
        [SPARC]: Merge include/asm-sparc{,64}/of_device.h
        [SPARC]: Merge include/asm-sparc{,64}/prom.h
        [SPARC]: Remove of_platform_device_create
        [SPARC64]: Add kretprobe support.
        ...
      bfc1de0c
    • S
      isdn: fix section mismatch warnings in isac.c and isar.c · d348c2a3
      Sam Ravnborg 提交于
      Fix the following warnings:
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x1b276): Section mismatch in reference from the function inithscxisac() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x1b286): Section mismatch in reference from the function inithscxisac() to the function .devinit.text:initisac()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x1fec7): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x21669): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x21671): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:initisac()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2991e): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x29936): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:initisac()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2993e): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:initisar()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2e026): Section mismatch in reference from the function NETjet_S_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x2e02e): Section mismatch in reference from the function NETjet_S_card_msg() to the function .devinit.text:initisac()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x37813): Section mismatch in reference from the function BKM_card_msg() to the function .devinit.text:clear_pending_isac_ints()
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x37823): Section mismatch in reference from the function BKM_card_msg() to the function .devinit.text:initisac()
      
      initisar(), initisac() and clear_pending_isac_ints()
      were all used via a cardmsg fnction - which may be called
      ouside __devinit context.
      So remove the bogus __devinit annotation of the
      above three functions to fix the warnings.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d348c2a3
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 1712a699
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: Add new "development flag" to the ext4 filesystem
        ext4: Don't panic in case of corrupt bitmap
        ext4: allocate struct ext4_allocation_context from a kmem cache
        JBD2:  Clear buffer_ordered flag for barried IO request on success
        ext4: Fix Direct I/O locking
        ext4: Fix circular locking dependency with migrate and rm.
        allow in-inode EAs on ext4 root inode
        ext4: Fix null bh pointer dereference in mballoc
        ext4: Don't set EXTENTS_FL flag for fast symlinks
        JBD2: Use the incompat macro for testing the incompat feature.
        jbd2: Fix reference counting on the journal commit block's buffer head
        [PATCH] jbd: Remove useless loop when writing commit record
        jbd2: Add error check to journal_wait_on_commit_record to avoid oops
      1712a699
    • S
      isdn: fix section mismatch warning in hfc_sx.c · 7740ac6a
      Sam Ravnborg 提交于
      Fix the following warning:
      WARNING: drivers/isdn/hisax/built-in.o(.text+0x35818): Section mismatch in reference from the function hfcsx_card_msg() to the function .devinit.text:inithfcsx()
      
      hfcsx_card_msg() may be called outside __devinit context.
      Following the program logic is looks like the CARD_INIT branch
      will only be taken under __devinit context but to be consistent
      remove the __devinit annotation of inithfcsx() so we
      do not mix non-__devinit and __devinit code.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7740ac6a
    • S
      drivers/media/video/em28xx/: Fix undefined symbol error with CONFIG_SND=N · 95a940e9
      S.Çağlar Onur 提交于
      Without this you get undefined symbol errors with CONFIG_SND=N:
      
        ERROR: "snd_pcm_period_elapsed" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined!
        ERROR: "snd_pcm_hw_constraint_integer" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined!
        ERROR: "snd_pcm_set_ops" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined!
        ERROR: "snd_pcm_lib_ioctl" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined!
        ERROR: "snd_card_new" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined!
        ERROR: "snd_card_free" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined!
        ERROR: "snd_card_register" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined!
        ERROR: "snd_pcm_new" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined!
      Signed-off-by: NS.Çağlar Onur <caglar@pardus.org.tr>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      95a940e9
    • S
    • S
    • S
      rtc-r9701.c: silence compiler warning · 9820380a
      S.Çağlar Onur 提交于
      Commit 75b61022 ("rtc: add support for
      Epson RTC-9701JE V4") introduced the warning
      
        drivers/rtc/rtc-r9701.c: In function `r9701_get_datetime':
        drivers/rtc/rtc-r9701.c:74: warning: unused variable `time'
      Signed-off-by: NS.Çağlar Onur <caglar@pardus.org.tr>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9820380a
    • S
      x25_asy.c: silence compiler warning · 91a07365
      S.Çağlar Onur 提交于
      Commit 11b0cc3a ("x25_asy: Fix ref count
      rule violation") introduced the warning
      
        drivers/net/wan/x25_asy.c: In function `x25_asy_open_tty':
        drivers/net/wan/x25_asy.c:557: warning: unused variable `ld'
      Signed-off-by: NS.Çağlar Onur <caglar@pardus.org.tr>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      91a07365
    • S
      [PKT_SCHED] ematch: tcf_em_destroy robustness · 954415e3
      Stephen Hemminger 提交于
      Make the code in tcf_em_tree_destroy more robust and cleaner:
       * Don't need to cast pointer to kfree() or avoid passing NULL.
       * After freeing the tree, clear the pointer to avoid possible problems
      from repeated free.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      954415e3
    • S
      [PKT_SCHED]: deinline functions in meta match · ed7af3b3
      Stephen Hemminger 提交于
      A couple of functions in meta match don't need to be inline.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ed7af3b3
    • P
      [SCTP]: Convert sctp_dbg_objcnt to seq files. · 8ff65b46
      Pavel Emelyanov 提交于
      This makes the code use a good proc API and the text ~50 bytes shorter.
      Signed-off-by: NPavel Emelyanov <xemul@openvz.org>
      Acked-by: NVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8ff65b46
    • P
      [SCTP]: Use snmp_fold_field instead of a homebrew analogue. · 3f5340a6
      Pavel Emelyanov 提交于
      SCPT already depends in INET, so this doesn't create additional
      dependencies.
      Signed-off-by: NPavel Emelyanov <xemul@openvz.org>
      Acked-by: NVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3f5340a6
    • D
      [IGMP]: Optimize kfree_skb in igmp_rcv. · cd557bc1
      Denis V. Lunev 提交于
      Merge error paths inside igmp_rcv.
      Signed-off-by: NDenis V. Lunev <den@openvz.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cd557bc1
    • P
      [KEY]: Convert net/pfkey to use seq files. · bd2f7476
      Pavel Emelyanov 提交于
      The seq files API disposes the caller of the difficulty of
      checking file position, the length of data to produce and
      the size of provided buffer.
      Signed-off-by: NPavel Emelyanov <xemul@openvz.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bd2f7476
    • P
      [KEY]: Clean up proc files creation a bit. · 61145aa1
      Pavel Emelyanov 提交于
      Mainly this removes ifdef-s from inside the ipsec_pfkey_init.
      Signed-off-by: NPavel Emelyanov <xemul@openvz.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      61145aa1
    • A
      pppol2tp: fix printk warnings · 0efeaa33
      Andrew Morton 提交于
      drivers/net/pppol2tp.c: In function `pppol2tp_seq_tunnel_show':
      drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 4)
      drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 5)
      drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 6)
      drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 7)
      drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 8)
      drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 9)
      drivers/net/pppol2tp.c: In function `pppol2tp_seq_session_show':
      drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 5)
      drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 6)
      drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 7)
      drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 8)
      drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 9)
      drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 10)
      
      Not all platforms implement u64 with unsigned long long.  eg: powerpc.
      
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0efeaa33
    • A
      bnx2: section fix · fefa8645
      Andrew Morton 提交于
      gcc-3.4.4 on powerpc:
      
      drivers/net/bnx2.c:67: error: version causes a section type conflict
      
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fefa8645
    • A
      bnx2x: section fix · 53a10565
      Andrew Morton 提交于
      From: Andrew Morton <akpm@linux-foundation.org>
      
      gcc-3.4.4 on powerpc:
      
      drivers/net/bnx2x.c:73: error: version causes a section type conflict
      
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      53a10565
    • D
    • D
      [SPARC]: Merge asm-sparc{,64}/a.out.h · 344e53f5
      David S. Miller 提交于
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      344e53f5
    • T
      ext4: Add new "development flag" to the ext4 filesystem · 469108ff
      Theodore Tso 提交于
      This flag is simply a generic "this is a crash/burn test filesystem"
      marker.  If it is set, then filesystem code which is "in development"
      will be allowed to mount the filesystem.  Filesystem code which is not
      considered ready for prime-time will check for this flag, and if it is
      not set, it will refuse to touch the filesystem.
      
      As we start rolling ext4 out to distro's like Fedora, et. al, this makes
      it less likely that a user might accidentally start using ext4 on a
      production filesystem; a bad thing, since that will essentially make it
      be unfsckable until e2fsprogs catches up.
      Signed-off-by: NTheodore Tso <tytso@MIT.EDU>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      469108ff
    • A
      ext4: Don't panic in case of corrupt bitmap · 26346ff6
      Aneesh Kumar K.V 提交于
      Multiblock allocator calls BUG_ON in many case if the free and used
      blocks count obtained looking at the bitmap is different from what
      the allocator internally accounted for. Use ext4_error in such case
      and don't panic the system.
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      26346ff6
    • E
      ext4: allocate struct ext4_allocation_context from a kmem cache · 256bdb49
      Eric Sandeen 提交于
      struct ext4_allocation_context is rather large, and this bloats
      the stack of many functions which use it.  Allocating it from
      a named slab cache will alleviate this.
      
      For example, with this change (on top of the noinline patch sent earlier):
      
      -ext4_mb_new_blocks		200
      +ext4_mb_new_blocks		 40
      
      -ext4_mb_free_blocks		344
      +ext4_mb_free_blocks		168
      
      -ext4_mb_release_inode_pa	216
      +ext4_mb_release_inode_pa	 40
      
      -ext4_mb_release_group_pa	192
      +ext4_mb_release_group_pa	 24
      
      Most of these stack-allocated structs are actually used only for
      mballoc history; and in those cases often a smaller struct would do.
      So changing that may be another way around it, at least for those
      functions, if preferred.  For now, in those cases where the ac
      is only for history, an allocation failure simply skips the history
      recording, and does not cause any other failures.
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      
      256bdb49
    • D
      JBD2: Clear buffer_ordered flag for barried IO request on success · c4e35e07
      Dave Kleikamp 提交于
      In JBD2 jbd2_journal_write_commit_record(), clear the buffer_ordered
      flag for the bh after barried IO has succeed. This prevents later, if
      the same buffer head were submitted to the underlying device, which has
      been reconfigured to not support barrier request, the JBD2 commit code
      could treat it as a normal IO (without barrier).
      
      This is a port from JBD/ext3 fix from Neil Brown.
      
      More details from Neil:
      
      Some devices - notably dm and md - can change their behaviour in
      response to BIO_RW_BARRIER requests.  They might start out accepting
      such requests but on reconfiguration, they find out that they cannot
      any more. JBD2 deal with this by always testing if BIO_RW_BARRIER
      requests fail with EOPNOTSUPP, and retrying the write
      requests without the barrier (probably after waiting for any pending
      writes to complete).
      
      However there is a bug in the handling this in JBD2 for ext4 .
      
      When ext4/JBD2 to submit a BIO_RW_BARRIER request,
      it sets the buffer_ordered flag on the buffer head.
      If the request completes successfully, the flag STAYS SET.
      
      Other code might then write the same buffer_head after the device has
      been reconfigured to not accept barriers.  This write will then fail,
      but the "other code" is not ready to handle EOPNOTSUPP errors and the
      error will be treated as fatal.
      
      Cc:  Neil Brown <neilb@suse.de>
      Signed-off-by: NDave Kleikamp <shaggy@linux.vnet.ibm.com>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      c4e35e07
    • J
      ext4: Fix Direct I/O locking · 7fb5409d
      Jan Kara 提交于
      We cannot start transaction in ext4_direct_IO() and just let it last
      during the whole write because dio_get_page() acquires mmap_sem which
      ranks above transaction start (e.g. because we have dependency chain
      mmap_sem->PageLock->journal_start, or because we update atime while
      holding mmap_sem) and thus deadlocks could happen. We solve the problem
      by starting a transaction separately for each ext4_get_block() call.
      
      We *could* have a problem that we allocate a block and before its data
      are written out the machine crashes and thus we expose stale data. But
      that does not happen because for hole-filling generic code falls back to
      buffered writes and for file extension, we add inode to orphan list and
      thus in case of crash, journal replay will truncate inode back to the
      original size.
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      7fb5409d