4afe978 | Hidehiro Kawai | 22 October 2008, 21:15:00 UTC | jbd: fix error handling for checkpoint io When a checkpointing IO fails, current JBD code doesn't check the error and continue journaling. This means latest metadata can be lost from both the journal and filesystem. This patch leaves the failed metadata blocks in the journal space and aborts journaling in the case of log_do_checkpoint(). To achieve this, we need to do: 1. don't remove the failed buffer from the checkpoint list where in the case of __try_to_free_cp_buf() because it may be released or overwritten by a later transaction 2. log_do_checkpoint() is the last chance, remove the failed buffer from the checkpoint list and abort the journal 3. when checkpointing fails, don't update the journal super block to prevent the journaled contents from being cleaned. For safety, don't update j_tail and j_tail_sequence either 4. when checkpointing fails, notify this error to the ext3 layer so that ext3 don't clear the needs_recovery flag, otherwise the journaled contents are ignored and cleaned in the recovery phase 5. if the recovery fails, keep the needs_recovery flag 6. prevent cleanup_journal_tail() from being called between __journal_drop_transaction() and journal_abort() (a race issue between journal_flush() and __log_wait_for_space() Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com> Acked-by: Jan Kara <jack@suse.cz> Cc: <linux-ext4@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 23 October 2008, 15:55:01 UTC |
66f50ee | Paul Mundt | 22 October 2008, 21:14:59 UTC | profiling: fix up CONFIG_PROC_FS=n build In the case where procfs is disabled, create_proc_profile() does not exist. Stub it in with the others. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 23 October 2008, 15:55:01 UTC |
4c82104 | Paul Mundt | 22 October 2008, 21:14:58 UTC | mm: page_cgroup needs linux/vmalloc.h for vmalloc_node()/vfree(). mm/page_cgroup.c: In function 'init_section_page_cgroup': mm/page_cgroup.c:111: error: implicit declaration of function 'vmalloc_node' mm/page_cgroup.c:111: warning: assignment makes pointer from integer without a cast mm/page_cgroup.c: In function '__free_page_cgroup': mm/page_cgroup.c:140: error: implicit declaration of function 'vfree' Signed-off-by: Paul Mundt <lethal@linux-sh.org> Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 23 October 2008, 15:55:01 UTC |
9bf9b2f | Linus Torvalds | 23 October 2008, 15:28:25 UTC | Merge git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (53 commits) powerpc: Support for relocatable kdump kernel powerpc: Don't use a 16G page if beyond mem= limits powerpc: Add del_node() for early boot code to prune inapplicable devices. powerpc: Further compile fixup for STRICT_MM_TYPECHECKS powerpc: Remove empty #else from signal_64.c powerpc: Move memory size print into common show_cpuinfo for 32-bit hvc_console: Remove __devexit annotation of hvc_remove() hvc_console: Add support for tty window resizing hvc_console: Fix loop if put_char() returns 0 hvc_console: Add tty driver flag TTY_DRIVER_RESET_TERMIOS hvc_console: Add a hangup notifier for backends powerpc/83xx: Add DS1339 RTC support for MPC8349E-mITX boards .dts powerpc/83xx: Add support for MCU microcontroller in .dts files powerpc/85xx: Move mpc8572ds.dts to address-cells/size-cells = <2> of/spi: Support specifying chip select as active high via device tree powerpc: Remove device_type = "board_control" properties in .dts files i2c-cpm: Suppress autoprobing for devices powerpc/85xx: Fix mpc8536ds dma interrupt numbers powerpc/85xx: Enable enhanced functions for 8536 TSEC powerpc: Delete unused prom_strtoul and prom_memparse ... | 23 October 2008, 15:28:25 UTC |
9779a83 | Linus Torvalds | 23 October 2008, 15:20:34 UTC | Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: (47 commits) uwb: wrong sizeof argument in mac address compare uwb: don't use printk_ratelimit() so often uwb: use kcalloc where appropriate uwb: use time_after() when purging stale beacons uwb: add credits for the original developers of the UWB/WUSB/WLP subsystems uwb: add entries in the MAINTAINERS file uwb: depend on EXPERIMENTAL wusb: wusb-cbaf (CBA driver) sysfs ABI simplification uwb: document UWB and WUSB sysfs files uwb: add symlinks in sysfs between radio controllers and PALs uwb: dont tranmit identification IEs uwb: i1480/GUWA100U: fix firmware download issues uwb: i1480: remove MAC/PHY information checking function uwb: add Intel i1480 HWA to the UWB RC quirk table uwb: disable command/event filtering for D-Link DUB-1210 uwb: initialize the debug sub-system uwb: Fix handling IEs with empty IE data in uwb_est_get_size() wusb: fix bmRequestType for Abort RPipe request wusb: fix error path for wusb_set_dev_addr() wusb: add HWA host controller driver ... | 23 October 2008, 15:20:34 UTC |
309e1e4 | Linus Torvalds | 23 October 2008, 15:18:33 UTC | Merge branch 'for-next' of git://git.o-hand.com/linux-mfd * 'for-next' of git://git.o-hand.com/linux-mfd: mfd: check for platform_get_irq() return value in sm501 mfd: use pci_ioremap_bar() in sm501 mfd: Don't store volatile bits in WM8350 register cache mfd: don't export wm3850 static functions mfd: twl4030-gpio driver mfd: rtc-twl4030 driver mfd: twl4030 IRQ handling update | 23 October 2008, 15:18:33 UTC |
724bdd0 | Linus Torvalds | 23 October 2008, 15:16:03 UTC | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/ehca: Reject dynamic memory add/remove when ehca adapter is present IB/ehca: Fix reported max number of QPs and CQs in systems with >1 adapter IPoIB: Set netdev offload features properly for child (VLAN) interfaces IPoIB: Clean up ethtool support mlx4_core: Add Ethernet PCI device IDs mlx4_en: Add driver for Mellanox ConnectX 10GbE NIC mlx4_core: Multiple port type support mlx4_core: Ethernet MAC/VLAN management mlx4_core: Get ethernet MTU and default address from firmware mlx4_core: Support multiple pre-reserved QP regions Update NetEffect maintainer emails to Intel emails RDMA/cxgb3: Remove cmid reference on tid allocation failures IB/mad: Use krealloc() to resize snoop table IPoIB: Always initialize poll_timer to avoid crash on unload IB/ehca: Don't allow creating UC QP with SRQ mlx4_core: Add QP range reservation support RDMA/ucma: Test ucma_alloc_multicast() return against NULL, not with IS_ERR() | 23 October 2008, 15:16:03 UTC |
dc8dcad | Linus Torvalds | 23 October 2008, 15:15:29 UTC | Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: sata_via: load DEVICE register when CTL changes libata: set device class to NONE if phys_offline libata-eh: fix slave link EH action mask handling libata: transfer EHI control flags to slave ehc.i libata-sff: fix ata_sff_post_internal_cmd() libata: initialize port_task when !CONFIG_ATA_SFF | 23 October 2008, 15:15:29 UTC |
fdc76bf | Linus Torvalds | 23 October 2008, 15:12:21 UTC | Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] clps711x: add sparsemem definitions [ARM] 5315/1: Fix section mismatch warning (sa1111) [ARM] Orion: activate workaround for 88f6183 SPI clock erratum [ARM] Orion: instantiate the dsa switch driver [ARM] mv78xx0: force link speed/duplex on eth2/eth3 [ARM] remove extra brace in arch/arm/mach-pxa/trizeps4.c [ARM] balance parenthesis in header file [ARM] pxa: fix trizeps PCMCIA build [ARM] pxa: fix trizeps defconfig [ARM] dmabounce requires ZONE_DMA [ARM] 5303/1: period_cycles should be greater than 1 [ARM] 5310/1: Fix cache flush functions for ARMv4 [ARM] pxa: fix 3bca103a1e658d23737d20e1989139d9ca8973bf [ARM] pxa: fix redefinition of NR_IRQS [ARM] S3C24XX: Fix redefine of DEFINE_TIMER() in s3c24xx pwm-clock.c [ARM] S3C2443: Fix HCLK rate [ARM] S3C24XX: Serial driver debug depends on DEBUG_LL [ARM] S3C24XX: pwm-clock set_parent mask fix | 23 October 2008, 15:12:21 UTC |
72441bd | Linus Torvalds | 23 October 2008, 15:07:35 UTC | Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: (41 commits) [IA64] Fix annoying IA64_TR_ALLOC_MAX message. [IA64] kill sys32_pipe [IA64] remove sys32_pause [IA64] Add Variable Page Size and IA64 Support in Intel IOMMU ia64/pv_ops: paravirtualized instruction checker. ia64/xen: a recipe for using xen/ia64 with pv_ops. ia64/pv_ops: update Kconfig for paravirtualized guest and xen. ia64/xen: preliminary support for save/restore. ia64/xen: define xen machine vector for domU. ia64/pv_ops/xen: implement xen pv_time_ops. ia64/pv_ops/xen: implement xen pv_irq_ops. ia64/pv_ops/xen: define the nubmer of irqs which xen needs. ia64/pv_ops/xen: implement xen pv_iosapic_ops. ia64/pv_ops/xen: paravirtualize entry.S for ia64/xen. ia64/pv_ops/xen: paravirtualize ivt.S for xen. ia64/pv_ops/xen: paravirtualize DO_SAVE_MIN for xen. ia64/pv_ops/xen: define xen paravirtualized instructions for hand written assembly code ia64/pv_ops/xen: define xen pv_cpu_ops. ia64/pv_ops/xen: define xen pv_init_ops for various xen initialization. ia64/pv_ops/xen: elf note based xen startup. ... | 23 October 2008, 15:07:35 UTC |
59c7572 | Alexey Dobriyan | 06 October 2008, 10:49:39 UTC | proc: remove fs/proc/proc_misc.c Now that everything was moved to their more or less expected places, apply rm(1). Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 14:54:05 UTC |
5aa140c | Alexey Dobriyan | 06 October 2008, 10:36:31 UTC | proc: move /proc/vmcore creation to fs/proc/vmcore.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 14:51:22 UTC |
6d80e53 | Alexey Dobriyan | 06 October 2008, 10:26:12 UTC | proc: move pagecount stuff to fs/proc/page.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 14:48:31 UTC |
97ce5d6 | Alexey Dobriyan | 06 October 2008, 10:14:19 UTC | proc: move all /proc/kcore stuff to fs/proc/kcore.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 14:32:38 UTC |
b5aadf7 | Alexey Dobriyan | 06 October 2008, 09:23:43 UTC | proc: move /proc/schedstat boilerplate to kernel/sched_stats.h Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 14:06:12 UTC |
3b5d5c6 | Alexey Dobriyan | 06 October 2008, 09:19:27 UTC | proc: move /proc/modules boilerplate to kernel/module.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 14:03:13 UTC |
31d85ab | Alexey Dobriyan | 06 October 2008, 08:55:38 UTC | proc: move /proc/diskstats boilerplate to block/genhd.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: Jens Axboe <jens.axboe@oracle.com> | 23 October 2008, 13:57:37 UTC |
4b7d283 | Jarkko Nikula | 23 October 2008, 11:27:03 UTC | ALSA: ASoC: tlv320aic3x: Fix DSP DAI format and signal polarities matching - Codec doesn't support to configure bit clock and frame sync polarities - Codec doesn't support DSP_A format but DSP_B with inverted bit clock polarity - Match also other formats with their signal polarities Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> | 23 October 2008, 13:57:14 UTC |
5c9fe62 | Alexey Dobriyan | 06 October 2008, 00:19:42 UTC | proc: move /proc/zoneinfo boilerplate to mm/vmstat.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: Christoph Lameter <cl@linux-foundation.org> | 23 October 2008, 13:35:04 UTC |
d921455 | Haavard Skinnemoen | 23 October 2008, 13:24:10 UTC | Merge branches 'boards' and 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 | 23 October 2008, 13:24:10 UTC |
e82c610 | Haavard Skinnemoen | 23 October 2008, 12:42:19 UTC | avr32: Fix GPIO initcall breakage Add essential system devices, including GPIO controllers, automatically at core_initcall time. This ensures that the devices are there when the PIO driver gets initialized at postcore_initcall, fixing a bug exposed by commit d6634db8fe1784d0a8e4e156970fec034708446e "avr32: Use platform_driver_probe for pio platform driver". Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> | 23 October 2008, 13:18:33 UTC |
e3f91ca | Haavard Skinnemoen | 23 October 2008, 09:23:08 UTC | avr32: Scale loops_per_jiffy when cpu frequency changes The loops_per_jiffy variable isn't updated when cpufreq changes the CPU frequency. This could cause udelay() and friends to produce wrong delays. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> | 23 October 2008, 13:18:33 UTC |
6090065 | Alex Raimondi | 13 October 2008, 14:03:45 UTC | avr32: Fix bug in LCD pin setup on port C Bug was introduced with the new at32_select_periph function. Signed-off-by: Alex Raimondi <mailinglist@miromico.ch> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> | 23 October 2008, 13:18:22 UTC |
b6aa44a | Alexey Dobriyan | 06 October 2008, 00:17:48 UTC | proc: move /proc/vmstat boilerplate to mm/vmstat.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: Christoph Lameter <cl@linux-foundation.org> | 23 October 2008, 13:12:51 UTC |
74e2e8e | Alexey Dobriyan | 06 October 2008, 00:15:36 UTC | proc: move /proc/pagetypeinfo boilerplate to mm/vmstat.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 12:33:29 UTC |
8f32f7e | Alexey Dobriyan | 06 October 2008, 00:13:52 UTC | proc: move /proc/buddyinfo boilerplate to mm/vmstat.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 12:12:04 UTC |
884afaa | Nicolas Pitre | 23 October 2008, 03:34:08 UTC | [ARM] 5320/1: fix assembly constraints in implementation of do_div() Those inline assembly segments using the umlal instruction must have the & modifier so to be sure that a purely input register won't alias one of the registers used as input+output. In most cases, the inputs are still used after the outputs are touched, and most binutil versions insist on "rdhi, rdlo and rm must all be different" even for ARMv6+. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> | 23 October 2008, 11:53:32 UTC |
5f6a6a9 | Alexey Dobriyan | 05 October 2008, 23:50:47 UTC | proc: move /proc/vmallocinfo to mm/vmalloc.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: Christoph Lameter <cl@linux-foundation.org> | 23 October 2008, 11:48:28 UTC |
7b3c3a5 | Alexey Dobriyan | 05 October 2008, 22:42:17 UTC | proc: move /proc/slabinfo boilerplate to mm/slub.c, mm/slab.c Lose dummy ->write hook in case of SLUB, it's possible now. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: Pekka Enberg <penberg@cs.helsinki.fi> | 23 October 2008, 11:20:06 UTC |
a0ec95a | Alexey Dobriyan | 05 October 2008, 20:59:10 UTC | proc: move /proc/slab_allocators boilerplate to mm/slab.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: Pekka Enberg <penberg@cs.helsinki.fi> | 23 October 2008, 11:17:27 UTC |
d6917e1 | Alexey Dobriyan | 04 October 2008, 20:08:44 UTC | proc: move /proc/interrupts boilerplate code to fs/proc/interrupts.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 11:15:46 UTC |
df8106d | Alexey Dobriyan | 04 October 2008, 20:01:56 UTC | proc: move /proc/stat to fs/proc/stat.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 11:14:05 UTC |
f500975 | Alexey Dobriyan | 04 October 2008, 19:53:21 UTC | proc: move rest of /proc/partitions code to block/genhd.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: Jens Axboe <jens.axboe@oracle.com> | 23 October 2008, 11:07:31 UTC |
8591cf4 | Alexey Dobriyan | 04 October 2008, 19:40:23 UTC | proc: move /proc/cpuinfo code to fs/proc/cpuinfo.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 11:05:11 UTC |
fe25104 | Alexey Dobriyan | 04 October 2008, 19:11:37 UTC | proc: move /proc/devices code to fs/proc/devices.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 11:02:18 UTC |
d8ba7a3 | Alexey Dobriyan | 04 October 2008, 18:34:18 UTC | proc: move rest of /proc/locks to fs/locks.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 10:37:00 UTC |
ae04811 | Alexey Dobriyan | 04 October 2008, 10:39:12 UTC | proc: move /proc/kmsg creation to fs/proc/kmsg.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 10:35:08 UTC |
6596892 | Alexey Dobriyan | 04 October 2008, 10:30:53 UTC | proc: remove remnants of ->read_proc in proc_misc.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 10:32:59 UTC |
6e62775 | Alexey Dobriyan | 04 October 2008, 10:28:09 UTC | proc: move /proc/execdomains to kernel/exec_domain.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 10:30:41 UTC |
cf9887f | Alexey Dobriyan | 04 October 2008, 10:13:59 UTC | proc: switch /proc/cmdline to seq_file and move it to fs/proc/cmdline.c while I'm at it. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 10:29:04 UTC |
6827400 | Alexey Dobriyan | 04 October 2008, 10:08:37 UTC | proc: move /proc/filesystems to fs/filesystems.c Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 10:27:09 UTC |
4c150f6 | Alexey Dobriyan | 04 October 2008, 09:49:34 UTC | proc: move /proc/stram to m68k-specific code Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 10:25:35 UTC |
813dcf7 | Alexey Dobriyan | 03 October 2008, 18:42:36 UTC | proc: move /proc/hardware to m68k-specific code Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 10:24:03 UTC |
b457d15 | Alexey Dobriyan | 03 October 2008, 07:53:19 UTC | proc: switch /proc/version to seq_file and move it to fs/proc/version.c while I'm at it. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 10:19:58 UTC |
e1759c2 | Alexey Dobriyan | 15 October 2008, 19:50:22 UTC | proc: switch /proc/meminfo to seq_file and move it to fs/proc/meminfo.c while I'm at it. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 09:52:40 UTC |
9617760 | Alexey Dobriyan | 02 October 2008, 22:38:18 UTC | proc: switch /proc/uptime to seq_file and move it to fs/proc/uptime.c while I'm at it. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 09:48:01 UTC |
5b3acc8 | Alexey Dobriyan | 02 October 2008, 22:21:47 UTC | proc: switch /proc/loadavg to seq_file and move it to fs/proc/loadavg.c while I'm at it. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 09:45:28 UTC |
6c2f91e | Arjan van de Ven | 14 September 2008, 02:51:30 UTC | proc: use WARN() rather than printk+backtrace Use WARN() rather than a printk() + backtrace(); this gives a more standard format message as well as complete information (including line numbers etc) that will be collected by kerneloops.org Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 09:34:38 UTC |
1e0edd3 | Alexey Dobriyan | 17 October 2008, 01:07:44 UTC | proc: spread __init Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 09:32:31 UTC |
5bcd7ff | Alexey Dobriyan | 16 October 2008, 23:43:55 UTC | proc: proc_init_inodecache() can't fail kmem_cache creation code will panic, don't return anything. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 09:27:50 UTC |
7c88db0 | Joe Korty | 16 October 2008, 11:27:09 UTC | proc: fix vma display mismatch between /proc/pid/{maps,smaps} Commit 4752c369789250eafcd7813e11c8fb689235b0d2 aka "maps4: simplify interdependence of maps and smaps" broke /proc/pid/smaps, causing it to display some vmas twice and other vmas not at all. For example: grep .- /proc/1/smaps >/tmp/smaps; diff /proc/1/maps /tmp/smaps 1 25d24 2 < 7fd7e23aa000-7fd7e23ac000 rw-p 7fd7e23aa000 00:00 0 3 28a28 4 > ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] The bug has something to do with setting m->version before all the seq_printf's have been performed. show_map was doing this correctly, but show_smap was doing this in the middle of its seq_printf sequence. This patch arranges things so that the setting of m->version in show_smap is also done at the end of its seq_printf sequence. Testing: in addition to the above grep test, for each process I summed up the 'Rss' fields of /proc/pid/smaps and compared that to the 'VmRSS' field of /proc/pid/status. All matched except for Xorg (which has a /dev/mem mapping which Rss accounts for but VmRSS does not). This result gives us some confidence that neither /proc/pid/maps nor /proc/pid/smaps are any longer skipping or double-counting vmas. Signed-off-by: Joe Korty <joe.korty@ccur.com> Cc: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 09:21:29 UTC |
fd217f4 | Arjan van de Ven | 21 October 2008, 13:47:33 UTC | [PATCH] fs: add a sanity check in d_free Hi Al, remember that debug session we did at KS? You suggested this patch back then.... From 7751eaf30474b8cbfaea64795805a17eab05ac53 Mon Sep 17 00:00:00 2001 From: Arjan van de Ven <arjan@linux.intel.com> Date: Tue, 16 Sep 2008 16:51:17 -0700 Subject: [PATCH] fs: add a sanity check in d_free we're seeing some corruption in the dentry->d_alias list that appears like a free of an entry still on the list; this patch adds a WARN_ON() to catch this scenario, as suggested by Al Viro Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> | 23 October 2008, 09:17:12 UTC |
08b9fe6 | Mimi Zohar | 13 October 2008, 04:09:50 UTC | [PATCH] i_version: remount support Add support for remounting a filesystem with the i_version option. Signed-off-by: Mimi Zohar <zohar@us.ibm.com> | 23 October 2008, 09:13:28 UTC |
a77b72d | Miklos Szeredi | 30 July 2008, 12:06:22 UTC | [patch] vfs: make security_inode_setattr() calling consistent Call security_inode_setattr() consistetly before inode_change_ok(). It doesn't make sense to try to "optimize" the i_op->setattr == NULL case, as most filesystem do define their own setattr function. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> | 23 October 2008, 09:13:27 UTC |
2c51239 | Adrian Bunk | 20 August 2008, 23:56:22 UTC | [patch 1/3] FS_MBCACHE: don't needlessly make it built-in Assume you have: - one or more of ext2/3/4 statically built into your kernel - none of these with extended attributes enabled and - want to add onother one of ext2/3/4 modular and with extended attributes enabled then you currently have to reboot to use it since this results in CONFIG_FS_MBCACHE=y. That's not a common issue, but I just ran into it and since there's no reason to get a built-in mbcache in this case this patch fixes it. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Andreas Gruenbacher <agruen@suse.de> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | 23 October 2008, 09:13:26 UTC |
f696a36 | Miklos Szeredi | 31 July 2008, 11:41:58 UTC | [PATCH] move executable checking into ->permission() For execute permission on a regular files we need to check if file has any execute bits at all, regardless of capabilites. This check is normally performed by generic_permission() but was also added to the case when the filesystem defines its own ->permission() method. In the latter case the filesystem should be responsible for performing this check. Move the check from inode_permission() inside filesystems which are not calling generic_permission(). Create a helper function execute_ok() that returns true if the inode is a directory or if any execute bits are present in i_mode. Also fix up the following code: - coda control file is never executable - sysctl files are never executable - hfs_permission seems broken on MAY_EXEC, remove - hfsplus_permission is eqivalent to generic_permission(), remove Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> | 23 October 2008, 09:13:25 UTC |
5cec56d | Qinghuang Feng | 13 October 2008, 10:32:42 UTC | [PATCH] fs/dcache.c: update comment of d_validate() Parameters @hash and @len have been removed since 2.4.3, now just to delete them. Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com> | 23 October 2008, 09:13:24 UTC |
0e55a7c | Dan Williams | 27 September 2008, 02:01:20 UTC | [RFC PATCH] touch_mnt_namespace when the mount flags change Daemons that need to be launched while the rootfs is read-only can now poll /proc/mounts to be notified when their O_RDWR requests may no longer end in EROFS. Cc: Kay Sievers <kay.sievers@vrfy.org> Cc: Neil Brown <neilb@suse.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com> | 23 October 2008, 09:13:23 UTC |
91efc16 | Christoph Hellwig | 08 September 2008, 17:42:50 UTC | [PATCH] reiserfs: add missing llseek method Reiserfs currently doesn't set a llseek method for regular files, which means it will fall back to default_llseek. This means no one can seek beyond 2 Gigabytes on reiserfs, and that there's not protection vs the i_size updates from writers. Signed-off-by: Christoph Hellwig <hch@lst.de> | 23 October 2008, 09:13:22 UTC |
3222a3e | Christoph Hellwig | 03 September 2008, 19:53:01 UTC | [PATCH] fix ->llseek for more directories With this patch all directory fops instances that have a readdir that doesn't take the BKL are switched to generic_file_llseek. Signed-off-by: Christoph Hellwig <hch@lst.de> | 23 October 2008, 09:13:21 UTC |
4e9ed2f | OGAWA Hirofumi | 15 October 2008, 22:50:29 UTC | [PATCH vfs-2.6 6/6] vfs: add LOOKUP_RENAME_TARGET intent This adds LOOKUP_RENAME_TARGET intent for lookup of rename destination. LOOKUP_RENAME_TARGET is going to be used like LOOKUP_CREATE. But since the destination of rename() can be existing directory entry, so it has a difference. Although that difference doesn't matter in my usage, this tells it to user of this intent. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> | 23 October 2008, 09:13:20 UTC |
0612d9f | OGAWA Hirofumi | 15 October 2008, 22:50:29 UTC | [PATCH vfs-2.6 5/6] vfs: remove LOOKUP_PARENT from non LOOKUP_PARENT lookup lookup_hash() with LOOKUP_PARENT is bogus. And this prepares to add new intent on those path. The user of LOOKUP_PARENT intent is nfs only, and it checks whether nd->flags has LOOKUP_CREATE or LOOKUP_OPEN, so the result is same. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> | 23 October 2008, 09:13:19 UTC |
8f3dfaa | OGAWA Hirofumi | 15 October 2008, 22:50:29 UTC | [PATCH vfs-2.6 4/6] vfs: remove unnecessary fsnotify_d_instantiate() This calls d_move(), so fsnotify_d_instantiate() is unnecessary like rename path. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> | 23 October 2008, 09:13:18 UTC |
360da90 | OGAWA Hirofumi | 15 October 2008, 22:50:28 UTC | [PATCH vfs-2.6 3/6] vfs: add __d_instantiate() helper This adds __d_instantiate() for users which is already taking dcache_lock, and replace with it. The part of d_add_ci() isn't equivalent. But it should be needed fsnotify_d_instantiate() actually, because the path is to add the inode to negative dentry. fsnotify_d_instantiate() should be called after change from negative to positive. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> | 23 October 2008, 09:13:17 UTC |
e2761a1 | OGAWA Hirofumi | 15 October 2008, 22:50:28 UTC | [PATCH vfs-2.6 2/6] vfs: add d_ancestor() This adds d_ancestor() instead of d_isparent(), then use it. If new_dentry == old_dentry, is_subdir() returns 1, looks strange. "new_dentry == old_dentry" is not subdir obviously. But I'm not checking callers for now, so this keeps current behavior. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> | 23 October 2008, 09:13:16 UTC |
871c006 | OGAWA Hirofumi | 15 October 2008, 22:50:27 UTC | [PATCH vfs-2.6 1/6] vfs: replace parent == dentry->d_parent by IS_ROOT() Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> | 23 October 2008, 09:13:16 UTC |
9fbb76c | Al Viro | 12 October 2008, 04:15:17 UTC | [PATCH] get rid of on-stack dentry in udf Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:15 UTC |
ad76cbc | Alexey Dobriyan | 28 August 2008, 02:26:23 UTC | [PATCH 2/2] anondev: switch to IDA Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 09:13:14 UTC |
6de24f0 | Alexey Dobriyan | 28 August 2008, 02:25:49 UTC | [PATCH 1/2] anondev: init IDR statically Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> | 23 October 2008, 09:13:13 UTC |
8966c5e | David Woodhouse | 18 August 2008, 14:36:47 UTC | [JFFS2] Use d_splice_alias() not d_add() in jffs2_lookup() Now that JFFS2 can be exported by NFS, we need to get this right. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:12 UTC |
c002a6c | David Woodhouse | 17 August 2008, 16:21:18 UTC | [PATCH] Optimise NFS readdir hack slightly. Avoid calling the underlying ->readdir() again when we reached the end already; keep going round the loop only if we stopped due to our own buffer being full. [AV: tidy the things up a bit, while we are there] Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:11 UTC |
53c9c5c | Al Viro | 24 August 2008, 11:29:52 UTC | [PATCH] prepare vfs_readdir() callers to returning filldir result It's not the final state, but it allows moving ->readdir() instances to passing filldir return value to caller of vfs_readdir(). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:10 UTC |
a988544 | Al Viro | 24 August 2008, 11:28:39 UTC | [PATCH] get rid of on-stack dentry in ext2_get_parent() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:09 UTC |
734711a | Al Viro | 24 August 2008, 11:26:48 UTC | [PATCH] get rid of on-stack fake dentry in ext3_get_parent() Better pass parent and qstr to ext3_find_entry() explicitly than use such kludges, especially since the stack footprint is nasty enough and we have every chance to be deep in call chain. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:08 UTC |
5f556aa | David Woodhouse | 31 July 2008, 19:39:25 UTC | [JFFS2] Reinstate NFS exportability Now that the readdir/lookup deadlock issues have been dealt with, we can export JFFS2 file systems again. (For now, you have to specify fsid manually; we should add a method to the export_ops to handle that too.) Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:07 UTC |
d88f183 | David Woodhouse | 31 July 2008, 19:38:04 UTC | [PATCH] Remove XFS buffered readdir hack Now that we've moved the readdir hack to the nfsd code, we can remove the local version from the XFS code. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:06 UTC |
14f7dd6 | David Woodhouse | 31 July 2008, 19:29:12 UTC | [PATCH] Copy XFS readdir hack into nfsd code. Some file systems with their own internal locking have problems with the way that nfsd calls the ->lookup() method from within a filldir function called from their ->readdir() method. The recursion back into the file system code can cause deadlock. XFS has a fairly hackish solution to this which involves doing the readdir() into a locally-allocated buffer, then going back through it calling the filldir function afterwards. It's not ideal, but it works. It's particularly suboptimal because XFS does this for local file systems too, where it's completely unnecessary. Copy this hack into the NFS code where it can be used only for NFS export. In response to feedback, use it unconditionally rather than only for the affected file systems. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:05 UTC |
2628b76 | David Woodhouse | 31 July 2008, 16:16:51 UTC | [PATCH] Factor out nfsd_do_readdir() into its own function Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:04 UTC |
f3f8e17 | Al Viro | 11 August 2008, 16:39:47 UTC | [PATCH] reduce the stack footprint of exportfs_decode_fh() no need to have _two_ 256-byte arrays on stack... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:03 UTC |
9308a61 | Christoph Hellwig | 11 August 2008, 13:49:12 UTC | [PATCH] kill d_alloc_anon Remove d_alloc_anon now that no users are left. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:02 UTC |
4400372 | Christoph Hellwig | 11 August 2008, 13:49:04 UTC | [PATCH] switch all filesystems over to d_obtain_alias Switch all users of d_alloc_anon to d_obtain_alias. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:01 UTC |
4ea3ada | Christoph Hellwig | 11 August 2008, 13:48:57 UTC | [PATCH] new helper: d_obtain_alias The calling conventions of d_alloc_anon are rather unfortunate for all users, and it's name is not very descriptive either. Add d_obtain_alias as a new exported helper that drops the inode reference in the failure case, too and allows to pass-through NULL pointers and inodes to allow for tail-calls in the export operations. Incidentally this helper already existed as a private function in libfs.c as exportfs_d_alloc so kill that one and switch the callers to d_obtain_alias. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:13:00 UTC |
3a8cff4 | Christoph Hellwig | 11 August 2008, 13:37:17 UTC | [PATCH] generic_file_llseek tidyups Add kerneldoc for generic_file_llseek and generic_file_llseek_unlocked, use sane variable names and unclutter the code. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:12:59 UTC |
a518ab9 | Christoph Hellwig | 11 August 2008, 13:34:22 UTC | [PATCH] tidy up chrdev_open Use a single goto label for chrdev_put + return error cases. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:12:59 UTC |
ca30bc9 | Christoph Hellwig | 10 August 2008, 22:27:59 UTC | [PATCH] hpfs: cleanup ->setattr Reformat hpfs_notify_change to standard kernel style to make it readable and rename it to hpfs_setattr as that's what the method is called. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:12:58 UTC |
72e8264 | Christoph Hellwig | 10 August 2008, 22:24:08 UTC | [PATCH] dm: kill lookup_device wrapper Now that lookup_bdev is exported and used by dm just use it directly instead of through a trivial wrapper. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:12:57 UTC |
3516586 | Al Viro | 05 August 2008, 07:00:49 UTC | [PATCH] make O_EXCL in nd->intent.flags visible in nd->flags New flag: LOOKUP_EXCL. Set before doing the final step of pathname resolution on the paths that have LOOKUP_CREATE and O_EXCL. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:12:56 UTC |
2c552d8 | Al Viro | 03 August 2008, 02:40:42 UTC | [PATCH] don't pass bogus flags to LOOKUP_PARENT lookup in spufs Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:12:55 UTC |
8737f3a | Al Viro | 03 August 2008, 02:36:57 UTC | [PATCH] get rid of path_lookup_create() ... and don't pass bogus flags when we are just looking for parent. Fold __path_lookup_intent_open() into path_lookup_open() while we are at it; that's the only remaining caller. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:12:54 UTC |
98bc993 | Al Viro | 02 August 2008, 05:06:21 UTC | [PATCH] get rid of nameidata in audit_tree Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:12:53 UTC |
421748e | Al Viro | 02 August 2008, 05:04:36 UTC | [PATCH] assorted path_lookup() -> kern_path() conversions more nameidata eviction Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:12:52 UTC |
a63bb99 | Al Viro | 02 August 2008, 05:03:36 UTC | [PATCH] switch nfsd to kern_path() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:12:51 UTC |
c1a2a47 | Al Viro | 02 August 2008, 05:01:02 UTC | [PATCH] sanitize svc_export_parse() clean up the exit paths, get rid of nameidata Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:12:50 UTC |
8264613 | Al Viro | 02 August 2008, 04:57:06 UTC | [PATCH] switch quota_on-related stuff to kern_path() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> | 23 October 2008, 09:12:44 UTC |
b63365a | Herbert Xu | 23 October 2008, 08:11:29 UTC | net: Fix disjunct computation of netdev features My change commit e2a6b85247aacc52d6ba0d9b37a99b8d1a3e0d83 net: Enable TSO if supported by at least one device didn't do what was intended because the netdev_compute_features function was designed for conjunctions. So what happened was that it would simply take the TSO status of the last constituent device. This patch extends it to support both conjunctions and disjunctions under the new name of netdev_increment_features. It also adds a new function netdev_fix_features which does the sanity checking that usually occurs upon registration. This ensures that the computation doesn't result in an illegal combination since this checking is absent when the change is initiated via ethtool. The two users of netdev_compute_features have been converted. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> | 23 October 2008, 08:11:29 UTC |
2e3f92d | Wei Yongjun | 23 October 2008, 08:01:18 UTC | sctp: Fix to handle SHUTDOWN in SHUTDOWN_RECEIVED state Once an endpoint has reached the SHUTDOWN-RECEIVED state, it MUST NOT send a SHUTDOWN in response to a ULP request. The Cumulative TSN Ack of the received SHUTDOWN chunk MUST be processed. This patch fix to process Cumulative TSN Ack of the received SHUTDOWN chunk in SHUTDOWN_RECEIVED state. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net> | 23 October 2008, 08:01:18 UTC |
cf896d5 | Wei Yongjun | 23 October 2008, 08:00:49 UTC | sctp: Fix to handle SHUTDOWN in SHUTDOWN-PENDING state If SHUTDOWN is received in SHUTDOWN-PENDING state, enpoint should enter the SHUTDOWN-RECEIVED state and check the Cumulative TSN Ack field of the SHUTDOWN chunk (RFC 4960 Section 9.2). If the SHUTDOWN chunk can acknowledge all of the send DATA chunks, SHUTDOWN-ACK should be sent. But now endpoint just silently discarded the SHUTDOWN chunk. SHUTDOWN received in SHUTDOWN-PENDING state can happend when the last SACK is lost by network, or the SHUTDOWN chunk can acknowledge all of the received DATA chunks. The packet sequence(SACK lost) is like this: Endpoint A Endpoint B ULP (ESTABLISHED) (ESTABLISHED) <----------- DATA <--- shutdown Enter SHUTDOWN-PENDING state SACK ----lost----> SHUTDOWN(*1) ------------> <----------- SHUTDOWN-ACK (*1) silently discarded now. This patch fix to handle SHUTDOWN in SHUTDOWN-PENDING state as the same as ESTABLISHED state. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net> | 23 October 2008, 08:00:49 UTC |
898b054 | Shaohua Li | 27 September 2008, 03:10:28 UTC | dock: make dock driver not a module To avoid dock driver is loaded after other drivers like libata, let's make dock driver not a module. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Len Brown <len.brown@intel.com> | 23 October 2008, 08:00:47 UTC |
df10eec | Wei Yongjun | 23 October 2008, 08:00:21 UTC | sctp: Add check for the TSN field of the SHUTDOWN chunk If SHUTDOWN chunk is received Cumulative TSN Ack beyond the max tsn currently send, SHUTDOWN chunk be accepted and the association will be broken. New data is send, but after received SACK it will be drop because TSN in SACK is less than the Cumulative TSN, data will be retrans again and again even if correct SACK is received. The packet sequence is like this: Endpoint A Endpoint B ULP (ESTABLISHED) (ESTABLISHED) <----------- DATA (TSN=x-1) <----------- DATA (TSN=x) SHUTDOWN -----------> (Now Cumulative TSN=x+1000) (TSN=x+1000) <----------- DATA (TSN=x+1) SACK -----------> drop the SACK (TSN=x+1) <----------- DATA (TSN=x+1)(retrans) This patch fix this problem by terminating the association and respond to the sender with an ABORT. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net> | 23 October 2008, 08:00:21 UTC |
91bd6b1 | Wei Yongjun | 23 October 2008, 07:59:52 UTC | sctp: Drop ICMP packet too big message with MTU larger than current PMTU If ICMP packet too big message is received with MTU larger than current PMTU, SCTP will still accept this ICMP message and sync the PMTU of assoc with the wrong MTU. Endpoing A Endpoint B (ESTABLISHED) (ESTABLISHED) ICMP ---------> (packet too big, MTU too larger) sync PMTU This patch fixed the problem by drop that ICMP message. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net> | 23 October 2008, 07:59:52 UTC |