1. 24 Mar, 2007 13 commits
  2. 23 Mar, 2007 27 commits
    • Roland McGrath's avatar
      [PATCH] i386: clear segment register padding in core dumps · 6ea65ff7
      Roland McGrath authored
      The segment register slots in struct pt_regs are padded to 32 bits.
      Some of these are stored with instructions like "pushl %es", which
      leaves the high 16 bits as they were.  So the high bits of these
      fields in struct pt_regs contain kernel stack garbage.  These bits are
      ignored by everything and never leak to user space, except in core
      dumps.  The user struct pt_regs is always at the base of the thread's
      kernel stack and so it seems unlikely the information that leaks from
      here is ever worthwhile so as to be a security concern, but I'm not
      sure about that.  It has been this way for ages; userland consumers of
      core dumps all mask off these high bits themselves.  So it is not urgent.
      
      This change masks off the padding bits of the segment register slots
      in core dumps.  ptrace already masks off these high bits, so this
      makes the values in core dumps consistent with what ptrace would
      report just before the process died.
      
      As I read the processor manuals, the cs and ss values will always be
      padded with zero bits rather than stack garbage.  But unlike "pushl %es",
      this is not simple to test with a userland program.  So I added the two
      instructions rather than wonder if they are really never necessary.
      
      I think that x86_64 does not have this problem (for either 32-bit or
      64-bit processes).  It only uses "mov" instructions from segment
      registers, which zero-extend.
      Signed-off-by: default avatarRoland McGrath <roland@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6ea65ff7
    • Linus Torvalds's avatar
      x86-64: add "local_apic_timer_c2_ok" here too · 2e7c2838
      Linus Torvalds authored
      Needed for any architecture that claims ARCH_APICTIMER_STOPS_ON_C3,
      not just i386.
      
      I'm hoping Thomas will clean this up a bit later..
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2e7c2838
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 · cad6a84a
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
        ieee1394: fix oops on "modprobe -r ohci1394" after network class_device conversion
      cad6a84a
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 · 0ab602e5
      Linus Torvalds authored
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
        [netdrvr] ewrk3: correct card detection bug
        cxgb3 - fix white spaces in drivers/net/Kconfig
        myri10ge: update driver version to 1.3.0-1.226
        myri10ge: fix management of >4kB allocated pages
        myri10ge: update wcfifo and intr_coal_delay default values
        myri10ge: Serverworks HT2100 provides aligned PCIe completion
        mv643xx_eth: add mv643xx_eth_shutdown function
        SAA9730: Fix large pile of warnings
        Revert "ucc_geth: returns NETDEV_TX_BUSY when BD ring is full"
        cxgb3 - T3B2 pcie config space
        cxgb3 - Fix potential MAC hang
        cxgb3 - Auto-load FW if mismatch detected
        cxgb3 - fix ethtool cmd on multiple queues port
        Fix return code in pci-skeleton.c
        skge: use per-port phy locking
        skge: mask irqs when device down
        skge: deadlock on tx timeout
        [PATCH] airo: Fix an error path memory leak
        [PATCH] bcm43xx: MANUALWLAN fixes
      0ab602e5
    • Andrew Morton's avatar
      [PATCH] "ext[34]: EA block reference count racing fix" performance fix · 105fd108
      Andrew Morton authored
      A little mistake in 8a2bfdcb is making all
      transactions synchronous, which reduces ext3 performance to comical levels.
      
      Cc: Mingming Cao <cmm@us.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      105fd108
    • Guido Guenther's avatar
      [PATCH] rivafb: fix initial brightness · cee9e8c5
      Guido Guenther authored
      This is the rivafb equivalent of 238576e1.
      It fixes rivafb having a default backlight brightness of 0 (no picture at
      all) on a PBook 6,1.
      Signed-off-by: default avatarGuido Guenther <agx@sigxcpu.org>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Acked-by: default avatarRichard Purdie <rpurdie@rpsys.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cee9e8c5
    • Danny Kukawka's avatar
      [PATCH] add Fujitsu Siemens Tablet PC devices to 8250_pnp.c · 6149dd5c
      Danny Kukawka authored
      Adds device ids of two Fujitsu Siemens Tablet PCs to pnp_dev_table
      Signed-off-by: default avatarDanny Kukawka <dkukawka@suse.de>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6149dd5c
    • David Howells's avatar
      [PATCH] FDPIC: fix the /proc/pid/stat representation of executable boundaries · aa289b47
      David Howells authored
      Fix the /proc/pid/stat representation of executable boundaries.  It should
      show the bounds of the executable, but instead shows the bounds of the
      loader.
      
      Before the patch is applied, the bug can be seen by examining, say, inetd:
      
      	# ps | grep inetd
      	  610         root          0   S   /usr/sbin/inetd -i
      	# cat /proc/610/maps
      	c0bb0000-c0bba788 r-xs 00000000 00:0b 14582157  /lib/ld-uClibc-0.9.28.so
      	c3180000-c31dede4 r-xs 00000000 00:0b 14582179  /lib/libuClibc-0.9.28.so
      	c328c000-c328ea00 rw-p 00008000 00:0b 14582157  /lib/ld-uClibc-0.9.28.so
      	c3290000-c329b6c0 rw-p 00000000 00:00 0
      	c32a0000-c32c0000 rwxp 00000000 00:00 0
      	c32d4000-c32d8000 rw-p 00000000 00:00 0
      	c3394000-c3398000 rw-p 00000000 00:00 0
      	c3458000-c345f464 r-xs 00000000 00:0b 16384612  /usr/sbin/inetd
      	c3470000-c34748f8 rw-p 00004000 00:0b 16384612  /usr/sbin/inetd
      	c34cc000-c34d0000 rw-p 00000000 00:00 0
      	c34d4000-c34d8000 rw-p 00000000 00:00 0
      	c34d8000-c34dc000 rw-p 00000000 00:00 0
      	# cat /proc/610/stat
      	610 (inetd) S 1 610 610 0 -1 256 0 0 0 0 0 8 0 0 19 0 1 0 94392000718
      	950272 0 4294967295 3233480704 3233523592 3274440352 3274439976
       	3273467584 0 0 4096 90115 3221712796 0 0 17 0 0 0 0
      
      The code boundaries are 3233480704 to 3233523592, which are:
      
      	(gdb) p/x 3233480704
      	$1 = 0xc0bb0000
      	(gdb) p/x 3233523592
      	$2 = 0xc0bba788
      
      Which corresponds to this line in the maps file:
      
      	c0bb0000-c0bba788 r-xs 00000000 00:0b 14582157  /lib/ld-uClibc-0.9.28.so
      
      Which is wrong.  After the patch is applied, the maps file is pretty much
      identical (there's some minor shuffling of the location of some of the
      anonymous VMAs), but the stat file is now:
      
      	# cat /proc/610/stat
      	610 (inetd) S 1 610 610 0 -1 256 0 0 0 0 0 7 0 0 18 0 1 0 94392000722
      	950272 0 4294967295 3276111872 3276141668 3274440352 3274439976
      	3273467584 0 0 4096 90115 3221712796 0 0 17 0 0 0 0
      
      The code boundaries are then 3276111872 to 3276141668, which are:
      
      	(gdb) p/x 3276111872
      	$1 = 0xc3458000
      	(gdb) p/x 3276141668
      	$2 = 0xc345f464
      
      And these correspond to this line in the maps file instead:
      
      	c3458000-c345f464 r-xs 00000000 00:0b 16384612  /usr/sbin/inetd
      
      Which is now correct.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      aa289b47
    • James Morris's avatar
      [PATCH] time: fix formatting in /proc/timer_list · 0444b303
      James Morris authored
      Fix the print formatting of three unsigned long fields in /proc/timer_list,
      which are currently being formatted as signed long.
      Signed-off-by: default avatarJames Morris <jmorris@namei.org>
      Acked-by: default avatarIngo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0444b303
    • Thomas Gleixner's avatar
      [PATCH] i386: add command line option "local_apic_timer_c2_ok" · e585bef8
      Thomas Gleixner authored
      It turned out that it is almost impossible to trust ACPI, BIOS & Co.
      regarding the C states. This was the reason to switch the local apic
      timer off in C2 state already. OTOH there are sane and well behaving
      systems, which get punished by that decision.
      
      Allow the user to confirm that the local apic timer is trustworthy in C2
      state. This keeps the default behaviour on the safe side.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e585bef8
    • Linus Torvalds's avatar
      Revert "ACPI: Only use IPI on known broken machines (AMD, Dothan/BaniasPentium M)" · 296d93cd
      Linus Torvalds authored
      This reverts commit 25496cae, which
      broke bootup on at least Ingo's ThinkPad T60.  Need to figure out
      exactly what is wrong before we can re-do the logic.
      Requested-by: default avatarIngo Molnar <mingo@elte.hu>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Thomas Renninger <trenn@suse.de>
      Cc: Len Brown <len.brown@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      296d93cd
    • Stefan Richter's avatar
      ieee1394: fix oops on "modprobe -r ohci1394" after network class_device conversion · 7a9eeb2f
      Stefan Richter authored
      The networking subsystem has been converted from class_device to device
      but ieee1394 hasn't.  This results in a 100% reproducible NULL pointer
      dereference if the ohci1394 driver module is unloaded while the eth1394
      module is still loaded.
      http://lkml.org/lkml/2006/11/16/147
      http://lkml.org/lkml/2007/3/14/4
      
      This is a regression in 2.6.21-rc1.
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      Tested-by: default avatarIsmail Dönmez <ismail@pardus.org.tr>
      7a9eeb2f
    • Jeff Garzik's avatar
      [netdrvr] ewrk3: correct card detection bug · 991b5557
      Jeff Garzik authored
      Arwin Vosselman pointed out:
      > The ewrk3-driver doesn't function with 2.6.16-kernels (used 2.6.16.41 for
      > my tests). Cards will never be detected due to this bug.
      >
      > drivers/net/ewrks3.c:
      > Line 417 reads:
      >
      > if (nicsr == (CSR_TXD | CSR_RXD))
      >
      > that should be:
      >
      > if (nicsr != (CSR_TXD | CSR_RXD))
      >
      > Comparison with the same line in v2.4 shows why:
      >
      > 2.4:
      > if (nicsr == (CSR_TXD | CSR_RXD)){
      >
      > blah, blah
      > ==========
      > 2.6:
      > if (nicsr == (CSR_TXD | CSR_RXD))
      >     return -ENXIO;
      >
      > blah, blah
      > ==========
      >
      > blah,blah will not, but should, be executed in 2.6 with a card being present.
      >
      > The fix mentioned above solves this bug.
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      991b5557
    • Jeff Garzik's avatar
      Merge branch 'upstream-fixes' of... · 604119a4
      Jeff Garzik authored
      Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into tmp
      604119a4
    • Divy Le Ray's avatar
      cxgb3 - fix white spaces in drivers/net/Kconfig · 194c1fbe
      Divy Le Ray authored
      Use tabs instead of white spaces for CHELSIO_T3 entry.
      Signed-off-by: default avatarDivy Le Ray <divy@chelsio.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      194c1fbe
    • Brice Goglin's avatar
      myri10ge: update driver version to 1.3.0-1.226 · 2ea34672
      Brice Goglin authored
      Driver version is now 1.3.0-1.226.
      Signed-off-by: default avatarBrice Goglin <brice@myri.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      2ea34672
    • Brice Goglin's avatar
      myri10ge: fix management of >4kB allocated pages · b52a8b7f
      Brice Goglin authored
      Fix management of allocated physical pages when the architecture
      page size is not 4kB since the firmware cannot cross 4K boundary.
      Signed-off-by: default avatarBrice Goglin <brice@myri.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      b52a8b7f
    • Brice Goglin's avatar
      myri10ge: update wcfifo and intr_coal_delay default values · f761fae1
      Brice Goglin authored
      Update the default value of 2 module parameters:
      * wcfifo disabled
      * intr_coal_delay 75us
      Signed-off-by: default avatarBrice Goglin <brice@myri.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      f761fae1
    • Brice Goglin's avatar
      myri10ge: Serverworks HT2100 provides aligned PCIe completion · aafa70eb
      Brice Goglin authored
      [PATCH 1/4] myri10ge: Serverworks HT2100 provides aligned PCIe completion
      
      Use the regular firmware on Serverworks HT2100 PCIe ports since this
      chipset provides aligned PCIe completion.
      Signed-off-by: default avatarBrice Goglin <brice@myri.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      aafa70eb
    • Dale Farnsworth's avatar
      mv643xx_eth: add mv643xx_eth_shutdown function · d57ab6fd
      Dale Farnsworth authored
      mv643xx_eth_shutdown is needed for kexec.
      Signed-off-by: default avatarDale Farnsworth <dale@farnsworth.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      d57ab6fd
    • Ralf Baechle's avatar
      SAA9730: Fix large pile of warnings · 69a43ac0
      Ralf Baechle authored
      The SAA9730 driver doesn't quite grok what the difference between an ioport
      and memory mapped I/O is.  It just happened to work on the one Linux
      system the SAA9730 happens to spend it's misserable existence on.
      
      drivers/net/saa9730.c: In function 'evm_saa9730_enable_lan_int':
      drivers/net/saa9730.c:68: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:70: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:72: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'evm_saa9730_disable_lan_int':
      drivers/net/saa9730.c:78: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:80: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'evm_saa9730_clear_lan_int':
      drivers/net/saa9730.c:85: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'evm_saa9730_block_lan_int':
      drivers/net/saa9730.c:91: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'evm_saa9730_unblock_lan_int':
      drivers/net/saa9730.c:97: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'show_saa9730_regs':
      drivers/net/saa9730.c:150: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'lan_saa9730_allocate_buffers':
      drivers/net/saa9730.c:292: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:295: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:302: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:305: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:312: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'lan_saa9730_cam_load':
      drivers/net/saa9730.c:329: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:332: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'lan_saa9730_mii_init':
      drivers/net/saa9730.c:369: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:395: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:403: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:410: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:432: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'lan_saa9730_control_init':
      drivers/net/saa9730.c:470: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:474: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:478: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:484: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:487: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:490: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:493: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'lan_saa9730_stop':
      drivers/net/saa9730.c:505: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:508: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:510: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'lan_saa9730_dma_init':
      drivers/net/saa9730.c:536: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'lan_saa9730_start':
      drivers/net/saa9730.c:556: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:560: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:564: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:567: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'lan_saa9730_tx':
      drivers/net/saa9730.c:590: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'lan_saa9730_rx':
      drivers/net/saa9730.c:664: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:729: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'lan_saa9730_write':
      drivers/net/saa9730.c:848: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c: In function 'lan_saa9730_set_multicast':
      drivers/net/saa9730.c:943: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      drivers/net/saa9730.c:949: warning: passing argument 2 of 'outl' makes integer from pointer without a cast
      
      Fixed by using writel instead of outl.  42 warnings less.
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      69a43ac0
    • Li Yang's avatar
      Revert "ucc_geth: returns NETDEV_TX_BUSY when BD ring is full" · 6f6881b8
      Li Yang authored
      This reverts commit 18babd38.
      
      Michael Barkowski points out that it's wrong, and I agree.  The
      patch causes a problem rather than fixes one after another
      patch "ucc_geth: Fix BD processing" was applied.  Before that
      patch, current packet should be blocked.  However after the patch
      current packet is ok and we only need to block next.
      Reported-by: default avatarMichael Barkowski <michael.barkowski@freescale.com>
      Signed-off-by: default avatarLi Yang <leoli@freescale.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      6f6881b8
    • Divy Le Ray's avatar
      cxgb3 - T3B2 pcie config space · e4d08359
      Divy Le Ray authored
      T3B2 does not lose its pcie config space on reset.
      Signed-off-by: default avatarDivy Le Ray <divy@chelsio.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      e4d08359
    • Divy Le Ray's avatar
      cxgb3 - Fix potential MAC hang · fc90664e
      Divy Le Ray authored
      Under rare conditions, the MAC might hang while generating a pause frame.
      This patch fine tunes the MAC settings to avoid the issue, allows for
      periodic MAC state check, and triggers a recovery if hung.
      
      Also fix one MAC statistics counter for the rev board T3B2.
      Signed-off-by: default avatarDivy Le Ray <divy@chelsio.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      fc90664e
    • Divy Le Ray's avatar
      cxgb3 - Auto-load FW if mismatch detected · 2e283962
      Divy Le Ray authored
      The driver attempts to upgrade the FW if the card has the wrong version.
      Signed-off-by: default avatarDivy Le Ray <divy@chelsio.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      2e283962
    • Divy Le Ray's avatar
      cxgb3 - fix ethtool cmd on multiple queues port · 05b97b30
      Divy Le Ray authored
      Limit ethtool -g/-G to the given port's queues.
      Signed-off-by: default avatarDivy Le Ray <divy@chelsio.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      05b97b30
    • Anton Blanchard's avatar
      Fix return code in pci-skeleton.c · 5c4851cc
      Anton Blanchard authored
      We assign the return value of register_netdev to i, but return rc later
      on. Fix it.
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      5c4851cc