1. 10 Feb, 2008 39 commits
    • Oleg Nesterov's avatar
      hrtimer: fix *rmtp handling in hrtimer_nanosleep() · 080344b9
      Oleg Nesterov authored
      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: default avatarOleg 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: default avatarThomas 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
    • john stultz's avatar
      ntp: correct inconsistent interval/tick_length usage · e13a2e61
      john stultz authored
      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: default avatarJohn Stultz <johnstul@us.ibm.com>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      e13a2e61
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 25f66630
      Linus Torvalds authored
      * 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
    • Jarek Poplawski's avatar
      [NET_SCHED] sch_htb: htb_requeue fix · 21347456
      Jarek Poplawski authored
      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: default avatarJarek Poplawski <jarkao2@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      21347456
    • Rami Rosen's avatar
      [IPV6]: Replace using the magic constant "1024" with IP6_RT_PRIO_USER for fc_metric. · 238fc7ea
      Rami Rosen authored
      This patch replaces the explicit usage of the magic constant "1024"
      with IP6_RT_PRIO_USER in the IPV6 tree.
      Signed-off-by: default avatarRami Rosen <ramirose@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      238fc7ea
    • Andrew Morton's avatar
      starfire: secton fix · da219b7c
      Andrew Morton authored
      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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      da219b7c
    • Andrew Morton's avatar
      via-velocity: section fix · 4f14b92f
      Andrew Morton authored
      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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4f14b92f
    • Andrew Morton's avatar
      natsemi: section fix · aa738adf
      Andrew Morton authored
      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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aa738adf
    • Andrew Morton's avatar
      typhoon: section fix · 952b3494
      Andrew Morton authored
      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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      952b3494
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 · 0b6ca82a
      Linus Torvalds authored
      * 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
    • Sam Ravnborg's avatar
      isdn: fix section mismatch warning for ISACVer · f4e64333
      Sam Ravnborg authored
      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: default avatarSam Ravnborg <sam@ravnborg.org>
      Acked-by: default avatarKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f4e64333
    • Sam Ravnborg's avatar
      isdn: fix section mismatch warnings from hisax_cs_setup_card · 2fddb6e2
      Sam Ravnborg authored
      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: default avatarSam Ravnborg <sam@ravnborg.org>
      Acked-by: default avatarKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2fddb6e2
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · bfc1de0c
      Linus Torvalds authored
      * 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
    • Sam Ravnborg's avatar
      isdn: fix section mismatch warnings in isac.c and isar.c · d348c2a3
      Sam Ravnborg authored
      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: default avatarSam Ravnborg <sam@ravnborg.org>
      Acked-by: default avatarKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d348c2a3
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 1712a699
      Linus Torvalds authored
      * '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
    • Sam Ravnborg's avatar
      isdn: fix section mismatch warning in hfc_sx.c · 7740ac6a
      Sam Ravnborg authored
      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: default avatarSam Ravnborg <sam@ravnborg.org>
      Acked-by: default avatarKarsten Keil <kkeil@suse.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7740ac6a
    • S.Çağlar Onur's avatar
      drivers/media/video/em28xx/: Fix undefined symbol error with CONFIG_SND=N · 95a940e9
      S.Çağlar Onur authored
      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: default avatarS.Çağlar Onur <caglar@pardus.org.tr>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      95a940e9
    • S.Çağlar Onur's avatar
    • S.Çağlar Onur's avatar
    • S.Çağlar Onur's avatar
      rtc-r9701.c: silence compiler warning · 9820380a
      S.Çağlar Onur authored
      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: default avatarS.Çağlar Onur <caglar@pardus.org.tr>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9820380a
    • S.Çağlar Onur's avatar
      x25_asy.c: silence compiler warning · 91a07365
      S.Çağlar Onur authored
      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: default avatarS.Çağlar Onur <caglar@pardus.org.tr>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      91a07365
    • Stephen Hemminger's avatar
      [PKT_SCHED] ematch: tcf_em_destroy robustness · 954415e3
      Stephen Hemminger authored
      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: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      954415e3
    • Stephen Hemminger's avatar
      [PKT_SCHED]: deinline functions in meta match · ed7af3b3
      Stephen Hemminger authored
      A couple of functions in meta match don't need to be inline.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ed7af3b3
    • Pavel Emelyanov's avatar
      [SCTP]: Convert sctp_dbg_objcnt to seq files. · 8ff65b46
      Pavel Emelyanov authored
      This makes the code use a good proc API and the text ~50 bytes shorter.
      Signed-off-by: default avatarPavel Emelyanov <xemul@openvz.org>
      Acked-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8ff65b46
    • Pavel Emelyanov's avatar
      [SCTP]: Use snmp_fold_field instead of a homebrew analogue. · 3f5340a6
      Pavel Emelyanov authored
      SCPT already depends in INET, so this doesn't create additional
      dependencies.
      Signed-off-by: default avatarPavel Emelyanov <xemul@openvz.org>
      Acked-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3f5340a6
    • Denis V. Lunev's avatar
      [IGMP]: Optimize kfree_skb in igmp_rcv. · cd557bc1
      Denis V. Lunev authored
      Merge error paths inside igmp_rcv.
      Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cd557bc1
    • Pavel Emelyanov's avatar
      [KEY]: Convert net/pfkey to use seq files. · bd2f7476
      Pavel Emelyanov authored
      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: default avatarPavel Emelyanov <xemul@openvz.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bd2f7476
    • Pavel Emelyanov's avatar
      [KEY]: Clean up proc files creation a bit. · 61145aa1
      Pavel Emelyanov authored
      Mainly this removes ifdef-s from inside the ipsec_pfkey_init.
      Signed-off-by: default avatarPavel Emelyanov <xemul@openvz.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      61145aa1
    • Andrew Morton's avatar
      pppol2tp: fix printk warnings · 0efeaa33
      Andrew Morton authored
      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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0efeaa33
    • Andrew Morton's avatar
      bnx2: section fix · fefa8645
      Andrew Morton authored
      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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fefa8645
    • Andrew Morton's avatar
      bnx2x: section fix · 53a10565
      Andrew Morton authored
      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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      53a10565
    • David S. Miller's avatar
    • David S. Miller's avatar
      344e53f5
    • Theodore Tso's avatar
      ext4: Add new "development flag" to the ext4 filesystem · 469108ff
      Theodore Tso authored
      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: default avatarTheodore Tso <tytso@MIT.EDU>
      Signed-off-by: default avatarMingming Cao <cmm@us.ibm.com>
      469108ff
    • Aneesh Kumar K.V's avatar
      ext4: Don't panic in case of corrupt bitmap · 26346ff6
      Aneesh Kumar K.V authored
      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: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarMingming Cao <cmm@us.ibm.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      26346ff6
    • Eric Sandeen's avatar
      ext4: allocate struct ext4_allocation_context from a kmem cache · 256bdb49
      Eric Sandeen authored
      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: default avatarEric Sandeen <sandeen@redhat.com>
      Signed-off-by: default avatarMingming Cao <cmm@us.ibm.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      
      256bdb49
    • Dave Kleikamp's avatar
      JBD2: Clear buffer_ordered flag for barried IO request on success · c4e35e07
      Dave Kleikamp authored
      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: default avatarDave Kleikamp <shaggy@linux.vnet.ibm.com>
      Signed-off-by: default avatarMingming Cao <cmm@us.ibm.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      c4e35e07
    • Jan Kara's avatar
      ext4: Fix Direct I/O locking · 7fb5409d
      Jan Kara authored
      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: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarMingming Cao <cmm@us.ibm.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      7fb5409d
    • Aneesh Kumar K.V's avatar
      ext4: Fix circular locking dependency with migrate and rm. · 8009f9fb
      Aneesh Kumar K.V authored
      In order to prevent a circular locking dependency when an unlink
      operation is racing with an ext4 migration, we delay taking i_data_sem
      until just before switch the inode format, and use i_mutex to prevent
      writes and truncates during the first part of the migration operation.
      Acked-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarMingming Cao <cmm@us.ibm.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      8009f9fb
  2. 09 Feb, 2008 1 commit