Ok, trying to calm things down again for a 2.6.11 release.
Tons of small cleanups, annotations and fixes here. Driver updates,
cpufreq, ppc, parisc, arm.. Pls check that I got it all.
Linus
---
Summary of changes from v2.6.11-rc1 to v2.6.11-rc2
============================================
Adam Kropelin:
o contort getdents64 to pacify gcc-2.96
Adrian Bunk:
o [NET]: misc cleanups
o SCSI aic7xxx: kill kernel 2.2 #ifdef's
o [DECNET]: Misc cleanups
o [IPV6]: Misc cleanups
o [NET]: net/802/: some cleanups
o [XFRM]: Unexport xfrm_policy_delete
Alan Cox:
o [AX25]: Revert to 2.6.9 behavior
o smbfs fixes
Alan Stern:
o USB UHCI: protect DMA-able fields with barriers
o USB: correct and clarify error-code documentation
Alexander Viro:
o miri_sbus iomem annotations
o hamachi iomem annotations
o bmac iomem annotations
o s2io iomem annotations and cleanups
Alexey Dobriyan:
o USB: drivers/usb/*: s/0/NULL/ in pointer context
Alexey Kuznetsov:
o [TCP]: Do not try to collapse multi-packet SKBs
Andi Kleen:
o Fix gcc4 compilation in s2io net driver
o x86_64: Fix ACPI SRAT NUMA parsing
o x86_64: Fix K8 NUMA discovery
o [3/4] x86_64: Fix NUMA hash setup
o [4/4] Fix numa=off command line parsing
o x86_64: Add brackets to bitops
o x86_64: Move early CPU detection earlier
o x86_64: Disable uselib when possible
o x86_64: Optimize nodemask operations slightly
o [NET]: Use unlocked_ioctl for sock_ioctl
o x86_64: Fix CMP with interleaving
o x86_64: fix flush race on context switch
o i386/x86-64: Fix SMP NMI watchdog race
o x86-64: Fix pud typo in ioremap
o x86-64: Clean up cpuid level detection
o Use -Wno-pointer-sign for gcc 4.0
o Convert XFS to unlocked_ioctl and compat_ioctl
o Some fixes for compat ioctl
o Convert Infiniband MAD driver to compat/unlocked_ioctl
o Support compat_ioctl for block devices
o Convert cciss to compat_ioctl
o Add compat_ioctl to frame buffer layer
o Convert sis fb driver to compat_ioctl
o Convert dv1394 driver to compat_ioctl
o Convert video1394 driver to compat_ioctl
o Convert amdtp driver to compat_ioctl
Andreas Gruenbacher:
o ext3/ea: revert old ea-in-inode patch
o ext3/EA: mbcache cleanup
o ext3/EA: Race in ext[23] xattr sharing code
o ext3/EA: Ext3: do not use journal_release_buffer
o ext3/EA: Ext3: factor our common xattr code; unnecessary lock
o ext3/EA: Ext[23]: no spare xattr handler slots needed
o ext3/EA: Cleanup and prepare ext3 for in-inode xattrs
o ext3/EA: Hide ext3_get_inode_loc in_mem option
o ext3/EA: In-inode extended attributes for ext3
Andreas Schwab:
o [IA64] Fix PTRACE_GETEVENTMSG ia32 emulation
Andrew Morton:
o eepro build fix
o ixgb whitespace fix
o 3c515 warning fix
o [SPARC64]: Make first arg to find_next_zero_bit() const
o acpi build fix
o convert-cciss-to-compat_ioctl fix
Anton Blanchard:
o ppc64: lacks definition of MM_VM_SIZE()
o ppc64: Remove CONFIG_IRQ_ALL_CPUS
Antonino Daplas:
o fbdev: Cleanup broken edid fixup code
o fbcon: Catch blank events on both device and console level
o fbcon: Fix compile error
o fbdev: Fbmon cleanup
o i810fb: Module param fix
o atyfb: Fix module parameter descriptions
o radeonfb: Fix init/exit section usage
o pxafb: Reorder add_wait_queue() and set_current_state()
o sa1100fb: Reorder add_wait_queue() and set_current_state()
o backlight: Add Backlight/LCD device basic support
o fbdev: Add w100 framebuffer driver
Aristeu Sergio Rozanski Filho:
o eepro: cache EEPROM values
o eepro: use module_param macros
o eepro: basic ethtool support
o eepro: fix return value in init_module()
o eepro: fix auto-detection option
Arjan van de Ven:
o [NETLINK]: Kill netlink_post, no longer used
o [IPVS]: Kill check_for_ip_vs_out, no longer used
Arkadiusz Miskiewicz:
o USB: add Ever UPS vendor/product id to ftdi_sio driver
Arnaldo Carvalho de Melo:
o [UDP] merge udp_sock with udp_opt
o [RAW] merge raw_sock with raw_opt
o [SCTP] merge sctp_sock with sctp_opt
o [IPV6] merge raw6_sock with raw6_opt
o [IPX] use a private slab cache for socks
Arthur Kepner:
o [TG3]: Always copy receive packets when 5701 PCIX workaround
enabled
Bart De Schuymer:
o [BRIDGE-NF]: Check ipv4 vs ipv6 more reliably in ip_sabotage_out()
Bartlomiej Zolnierkiewicz:
o [ide] ide-cd: use ssleep() instead of schedule_timeout()
o [ide] make try_to_flush_leftover_data() static
o [ide] kill ide_drive_t->suspend_reset
o [ide] icside: use ide_dma_intr()
o [ide] ide-v10: use ide_dma_intr()
o [ide] kill default_{attach,cleanup}()
Ben Dooks:
o [ARM PATCH] 2376/1: S3C2410 - cleanup 2410/2440 distinctions, fix
build
o [ARM PATCH] 2390/1: Simtec Electronics MAINTAINERS file entries
o [ARM PATCH] 2403/1: S3C2410 - clock initialsation tidy
o [ARM PATCH] 2407/1: S3C2410 - remove fixed base from IIS registers
o [ARM PATCH] 2408/1: S3C2410 - dma get position call
o [ARM PATCH] 2409/2: BAST - nand slot description
o [ARM PATCH] 2413/1: VR1000 - add serial ports to vr1000-map.h
o [ARM PATCH] 2414/1: VR1000 - add serial platform device
o [ARM PATCH] 2415/1: VR1000 - add platform device for flash
o [ARM PATCH] 2416/1: S3C2410 - default configuration update
o [ARM PATCH] 2421/1: bitops.h missing `const` from find calls
o [ARM PATCH] 2422/1: VR1000 - use UPF_IOREMAP for serial ports
o [ARM PATCH] 2424/1: S3C2410 - Document add HP iPAQ rx3715 overview
Benjamin Herrenschmidt:
o ppc32: Fix pmac kernel build with oprofile
o ppc32: update cpu state save/restore
o ppc32: Add missing prototype
o ppc64/ppc: Cleanup PCI skipping
Bjorn Helgaas:
o [IA64] reset console_loglevel so INIT output always goes to console
o PCI: use modern format for PCI addresses
Bodo Stroesser:
o uml: add stack addresses to dumps
Bruno Ducrot:
o [CPUFREQ] ondemand: don't increase to full speed at startup (Bruno
Ducrot)
Carsten Otte:
o s390: vol1 partition recognition
Catalin Marinas:
o [ARM PATCH] 2389/1: semaphore.c warning fixed
o [ARM PATCH] 2399/1: asm/constants.h included in
arch/arm/vfp/entry.S
o [ARM PATCH] 2401/1: asm/thread_info.h removed from
arch/arm/vfp/entry.S
o [ARM PATCH] 2404/1: BTAC/BTB flushing added in cpu_v6_switch_mm
Chas Williams:
o [ATM]: [drivers] pci_enable_device() before finding irq
o [ATM]: [lec] rewrite to eliminate lec_arp_users in favor of
lec_arp_lock
o [ATM]: [he] remove dead code and unneeded zero initializers
o [ATM]: change atm address functions to use list_add
o [ATM]: avoid race between svc_disconnect and sigd exiting
o [ATM]: [ambassador] use msleep() instead of schedule_timeout()
o [ATM]: [idt77252] vfree() checking cleanups
Chris Wedgwood:
o uml: fail xterm_open when we have no $DISPLAY
Chris Wright:
o mips default mlock limit fix
o consolidate arch specific resource.h headers
Christian Borntr?ger:
o reintroduce task_nice export for binfmt_elf32
Christoph Hellwig:
o gdth: cleanup compat clutter
o [NET]: Add rtnl_lock_interruptible()
o [8139TOO]: Use rtnl_lock_interruptible()
o mark arcdev_setup static
o [IPV6]: Fix EUI64 generation on S/390
o move read-only and immutable checks into permission()
o factor out common code around ->follow_link invocation
o binfmt_elf: allow mips to overrid e_flags
o remove bogus softirq_pending() usage in cris
o switch FRV to use local_soft_irq_pending
o fix INIT_SIGHAND warning on mips
o add page_offset to mm.h
o fat: merge msdos_fs_{i,sb}.h into msdos_fs.h
Corey Minyard:
o Minor IPMI driver updates
Daniel McNeil:
o generic_file_buffered_write: handle partial DIO writes with
multiple iovecs
Dave Boutcher:
o ibmvscsi: limit size of I/O requests, updated
o ibmvscsi: fix loop exit condition
o ibmvscsi: fix dangling pointer reference
o ibmvscsi: fix abort and reset error path
Dave Jones:
o [CPUFREQ] make ondemand governor aware of CPU domains
o [CPUFREQ] powernow-k7: ACPI perflib unregistration cleanup
o [CPUFREQ] powernow-k8: unregister from ACPI perflib in error path
o [CPUFREQ] re-add call to cpufreq_driver->resume()
o [CPUFREQ] acpi-cpufreq: force setting of P-State upon resume
o [CPUFREQ] core: CPUFREQ_GOV_STOP needs to be last
o [CPUFREQ] nforce2: use unified cpufreq debug infrastructure
o [CPUFREQ] powernow-k8: handle invalid initial frequency/voltage
pairs correctly
o [CPUFREQ] speedstep-centrino: fix SMP memory leak
o [CPUFREQ] Check in missing file for cpufreq stats
o [CPUFREQ] speedstep-centrino: transient MSR values (Venkatesh
Pallipadi)
o [CPUFREQ] speedstep-centrino: quieten driver (Venkatesh Pallipadi)
o [CPUFREQ] userspace: remove /proc/sys/cpu/ interface
o [CPUFREQ] proc_cpufreq: remove /proc/cpufreq interface
o matroxfb driver broken on non-x86
o [CPUFREQ] cpufreq mailing list changed its DNS entry
o [CPUFREQ] Fix up more instances of the old cpufreq list URLs
o [CPUFREQ] p4-clockmod: Dothan is 13 not 0x13
o [CPUFREQ] gx-suspmod: fix gx_suspmod_get
o [CPUFREQ] Fix structure name usage in powernow-k8 With 2.6.10-mm2
(or even with -mm1) some structures in struct psb_s have been
renamed in powernow-k8.h, but the renaming has not been done
properly for all
o [CPUFREQ] Remove reference to obsolete cpufreq bits
o [AGPGART] i915GM support
o [AGPGART] remove leftovers of the inter_module_* drm <-> agp
interface
o [AGPGART] fix pci_get_device conversion in intel-agp
o [AGPGART] Fix CONFIG_AGP dependancies
o [CPUFREQ] Fix typo in powernow-k7 voltage table
o [AGPGART] Fix silly typo in the i915GM support patch
David Brownell:
o USB: usbnet: Olympus R1000 PDA, and blacklisting if CDC && !ZAURUS
David Gibson:
o Another trivial orinoco update
David Howells:
o PCI: Downgrade printk that complains about unsupported PCI PM caps
o FRV: Remove mandatory single-step debugging diversion
o FRV: Excess whitespace cleanup
David Mosberger:
o [IA64] add hpzx1_swiotlb machine-vector
o [IA64] add hpzx1_swiotlb machine-vector (new files)
o avoid sparse warning due to time-interpolator
David S. Miller:
o [SPARC64]: Update defconfig
o [AX25]: Put back ax25digicmp
o [TCP]: Fix sk_forward_alloc assertion failures with TSO
o [EBTABLES]: Use correct printf format for size_t
o [NETLINK]: netlink_kernel[] no longer used
o [TUN]: Make type explicit in min() usage
o [SPARC64]: Need some more SPARC32 ifdeffing in here
o [TCP]: Do not underflow sk_forward_alloc in sendpage()
o [TG3]: Update driver version and reldate
o [NETFILTER]: Fix build by putting back ip_nat_lock extern in
ip_nat.h
o [NETFILTER]: Remove no longer needed symbol exports
o [NET]: Close NETIF_F_LLTX race conditions
David Woodhouse:
o ppc: fix removed MMCR0_PMXE define
Deepak Saxena:
o [ARM PATCH] 2378/1: Trivial: Update my info in CREDITS file
o [ARM PATCH] 2381/1: Add <linux/kernel.h> to IXP4xx source files
o [ARM PATCH] 2412/1: Fix IXP2000 gettimeofday() implementation
(again)
Dmitry Torokhov:
o Input: atkbd - fix keycode table size initialization that got
broken by my changes that exported 'set' and other settings via
sysfs.
o Input: psmouse - set mouse name to "Mouse" when using PS2++ and
don't have any other information about the mouse.
Domen Puncer:
o [SPARC64]: Remove x86-specific help in arch/sparc64/Kconfig
o [IA64] simeth.c: Remove unneeded casts of (void *) pointers
o [IA64] sn_hwperf.c: vfree() checking cleanups
o uml: delete unused header umn.h
Dominik Brodowski:
o pcmcia: remove IRQ_TYPE_TIME
o pcmcia: ignore driver IRQ mask
o pcmcia: remove irq_mask and irq_list parameters from PCMCIA drivers
o pcmcia: use irq_mask to mark IRQs as (un)usable
o pcmcia: remove racy try_irq()
o pcmcia: modify irq_mask via sysfs
o pcmcia: remove #includes in rsrc_mgr which aren't necessary any
longer
Ed L. Cashin:
o aoe: don't sleep with interrupts on
o aoe: fix __init calling __exit
Egbert Eich:
o vgacon fixes to help font restauration in X11
Enrico Scholz:
o [ide] atiixp: add IXP400 support
Eric Lammerts:
o ext3: commit superblock before panicking
Evgeniy Polyakov:
o w1: add ->search() method
Florian Echtler:
o USB: add driver for the Siemens ID Mouse fingerprint sensor
Frank Sorenson:
o uml: avoid NULL dereference in line.c
Frederick Li:
o [libata sata_sil] support ATI IXP300/IXP400 SATA
Gabor Egry:
o various Kconfig fixes
Ganesh Venkatesan:
o ixgb: Limit number of Rx Descriptors to 512
o ixgb: Enable Message Signalled Interrupts
o ixgb: Add support for 10GbE LR device ID
o ixgb: Fix VLAN filter setup errors (while running on PPC)
o ixgb: Fix memory leak in NAPI mode
o ixgb: Poll Routine cleanup
o ixgb: Fix error in setting MFS register
o ixgb: Fix infinite loop trying to re-establish link
o ixgb: Limit Rx Address Filter Array entries to 3
o ixgb: Remove support for RAIDC interrupt mitigation
o ixgb: Replace kmalloc with vmalloc (one time alloc)
o ixgb: ethtool_ops support
o ixgb: Shrink size and fix ordering of elements in ixgb_buffer
o ixgb: Fix Tx cleanup logic
o ixgb: Support for 2.6.x style module parameters
o ixgb: Driver version number update
o ixgb: White space corrections
Giorgio Padrin:
o [ARM PATCH] 2410/1: pxa-regs.h: Complete/fix I2S GPIO modes
definitions
Grant Grundler:
o [SPARC64]: Fix brainfart in pci_psycho.c
Greg Kroah-Hartman:
o Block: Remove block_subsys.rwsem usage
o Block: move struct disk_attribute to genhd.h
o I2C: add MODULE_DEVICE_TABLE to via686a.c driver
o USB: remove some unneeded exported symbols
o USB: fix sparse warnings in the idmouse.c driver
o USB: give the idmouse the 132 minor number
o PCI: move pcie build into the drivers/pci/ subdirectory
Gunther Mayer:
o [ide] ide_dump_atapi_status() printk readability fix
H. Peter Anvin:
o Use official Unicodes for DEC VT characters
Hanna V. Linder:
o [IA64] sba_iommu.c: pci_find_device is going away
o [IA64] pci.c: pci_find_device is going away
Harald Welte:
o [NETFILTER] re-introduce __initdata to {arp,ip,ip6}_tables
Heiko Carstens:
o s390: Core changes
o s390: cmm interface
Herbert Xu:
o [IPV6]: Fix locking in ip6_dst_lookup()
o [NETLINK]: Orphan SKBs in netlink_trim()
o [TCP]: Remove tcp_pcount_t
o [NETLINK]: Unshare SKB, as necessary, in netlink_trim()
Hideaki Yoshifuji:
o [IPV6]: Fix tunnel list locking in sit.c
o [IPV6] Don't use expired default routes
o [IPV6] Don't update FAILED entries on receipt of NAs
o [IPV6]: Ensure to learn link-layer address from RA
o [IPV6]: kill needless initialization and comparison in icmp.c
Hirofumi Ogawa:
o fat: kill fatfs_syms.c
o fat: use vprintk instead of snprintf with static buffer
o fat: kill unnecessary kmap()
o fat: fs/fat/cache.c: make __fat_access static
o fat: Lindent fs/msdos/namei.c
o fat: Lindent fs/vfat/namei.c
o FAT: Lindent fs/vfat/namei.c fix
o fat: fs/fat/* cleanup
o fat: reserved clusters cleanup
o fat: show current nls config even if it's default
Hirokazu Takata:
o net: netconsole support for smc91x
o csum_and_copy_from_user gcc4 warning fixes
Horst Hummel:
o s390: dasd driver debug log
Ingo Molnar:
o minor spinlock cleanups
o x86 rwlock *_can_lock() primitives
o rename 'lock' to 'slock' in asm-i386/spinlock.h
o nonintrusive spin-polling loop in kernel/spinlock.c
o allow all architectures to set CONFIG_DEBUG_PREEMPT
o completion API additions
Ivan Kokshaysky:
o Alpha: typos in io_trivial.h
Jack Steiner:
o [IA64-SGI] Add support for a future SGI chipset (shub2) 1of4
o [IA64-SGI] Add support for a future SGI chipset (shub2) 2of4
o [IA64-SGI] Add support for a future SGI chipset (shub2) 3of4
o [IA64-SGI] Add support for a future SGI chipset (shub2) 4of4
o [IA64] Cachealign jiffies_64 to prevent unexpected aliasing in the
caches
o [IA64] Stagger the addresses of the pernode data structures to
minimize cache aliasing
o [IA64-SGI] Update SN2 code for running on simulator
o [IA64-SGI] Delete unneeded SN2 header file router.h
James Bottomley:
o SCSI: update ipr to use the change_queue_depth API
o fix SPI transport class to do DV for broken Western Digital drives
o Fix exploitable hole in sg_scsi_ioctl
o SCSI: add starget_for_each_device
o FC Transport updates - additional fc host attributes
o generic irq code missing export of probe_irq_mask()
James Morris:
o SELinux: add Netlink message types for the TC action code
Jan Kara:
o Minor ext3 speedup
Jaroslav Kysela:
o [ALSA] Fix ioctl arguments
o [ALSA] ac97 quirk entries for HP xw6200 & xw8000
o [ALSA] Fix description of ALSA/OSS device mapping
o [ALSA] Fix float format support
o [ALSA] Add quirk for HP zv5000
o [ALSA] remove compatibility code for 2.2.x kernels
o [ALSA] Fix Oops at resume
o [ALSA] Adapt SPDIF Input selection for Realtek ALC658
o [ALSA] Fixed description about ac97_quirk
o [ALSA] Remove & from function pointers
o [ALSA] Add suspend callback
o [ALSA] Fix DMA pointer read
o [ALSA] Fix ctl_read/write ioctl wrappers
o [ALSA] Add ac97_quirk option
o ALSA 1.0.8
Jason Gaston:
o I2C support for Intel ICH7 - 2.6.10 - resubmit
o PCI: pci_ids.h correction for Intel ICH7 - 2.6.10-bk13
Jean Delvare:
o I2C: Fix bogus bitmask in lm63 debug message
o I2C: Cleanups to the eeprom driver
o I2C: Improve it87 super-i/o detection
Jeff Dike:
o uml: commentary about SIGWINCH handling for consoles
o uml: provide an arch-specific define for register file size
o uml: provide some initcall definitions for userspace code
o uml: allow ubd devices to provide partial end blocks
o uml: change for_each_cpu to for_each_online_cpu
o uml: eliminate unhandled SIGPROF on halt
o uml: fix __pud_alloc definition to match the declaration
o uml: fix a stack corruption crash
o uml: define __HAVE_ARCH_CMPXCHG on x86
Jeff Garzik:
o e1000/ixgb net drivers: rename global symbol to fix 'make
allyesconfig'
Jens Axboe:
o gdth buggy page mapping
o cfq-iosched: fix scsi requeue accounting
o elevator: print default selection
o Don't enable ata over eth by default
o possible rq starvation on oom
o bio clone memory corruption
o noop-iosched: fix insertion point
o Fix md using bio on stack with bio clones
Jesper Juhl:
o clean out old cruft from FD MCS driver
Jesse Barnes:
o [IA64] implements the features required for the HAVE_PCI_LEGACY
code in sysfs
o [IA64] update sn2_defconfig (fix initrd, add IB support) Don't know
what happened to initrd support, but 'make sn2_defconfig' no longer
enables it. This patch should fix that, along with enabling
modular IB support.
o [IA64] defconfig update
o [IA64] clear all region registers at boot
o [IA64-SGI] fix bogus address dereference in sn/setup.c
o [IA64] pci.c: fix warning
o [IA64-SGI] io_init.c: gcc4 fixes for sn2
o use mmiowb in qla1280.c
o PCI: rom.c cleanups
John Lenz:
o [ARM PATCH] 2417/1: update collie to use scoop driver
John Rose:
o PCI: fix release_pcibus_dev() crash
Jonas Munsin:
o I2C: it87 fan update
o I2C: fix it87 sensor driver stops CPU fan
Justin Thiessen:
o I2C: adm1026.c fixes
J?rn Engel:
o fixups for block2mtd
Keith Owens:
o [IA64] Add TIF_SIGDELAYED, delay a signal until it is safe
o [IA64] Clear all corrected records as they occur
o [IA64] Drop SALINFO_TIMER_DELAY from 5 minutes to 1 minute
o ia64: export pcibios_resource_to_bus to match other architectures
o scripts/reference*.pl - treat built-in.o as conglomerate
Krisztian KOVACS:
o [NETFILTER]: Remove remaining multirange related code
Kumar Gala:
o I2C-MPC: use wait_event_interruptible_timeout between transactions
o I2C-MPC: Convert to platform_device driver
o ppc32: System platform_device description, discovery and management
o ppc32: Infrastructure changes to MPC85xx sub-arch from OCP to
platform_device
o ppc32: convert boards from using OCP to platform_device
o ppc32: Convert gianfar ethernet driver from using an OCP to
platform_device
Lennert Buytenhek:
o [NET]: Tone down the verbosity of diverter messages
Linas Vepstas:
o ppc64: PCI EEH documentation
Linus Torvalds:
o Handle two threads both trying to expand their stack simultaneously
o Make mm writelock testing less intrusive
o Make pipe buffer handling more generic
o scsi_ioctl: only warn about unknown opcodes if they are truly
unknown
o Revert "Don't busy-lock-loop in preemptable spinlocks" patch
o Remove old debugging tests
o Remove broken-as-designed "rwlock_is_locked()" macro
o Revert "x86_64/i386: increase command line size" patch
o ppc64: rwlock *_can_lock() primitives
o ia64: rwlock *_can_lock() primitives
o x86-64: rwlock *_can_lock() primitives
o Linux 2.6.11-rc2
Lonnie Mendez:
o USB cypress_m8: line setting bugfix, circular write buffer added,
misc. fixes
Lothar Wassmann:
o [ARM PATCH] 2395/1: __ioremap() miscalculates mapping size under
certain conditions
Luca Risolia:
o USB: SN9C10x driver updates
Maksim Krasnyanskiy:
o TUN/TAP driver packet queuing fixes and improvements
o Use random_ether_addr() to generate TAP MAC address
o [TUN] Add a missing dependency on enabling the crc32 libraries
Marc Singer:
o [ARM PATCH] 2394/1: Re: accepting responsibility for Sharp LH ports
Marcel Holtmann:
o [Bluetooth] Make some code of the core static
o [Bluetooth] Make another function static
o [Bluetooth] Make more code static
o [Bluetooth] Add module parameter for HCI_Reset
o [Bluetooth] Update socket option handling
o [Bluetooth] Add HIDP message parsing
o [Bluetooth] Remove casts in BCSP driver
o [Bluetooth] Add module parameter for ignoring a device
o [Bluetooth] Lock initializer cleanup
Marcelo Tosatti:
o do_brk() needs mmap_sem write-locked
Mark A. Greer:
o serial: MPSC driver
Markus Lidel:
o I2O: fix possible race condition and minor improvements
o I2O: printk cleanup and unnecessary code removal
Martin Schwidefsky:
o s390: 3270 console
Matt Mackall:
o random: whitespace doh
o random: entropy debugging improvements
o random: run-time configurable debugging
o random: periodicity detection fix
o random: add_input_randomness
Matt Porter:
o EMAC: fix ibm_emac autonegotiation result parsing
o allow rx of the maximum sized VLAN tagged packets
o Add netpoll support
o ppc32: fix PPC44x build
Matthew Dobson:
o Fix num_online_nodes() warning on NUMA-Q
Matthew Wilcox:
o sym2 version 2.1.18n
o Remove lasi700.h
o Misc zalon fixes
o Make compat_rt_sigtimedwait conform
o Generic IRQ support for PA-RISC
o PA-RISC: parisc_device diet
o PA-RISC defconfig updates
o PA-RISC: Misc Dino fixes
o PA-RISC: Misc HPUX emulation cleanups
o iomap for PA-RISC
o PA-RISC: More PDC procedures
o PA-RISC: Remove unused serial definitions
o PA-RISC: ptrace fix
o PA-RISC: Fix _syscallN wrappers
o PA-RISC: Sort out io accessors
o PA-RISC: Remove unused file
Michael Ellerman:
o ppc64: make HvLpEvent_unregisterHandler() work
o ppc64: make iseries_veth call flush_scheduled_work()
Michael S. Tsirkin:
o ioctl rework #2
o macros to detect existance of unlocked_ioctl and ioctl_compat
Mike Christie:
o export print_sense_internal
Mike Miller:
o cciss update to version 2.6.4
Milton D. Miller II:
o ppc64: Minimum hashtable size
Miquel van Smoorenburg:
o mark-page-accessed in filemap.c not quite right
Neil Horman:
o [ATALK]: Add ioctls to allow ifx txqueuelen sets/gets
Nicolas Pitre:
o [ARM PATCH] 2391/1: remove obsolete help text
o [ARM PATCH] 2204/1: bring {read|write}sw up to date with current
reality
o [ARM PATCH] 2423/2: more PXA2xx AC97 defines
Nigel Cunningham:
o swsusp: refrigerator cleanups
Olaf Kirch:
o [NET]: Fix CMSG_COMPAT_OK length check
o [NET]: Check for SOL_SOCKET in compat_sys_getsockopt
Oleg Nesterov:
o uninline mod_page_state(offset, delta)
Oliver Neukum:
o USB: CDC ACM module and Zoom 2985 modem
Olof Johansson:
o ppc64: iommu: avoid ISA io space on POWER3
Pablo Neira:
o [NETFILTER]: move ipt_error and ipt_standard to iptables.h
Paolo 'Blaisorblade' Giarrusso:
o uml: readd CONFIG_MAGIC_SYSRQ for UML
o uml: Commentary addition to recent SYSEMU fix
o uml: drop unused buffer_head.h header from hostfs
o uml: depend on !USERMODE in drivers/block/Kconfig and drop
arch/um/Kconfig_block
o uml: Makefile simplification and correction
o uml: fix some UML own initcall macros
o uml: refuse to run without skas if no tt mode in
o uml: for ubd cmdline param use colon as delimiter
o uml: allow free ubd flag ordering
o uml: move code from ubd_user to ubd_kern
o uml: fix and cleanup code in ubd_kern.c coming from ubd_user.c
o uml: add stack content to dumps
o uml: update ld scripts to newer binutils
Patrick McHardy:
o [PKT_SCHED]: act_api.c: whitespace and coding style cleanup
o [PKT_SCHED]: act_api.c: use consistent comparison style
o [PKT_SCHED]: act_api.c: remove checks for impossible conditions
o [PKT_SCHED]: act_api.c: remove unnecessary initializations
o [PKT_SCHED]: Add rtattr_strlcpy, use it where appropriate
o [RTNETLINK]: Use rtattr_strcmp where appropriate
o [PKT_SCHED]: act_api.c: clean up init path, propagate errors
properly
o [PKT_SCHED]: tc actions: whitespace and coding style cleanup
o [PKT_SCHED]: tc actions: remove checks for impossible conditions
o [PKT_SCHED]: gact action: fix multiple bugs in init path
o [PKT_SCHED]: ipt action: fix multiple bugs in init path
o [PKT_SCHED]: mirred action: fix multiple bugs in init path
o [PKT_SCHED]: pedit action: fix multiple bugs in init path
o [PKT_SCHED]: police action: fix multiple bugs in init path
o [PKT_SCHED]: ipt action: fix missing unlock on error path
o [PKT_SCHED]: tc actions: remove unnecessary locking for refcnt
changes
o [PKT_SCHED]: ipt action: fix module refcount underflow/mem leaks in
tcf_ipt_cleanup
o [PKT_SCHED]: act_api.c: remove module loading from get/delete
operations
o [PKT_SCHED]: act_api.c: push memory allocation to tcf_action_get_1
o [PKT_SCHED]: act_api.c: sync multi action order processing
o [NETFILTER]: Fix stack leakage in ip6tables
o [NETFILTER]: Remove skb_linearize in ip6tables
o [NETFILTER]: Add --log-uid option to ipt_LOG/ip6t_LOG
o [NETFILTER]: Fix ip6tables ESP matching with "-p all"
o [PKT_SCHED]: Use rtattr_parse_nested where appropriate
o [PKT_SCHED]: Fix memory leaks in cls_u32.c error path
o [PKT_SCHED]: tc actions: disable bhs while lock is held in init
path
o [PKT_SCHED]: act_api.c: drop rtnl for loading modules
o [PKT_SCHED]: tcf_exts: rate_tlv is optional
o [PKT_SCHED]: act_api.c: kill some exports
o [PKT_SCHED]: cls_api.c: drop rtnl for loading modules
o [PKT_SCHED]: cls_rsvp: fix tcf_exts fallout
o [PKT_SCHED]: cls_api.c: fix module reference leak on module load
o [PKT_SCHED]: cls_route: fix tcf_exts fallout
o [PKT_SCHED]: fix CONFIG_NET_CLS_ACT skb leaks in HFSC/CBQ
Paul Gortmaker:
o smc-ultra.c too-verbose driver
Paul Mackerras:
o PPC64 had _raw_read_trylock already
o PPC64 Disable preemption in flush_tlb_pending
o PPC64 Call preempt_schedule on exception exit
o PPC64 can do preempt debug too
o PPC64 Add PREEMPT_BKL option
o PPC64 Move thread_info flags to its own cache line
o ioctl compatibility for TIOCMIWAIT and TIOCGICOUNT
Pavel Machek:
o [CPUFREQ] powernow-k8: small cleanups / documentation additions
(Pavel Machek)
o swsusp: more small fixes
o swsusp/dm: Use right levels for device_suspend()
o swsusp: update docs
o acpi: comment/whitespace updates
o make suspend work with ioapic
o swsusp: remove O(n^2) algorithm in page relocation
o driver model: pass pm_message_t down to pci drivers
Pawel Sikora:
o final csum_and_copy_from_user gcc4 warning fixes
Pete Zaitcev:
o USB: Patch to fix ub looping with a tag mismatch
Peter Osterlund:
o ALPS touchpad detection fix
Petko Manolov:
o pegasus 2.6.10 cset
Petr Vandrovec:
o Fix x86-64 vsyscall32 mapping
Phil Dibowitz:
o USB unusual_devs addition: Ignore residue for ours-tech disk
Pierre Ossman:
o [MMC] wbsd update
Prarit Bhargava:
o [ide] suppress output of error messages for non-existant interfaces
Prasanna Meda:
o ptrace: unlocked access to last_siginfo (resending)
o file_table:expand_files() code cleanup
Prasanna S. Panchamukhi:
o x68: consolidate code segment base calculation
o kprobes: x86_64 memory allocation changes
Rafael J. Wysocki:
o Fix a bug in timer_suspend() on x86_64
Rafael ?vila de Esp?ndola:
o I2C: add EMC6D100 support in lm85 driver
Raghavendra Koushik:
o S2io: fixes in free_shared_mem function
Randolph Chung:
o PA-RISC Cache flush optimisation
Randy Dunlap:
o gdth: reduce large on-stack locals
o wl3501: fix module_param types/warnings
o [IA64/X86_64] swiotlb.c: fix gcc printk warning
o swiotlb: fix gcc printk warning
o i386: init_intel_cacheinfo() can be __init
o radio-typhoon: use correct module_param data type
Rene Scharfe:
o fat: IS_BADCHAR/IS_REPLACECHR/IS_SKIPCHAR cleanup
o fat: Return better error codes from vfat_valid_longname()
Richard Purdie:
o [ARM PATCH] 2386/1: Tidy up Sharp SCOOP driver coding style
o [ARM PATCH] 2388/1: Add SSP control code for Sharp SL-C7xx Series
(Corgi)
o [ARM PATCH] 2392/1: Add PCMCIA/CF support code for Sharp SL-C7xx
Series
o [ARM PATCH] 2405/1: PXA Corgi - Add w100fb device definition
o [ARM PATCH] 2406/1: PXA Corgi - Add MMC Support
o [ARM PATCH] 2425/1: PXA Corgi - Flush ssp before suspending
o [ARM PATCH] 2426/1: PXA Corgi - Add USB Device Controller support
Rik van Riel:
o fix xenU kernel crash in dmi_iterate
Robert Olsson:
o [NET]: pktgen update
Roger Luethi:
o mc_filter on big-endian arch
Roland Dreier:
o [SPARC64]: Check copy_to_user() return value in
sys_{sparc,sunos}32.c
o PCI: Clean up printks in msi.c
o InfiniBand/IPoIB: use correct static rate in IpoIB
o InfiniBand/mthca: trivial formatting fix
o InfiniBand/mthca: support RDMA/atomic attributes in QP modify
o InfiniBand/mthca: clean up allocation mapping of HCA context memory
o InfiniBand/mthca: add needed rmb() in event queue poll
o InfiniBand/core: remove debug printk
o InfiniBand: make more code static
o InfiniBand/core: set byte_cnt correctly in MAD completion
o InfiniBand/core: add QP number to work completion struct
o InfiniBand/core: add node_type and phys_state sysfs attrs
o InfiniBand/mthca: clean up computation of HCA memory map
o InfiniBand/core: fix handling of 0-hop directed route MADs
o InfiniBand/core: add more parameters to process_mad
o InfiniBand/core: add qp_type to struct ib_qp
o InfiniBand/core: add ib_find_cached_gid function
o InfiniBand: update copyrights for new year
o InfiniBand/ipoib: move structs from stack to device private struct
o InfiniBand/core: rename handle_outgoing_smp
o [IPV6]: IPoIB link addr option needs two byte pad
Roland McGrath:
o fix coredump_wait deadlock with ptracer & tracee on shared mm
o fix race between core dumping and exec with shared mm
o fix exec deadlock when ptrace used inside the thread group
o clear false pending signal indication in core dump
o x86_64: fix crash on get_user_pages of ia32 vsyscall page before
it's faulted in
o Fix x87 fnsave Tag Word emulation when using FXSR (SSE)
o cputime.h seems to assume HZ==1000
o cputime_t patches broke RLIMIT_CPU
Roman Zippel:
o kconfig: pass 0, 0 to show_file() to select max size window
Russ Anderson:
o [IA64] per cpu MCA/INIT save areas
o [IA64] Fix problems in per cpu MCA code
o [IA64] correct PERCPU_MCA_SIZE and ia64_init_stack size
o [IA64-SGI] Altix BTE error handling fix
Russell King:
o [ARM] Add show_ipi_list() call
o [ARM] Add synchronize_irq() support
o [ARM] Add SMP IRQ affinity and routing support
o [ARM] Relocate ipi_count into ipi data structures
o [ARM] Fix smp.c includes
o [ARM] Don't use __init for function prototypes
o [ARM] Remove <asm/atomic.h> include
o [ARM] Add missing tlb_migrate_finish()
o [MMC] Add comment about GENHD_FL_REMOVABLE to mmc_block
o [SERIAL] Fix serial console resume
o [SERIAL] Clarify documentation for set_termios and pm methods
o [ARM] Fix profile_pc() for SMP
o [ARM] Add CPU number to cache information lines
o [ARM] Clean up lookup of processor and machine types
o [ARM] Remove "ipimask" from do_IPI()
Rusty Russell:
o [PKT_SCHED]: Restore net/sched/ipt.c After iptables Kmod Cleanup
o [NETFILTER]: Fix overlapping expectations in existing expectation
code
o [NETFILTER]: Call NAT helper modules directly from conntrack
modules, fixup FTP
o [NETFILTER]: Fix up IRC, AMANDA, TFTP and SNMP
o [NETFILTER]: Simplify expect handling
o [NETFILTER]: Make expectations timeouts compulsory
o [NETFILTER]: Adrian Bunk's cleanup patches
o [NETFILTER]: Remove manip array from conntrack entry
o [NETFILTER]: Remove ip_conntrack_tuple_hash 'ctrack' pointer
o [NETFILTER]: Use a bit in conntrack status to indicate sequence
number adjustment
o [NETFILTER]: Get rid of 'initialized' in nat structure: use
conntrack status bits
o [NETFILTER]: Don't cacheline align slab allocs
o [NETFILTER]: Fix SNMP nat build
Sam Ravnborg:
o kconfig: introduce util.c
o kconfig: Redo and improve search support
o kconfig: Include more info when selecting help for a symbol in
menuconfig
o kconfig: Fold README.Menuconfig into mconf.c
Serge Hallyn:
o Fix audit control message checks
Sridhar Samudrala:
o [SCTP] Fix potential null pointer dereference in sctp_err_lookup()
o [SCTP] Code cleanup: remove unused code and make needlessly global
code static
o [SCTP] Treat ICMP protocol unreachable errors from non-SCTP capable
hosts as ABORTs.
o [SCTP] Validate and respond to invalid chunk/parameter lengths
o [SCTP] Implementation of SCTP Implementer's Guide Section 2.35
o [SCTP] Clean up the T3_rtx timer when deleting a transport
o [SCTP] Fix bug in setting ephemeral port in the bind address
o [SCTP] Fix misc. issues in SCTP_PEER_ADDR_PARAMS set socket option
o [SCTP] Fix sctp_getladdrs() to return valid local addresses on an
endpoint that is bound to INADDR_ANY or inaddr6_any.
Stefan Bader:
o s390: use nonseekable_open in z/VM log reader
Steffen Thoss:
o s390: Common I/O layer changes
Stephen D. Smalley:
o SELinux: fix error handling code for policy load
o SELinux: fix setting of loaded policy version
Stephen Rothwell:
o ppc64: remove some unused iSeries functions
Steve Longerbeam:
o shared_policy_replace() fix
Suresh B. Siddha:
o x86_64: use cpumask_t instead of unsigned long
o x86: use cpumask_t instead of unsigned long
Thomas Gleixner:
o [NET]: Lock initializer cleanup
o PCI: Lock initializer cleanup - batch 4
o USB: Lock initializer cleanup - batch 4
o Lock initializer cleanup: PPC
o Lock initializer cleanup: M32R
o Lock initializer cleanup: Video
o Lock initializer cleanup: IDE
o Lock initializer cleanup: sound
o Lock initializer cleanup: SH
o Lock initializer cleanup: PPC64
o Lock initializer cleanup: Security
o Lock initializer cleanup: Core
o Lock initializer cleanup: media drivers
o Lock initializer cleanup: Block devices
o Lock initializer cleanup: S390
o Lock initializer cleanup: UserMode
o Lock initializer cleanup: SCSI
o Lock initializer cleanup: SPARC
o Lock initializer cleanup: V850
o Lock initializer cleanup: I386
o Lock initializer cleanup: DRM
o Lock initializer cleanup: Firewire
o Lock initializer cleanup - (ARM26)
o Lock initializer cleanup: M68K
o Lock initializer cleanup: Network drivers
o Lock initializer cleanup: MTD
o Lock initializer cleanup: X86_64
o Lock initializer cleanup: Filesystems
o Lock initializer cleanup: IA64
o Lock initializer cleanup: Raid
o Lock initializer cleanup: ISDN
o Lock initializer cleanup: PARISC
o Lock initializer cleanup: SPARC64
o Lock initializer cleanup: ARM
o Lock initializer cleanup: Misc drivers
o Lock initializer cleanup - (ALPHA)
o Lock initializer cleanup: character devices
o Lock initializer cleanup: drivers/serial
o Lock initializer cleanup: FRV
Thomas Graf:
o [PKT_SCHED]: rtattr_parse shortcut for nested TLVs
o [PKT_SCHED]: tc filter extension API
o [PKT_SCHED]: u32: make use of tcf_exts API
o [PKT_SCHED]: fw: make use of tcf_exts API
o [PKT_SCHED]: route: allow changing parameters for existing filters
and use tcf_exts API
o [PKT_SCHED]: tcindex: allow changing parameters for existing
filters and use tcf_exts API
o [PKT_SCHED]: rsvp: use tcf_exts API
o [PKT_SCHED]: Remove old action/police helpers
o [PKT_SCHED]: Actions are now available for all classifiers & Fix
police Kconfig dependencies
o [PKT_SCHED]: Fix c99ism in cls_api.c
Tom Coughlan:
o aacraid: remove aac_handle_aif
Tom L. Nguyen:
o PCI: add PCI Express Port Bus Driver subsystem
Tom Rini:
o ppc32: Fix mpc8272ads
o ppc32: Add Freescale PQ2FADS support
o ppc32: remove cli()/sti() in arch/ppc/4xx_io/serial_sicc.c
o ppc32: remove cli()/sti() in arch/ppc/8xx_io/cs4218_tdm.c
o ppc32: remove cli()/sti() in arch/ppc/8xx_io/fec.c
o ppc32: remove cli()/sti() in arch/ppc/platforms/apus_setup.c
o ppc32: remove cli()/sti() in arch/ppc/platforms/pal4_setup.c
o ppc32: remove cli()/sti() in arch/ppc/syslib/m8xx_setup.c
o ppc32: remove cli()/sti() in arch/ppc/syslib/qspan_pci.c
o ppc32: MPC8xx TLB Miss vs TLB Error fix
o ppc32: update_process_times simplification
Tony Battersby:
o fix read capacity for large disks when CONFIG_LBD=n
Tony Luck:
o [IA64] convert to use CONFIG_GENERIC_HARDIRQS
o [IA64] hardirq.h: Add declaration for ack_bad_irq()
o [IA64] Use alloc_bootmem() to get the space for mca_data
o [IA64] reorder functions to define ia64_pci_get_legacy_mem() before
using it
Trond Myklebust:
o Fix a BKL imbalance in the NFS locking code
o Fix an Oopsable condition in the NFS locking
o RPCSEC_GSS: Fix a refcount leak
o RPC: fix crrefresh() operations for AUTH_NULL and AUTH_SYS
Ulrich Weigand:
o cputime: s/390: fix account_steal_time
Ursula Braun-Krahl:
o s390: remove irq_exit from iucv
Vadim Lobanov:
o Fix typo in arch/i386/Kconfig
o Fix typo in drivers/char/Kconfig
Venkatesh Pallipadi:
o [CPUFREQ] speedstep-centrino and acpi-cpufreq: P4 TSC rate is
constant
o [CPUFREQ] speedstep-centrino: don't loop on transient MSR
o x86-64: Fix do_suspend_lowlevel
Vincent Hanquez:
o arch/i386/kernel/signal.c: fix err test twice
Wang Zhongjun:
o [ide] piix: add Intel 82801DBL IDE Controller support
Willem Riede:
o osst: remove typedefs
o osst: error handling updates
o osst: add sysfs support
Yoshinori Sato:
o H8/300 defconfig update
o H8/300 mm update
Zou Nanhai:
o [CPUFREQ] cpufreq stat output in sysfs
On Fri, 21 Jan 2005 18:13:55 -0800 (PST) Linus Torvalds (LT) wrote:
LT> Ok, trying to calm things down again for a 2.6.11 release.
Connection tracking does not compile...
CC net/ipv4/netfilter/ip_conntrack_standalone.o
In file included from net/ipv4/netfilter/ip_conntrack_standalone.c:34:
include/linux/netfilter_ipv4/ip_conntrack.h:135: warning: "struct ip_conntrack" declared inside parameter list
include/linux/netfilter_ipv4/ip_conntrack.h:135: warning: its scope is only this definition or declaration, which is probably not what you want
include/linux/netfilter_ipv4/ip_conntrack.h:305: warning: "enum ip_nat_manip_type" declared inside parameter list
include/linux/netfilter_ipv4/ip_conntrack.h:306: error: parameter `manip' has incomplete type
include/linux/netfilter_ipv4/ip_conntrack.h: In function `ip_nat_initialized':
include/linux/netfilter_ipv4/ip_conntrack.h:307: error: `IP_NAT_MANIP_SRC' undeclared (first use in this function)
include/linux/netfilter_ipv4/ip_conntrack.h:307: error: (Each undeclared identifier is reported only once
include/linux/netfilter_ipv4/ip_conntrack.h:307: error: for each function it appears in.)
-Udo.
On Fri, 2005-01-21 at 22:32 -0800, Udo A. Steinberg wrote:
> On Fri, 21 Jan 2005 18:13:55 -0800 (PST) Linus Torvalds (LT) wrote:
>
> LT> Ok, trying to calm things down again for a 2.6.11 release.
>
> Connection tracking does not compile...
>
> CC net/ipv4/netfilter/ip_conntrack_standalone.o
> In file included from net/ipv4/netfilter/ip_conntrack_standalone.c:34:
> include/linux/netfilter_ipv4/ip_conntrack.h:135: warning: "struct ip_conntrack" declared inside parameter list
> include/linux/netfilter_ipv4/ip_conntrack.h:135: warning: its scope is only this definition or declaration, which is probably not what you want
> include/linux/netfilter_ipv4/ip_conntrack.h:305: warning: "enum ip_nat_manip_type" declared inside parameter list
> include/linux/netfilter_ipv4/ip_conntrack.h:306: error: parameter `manip' has incomplete type
> include/linux/netfilter_ipv4/ip_conntrack.h: In function `ip_nat_initialized':
> include/linux/netfilter_ipv4/ip_conntrack.h:307: error: `IP_NAT_MANIP_SRC' undeclared (first use in this function)
> include/linux/netfilter_ipv4/ip_conntrack.h:307: error: (Each undeclared identifier is reported only once
> include/linux/netfilter_ipv4/ip_conntrack.h:307: error: for each function it appears in.)
The problem is when compiling without NAT...
The patch below should fix it, I can compile both with and without NAT
now.
diff -X /home/gandalf/dontdiff.ny -urNp linux-2.6.11-rc2.orig/include/linux/netfilter_ipv4/ip_conntrack.h linux-2.6.11-rc2/include/linux/netfilter_ipv4/ip_conntrack.h
--- linux-2.6.11-rc2.orig/include/linux/netfilter_ipv4/ip_conntrack.h 2005-01-22 12:17:39.000000000 +0100
+++ linux-2.6.11-rc2/include/linux/netfilter_ipv4/ip_conntrack.h 2005-01-22 13:55:25.000000000 +0100
@@ -122,33 +122,6 @@ do { \
#define IP_NF_ASSERT(x)
#endif
-struct ip_conntrack_expect
-{
- /* Internal linked list (global expectation list) */
- struct list_head list;
-
- /* We expect this tuple, with the following mask */
- struct ip_conntrack_tuple tuple, mask;
-
- /* Function to call after setup and insertion */
- void (*expectfn)(struct ip_conntrack *new,
- struct ip_conntrack_expect *this);
-
- /* The conntrack of the master connection */
- struct ip_conntrack *master;
-
- /* Timer function; deletes the expectation. */
- struct timer_list timeout;
-
-#ifdef CONFIG_IP_NF_NAT_NEEDED
- /* This is the original per-proto part, used to map the
- * expected connection the way the recipient expects. */
- union ip_conntrack_manip_proto saved_proto;
- /* Direction relative to the master connection. */
- enum ip_conntrack_dir dir;
-#endif
-};
-
struct ip_conntrack_counter
{
u_int64_t packets;
@@ -206,6 +179,33 @@ struct ip_conntrack
struct ip_conntrack_tuple_hash tuplehash[IP_CT_DIR_MAX];
};
+struct ip_conntrack_expect
+{
+ /* Internal linked list (global expectation list) */
+ struct list_head list;
+
+ /* We expect this tuple, with the following mask */
+ struct ip_conntrack_tuple tuple, mask;
+
+ /* Function to call after setup and insertion */
+ void (*expectfn)(struct ip_conntrack *new,
+ struct ip_conntrack_expect *this);
+
+ /* The conntrack of the master connection */
+ struct ip_conntrack *master;
+
+ /* Timer function; deletes the expectation. */
+ struct timer_list timeout;
+
+#ifdef CONFIG_IP_NF_NAT_NEEDED
+ /* This is the original per-proto part, used to map the
+ * expected connection the way the recipient expects. */
+ union ip_conntrack_manip_proto saved_proto;
+ /* Direction relative to the master connection. */
+ enum ip_conntrack_dir dir;
+#endif
+};
+
static inline struct ip_conntrack *
tuplehash_to_ctrack(const struct ip_conntrack_tuple_hash *hash)
{
@@ -301,6 +301,7 @@ struct ip_conntrack_stat
#define CONNTRACK_STAT_INC(count) (__get_cpu_var(ip_conntrack_stat).count++)
+#ifdef CONFIG_IP_NF_NAT_NEEDED
static inline int ip_nat_initialized(struct ip_conntrack *conntrack,
enum ip_nat_manip_type manip)
{
@@ -308,5 +309,7 @@ static inline int ip_nat_initialized(str
return test_bit(IPS_SRC_NAT_DONE_BIT, &conntrack->status);
return test_bit(IPS_DST_NAT_DONE_BIT, &conntrack->status);
}
+#endif /* CONFIG_IP_NF_NAT_NEEDED */
+
#endif /* __KERNEL__ */
#endif /* _IP_CONNTRACK_H */
diff -X /home/gandalf/dontdiff.ny -urNp linux-2.6.11-rc2.orig/net/ipv4/netfilter/ipt_CLUSTERIP.c linux-2.6.11-rc2/net/ipv4/netfilter/ipt_CLUSTERIP.c
--- linux-2.6.11-rc2.orig/net/ipv4/netfilter/ipt_CLUSTERIP.c 2005-01-22 12:17:40.000000000 +0100
+++ linux-2.6.11-rc2/net/ipv4/netfilter/ipt_CLUSTERIP.c 2005-01-22 13:55:49.000000000 +0100
@@ -29,6 +29,7 @@
#include <linux/netfilter_ipv4/ip_tables.h>
#include <linux/netfilter_ipv4/ipt_CLUSTERIP.h>
#include <linux/netfilter_ipv4/ip_conntrack.h>
+#include <linux/netfilter_ipv4/lockhelp.h>
#define CLUSTERIP_VERSION "0.6"
--
/Martin
On Sat, 2005-01-22 at 12:57 -0800, Udo A. Steinberg wrote:
> On Sat, 22 Jan 2005 15:04:29 +0100 Martin Josefsson (MJ) wrote:
>
> MJ> On Fri, 2005-01-21 at 22:32 -0800, Udo A. Steinberg wrote:
> MJ> >
> MJ> > Connection tracking does not compile...
>
> MJ> The problem is when compiling without NAT...
> MJ> The patch below should fix it, I can compile both with and without NAT
> MJ> now.
>
> Thanks, this fixes my problem, too.
Great.
> Linus, please apply the following patch from Martin.
It should trickle in to Linus tree through davem pretty soon I hope,
together with some other bugfixes (fix for SNAT/DNAT not working at all
on parisc and possibly other architectures)
--
/Martin
On Sat, 22 Jan 2005 15:04:29 +0100 Martin Josefsson (MJ) wrote:
MJ> On Fri, 2005-01-21 at 22:32 -0800, Udo A. Steinberg wrote:
MJ> >
MJ> > Connection tracking does not compile...
MJ> The problem is when compiling without NAT...
MJ> The patch below should fix it, I can compile both with and without NAT
MJ> now.
Thanks, this fixes my problem, too.
Linus, please apply the following patch from Martin.
-Udo.
diff -X /home/gandalf/dontdiff.ny -urNp linux-2.6.11-rc2.orig/include/linux/netfilter_ipv4/ip_conntrack.h linux-2.6.11-rc2/include/linux/netfilter_ipv4/ip_conntrack.h
--- linux-2.6.11-rc2.orig/include/linux/netfilter_ipv4/ip_conntrack.h 2005-01-22 12:17:39.000000000 +0100
+++ linux-2.6.11-rc2/include/linux/netfilter_ipv4/ip_conntrack.h 2005-01-22 13:55:25.000000000 +0100
@@ -122,33 +122,6 @@ do { \
#define IP_NF_ASSERT(x)
#endif
-struct ip_conntrack_expect
-{
- /* Internal linked list (global expectation list) */
- struct list_head list;
-
- /* We expect this tuple, with the following mask */
- struct ip_conntrack_tuple tuple, mask;
-
- /* Function to call after setup and insertion */
- void (*expectfn)(struct ip_conntrack *new,
- struct ip_conntrack_expect *this);
-
- /* The conntrack of the master connection */
- struct ip_conntrack *master;
-
- /* Timer function; deletes the expectation. */
- struct timer_list timeout;
-
-#ifdef CONFIG_IP_NF_NAT_NEEDED
- /* This is the original per-proto part, used to map the
- * expected connection the way the recipient expects. */
- union ip_conntrack_manip_proto saved_proto;
- /* Direction relative to the master connection. */
- enum ip_conntrack_dir dir;
-#endif
-};
-
struct ip_conntrack_counter
{
u_int64_t packets;
@@ -206,6 +179,33 @@ struct ip_conntrack
struct ip_conntrack_tuple_hash tuplehash[IP_CT_DIR_MAX];
};
+struct ip_conntrack_expect
+{
+ /* Internal linked list (global expectation list) */
+ struct list_head list;
+
+ /* We expect this tuple, with the following mask */
+ struct ip_conntrack_tuple tuple, mask;
+
+ /* Function to call after setup and insertion */
+ void (*expectfn)(struct ip_conntrack *new,
+ struct ip_conntrack_expect *this);
+
+ /* The conntrack of the master connection */
+ struct ip_conntrack *master;
+
+ /* Timer function; deletes the expectation. */
+ struct timer_list timeout;
+
+#ifdef CONFIG_IP_NF_NAT_NEEDED
+ /* This is the original per-proto part, used to map the
+ * expected connection the way the recipient expects. */
+ union ip_conntrack_manip_proto saved_proto;
+ /* Direction relative to the master connection. */
+ enum ip_conntrack_dir dir;
+#endif
+};
+
static inline struct ip_conntrack *
tuplehash_to_ctrack(const struct ip_conntrack_tuple_hash *hash)
{
@@ -301,6 +301,7 @@ struct ip_conntrack_stat
#define CONNTRACK_STAT_INC(count) (__get_cpu_var(ip_conntrack_stat).count++)
+#ifdef CONFIG_IP_NF_NAT_NEEDED
static inline int ip_nat_initialized(struct ip_conntrack *conntrack,
enum ip_nat_manip_type manip)
{
@@ -308,5 +309,7 @@ static inline int ip_nat_initialized(str
return test_bit(IPS_SRC_NAT_DONE_BIT, &conntrack->status);
return test_bit(IPS_DST_NAT_DONE_BIT, &conntrack->status);
}
+#endif /* CONFIG_IP_NF_NAT_NEEDED */
+
#endif /* __KERNEL__ */
#endif /* _IP_CONNTRACK_H */
diff -X /home/gandalf/dontdiff.ny -urNp linux-2.6.11-rc2.orig/net/ipv4/netfilter/ipt_CLUSTERIP.c linux-2.6.11-rc2/net/ipv4/netfilter/ipt_CLUSTERIP.c
--- linux-2.6.11-rc2.orig/net/ipv4/netfilter/ipt_CLUSTERIP.c 2005-01-22 12:17:40.000000000 +0100
+++ linux-2.6.11-rc2/net/ipv4/netfilter/ipt_CLUSTERIP.c 2005-01-22 13:55:49.000000000 +0100
@@ -29,6 +29,7 @@
#include <linux/netfilter_ipv4/ip_tables.h>
#include <linux/netfilter_ipv4/ipt_CLUSTERIP.h>
#include <linux/netfilter_ipv4/ip_conntrack.h>
+#include <linux/netfilter_ipv4/lockhelp.h>
#define CLUSTERIP_VERSION "0.6"
On Sat, 22 Jan 2005, Udo A. Steinberg wrote:
>
> Linus, please apply the following patch from Martin.
Please go through Davem, he's quite responsive, but prefers things like
this to be sent to the netdev mailing list too if it hasn't been there
already ([email protected]).
Linus
Martin Josefsson wrote:
> On Fri, 2005-01-21 at 22:32 -0800, Udo A. Steinberg wrote:
>
>>On Fri, 21 Jan 2005 18:13:55 -0800 (PST) Linus Torvalds (LT) wrote:
>>
>>LT> Ok, trying to calm things down again for a 2.6.11 release.
>>
>>Connection tracking does not compile...
>>
>> CC net/ipv4/netfilter/ip_conntrack_standalone.o
>>In file included from net/ipv4/netfilter/ip_conntrack_standalone.c:34:
>>include/linux/netfilter_ipv4/ip_conntrack.h:135: warning: "struct ip_conntrack" declared inside parameter list
>>include/linux/netfilter_ipv4/ip_conntrack.h:135: warning: its scope is only this definition or declaration, which is probably not what you want
>>include/linux/netfilter_ipv4/ip_conntrack.h:305: warning: "enum ip_nat_manip_type" declared inside parameter list
>>include/linux/netfilter_ipv4/ip_conntrack.h:306: error: parameter `manip' has incomplete type
>>include/linux/netfilter_ipv4/ip_conntrack.h: In function `ip_nat_initialized':
>>include/linux/netfilter_ipv4/ip_conntrack.h:307: error: `IP_NAT_MANIP_SRC' undeclared (first use in this function)
>>include/linux/netfilter_ipv4/ip_conntrack.h:307: error: (Each undeclared identifier is reported only once
>>include/linux/netfilter_ipv4/ip_conntrack.h:307: error: for each function it appears in.)
>
>
> The problem is when compiling without NAT...
> The patch below should fix it, I can compile both with and without NAT
> now.
>
I'm compiling with NAT, and get a different problem:
LD net/ipv4/netfilter/built-in.o
net/ipv4/netfilter/ip_nat_tftp.o(.bss+0x0): multiple definition of `ip_nat_tftp_hook'
net/ipv4/netfilter/ip_conntrack_tftp.o(.bss+0x0): first defined here
make[3]: *** [net/ipv4/netfilter/built-in.o] Error 1
make[2]: *** [net/ipv4/netfilter] Error 2
sean
On Sat, 2005-01-22 at 18:54 -0500, sean wrote:
> I'm compiling with NAT, and get a different problem:
>
> LD net/ipv4/netfilter/built-in.o
> net/ipv4/netfilter/ip_nat_tftp.o(.bss+0x0): multiple definition of `ip_nat_tftp_hook'
> net/ipv4/netfilter/ip_conntrack_tftp.o(.bss+0x0): first defined here
> make[3]: *** [net/ipv4/netfilter/built-in.o] Error 1
> make[2]: *** [net/ipv4/netfilter] Error 2
Ok, another problem intriduced by the recent patches... sigh
Try this patch:
diff -X dontdiff.ny -urNp linux-2.6.11-rc2.orig/include/linux/netfilter_ipv4/ip_conntrack_tftp.h linux-2.6.11-rc2/include/linux/netfilter_ipv4/ip_conntrack_tftp.h
--- linux-2.6.11-rc2.orig/include/linux/netfilter_ipv4/ip_conntrack_tftp.h 2005-01-22 15:23:45.000000000 +0100
+++ linux-2.6.11-rc2/include/linux/netfilter_ipv4/ip_conntrack_tftp.h 2005-01-23 01:31:25.000000000 +0100
@@ -13,7 +13,7 @@ struct tftphdr {
#define TFTP_OPCODE_ACK 4
#define TFTP_OPCODE_ERROR 5
-unsigned int (*ip_nat_tftp_hook)(struct sk_buff **pskb,
+extern unsigned int (*ip_nat_tftp_hook)(struct sk_buff **pskb,
enum ip_conntrack_info ctinfo,
struct ip_conntrack_expect *exp);
--
/Martin
This patch worked. Or at least it built.
Thanks for the quick response.
sean
Martin Josefsson wrote:
> Try this patch:
>
> diff -X dontdiff.ny -urNp linux-2.6.11-rc2.orig/include/linux/netfilter_ipv4/ip_conntrack_tftp.h linux-2.6.11-rc2/include/linux/netfilter_ipv4/ip_conntrack_tftp.h
> --- linux-2.6.11-rc2.orig/include/linux/netfilter_ipv4/ip_conntrack_tftp.h 2005-01-22 15:23:45.000000000 +0100
> +++ linux-2.6.11-rc2/include/linux/netfilter_ipv4/ip_conntrack_tftp.h 2005-01-23 01:31:25.000000000 +0100
> @@ -13,7 +13,7 @@ struct tftphdr {
> #define TFTP_OPCODE_ACK 4
> #define TFTP_OPCODE_ERROR 5
>
> -unsigned int (*ip_nat_tftp_hook)(struct sk_buff **pskb,
> +extern unsigned int (*ip_nat_tftp_hook)(struct sk_buff **pskb,
> enum ip_conntrack_info ctinfo,
> struct ip_conntrack_expect *exp);
Hello
On Saturday 22 January 2005 03.13, Linus Torvalds wrote:
> Ok, trying to calm things down again for a 2.6.11 release.
>
> Tons of small cleanups, annotations and fixes here. Driver updates,
> cpufreq, ppc, parisc, arm.. Pls check that I got it all.
>
> Linus
>
It doesn't compile here, here's the error:
CC net/sched/sch_generic.o
net/sched/sch_generic.c: In function `qdisc_restart':
net/sched/sch_generic.c:128: error: label `requeue' used but not
defined
make[2]: *** [net/sched/sch_generic.o] Error 1
make[1]: *** [net/sched] Error 2
make: *** [net] Error 2
>From .config:
CONFIG_NET_KEY=m
CONFIG_IP_MULTICAST=y
CONFIG_NET_IPIP=m
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_TUNNEL=m
CONFIG_IP_TCPDIAG=y
CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_TUNNEL=m
CONFIG_IP_NF_CONNTRACK=m
CONFIG_IP_NF_CT_PROTO_SCTP=m
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
CONFIG_IP_NF_TFTP=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_PHYSDEV=m
CONFIG_IP_NF_MATCH_SCTP=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_CLASSIFY=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_LIMIT=m
CONFIG_IP6_NF_MATCH_MAC=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_MULTIPORT=m
CONFIG_IP6_NF_MATCH_OWNER=m
CONFIG_IP6_NF_MATCH_MARK=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_AHESP=m
CONFIG_IP6_NF_MATCH_LENGTH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_TARGET_MARK=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_IP_SCTP=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_POLICE=y
CONFIG_NET_PKTGEN=m
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_NET_ETHERNET=y
CONFIG_NET_TULIP=y
I'm seeing a problem with TCP as accessed through KMail (SuSE 9.2, x86_64).
But oddly enough, only for sending mail, not reading it; and not through
other (reading) applications... it's a regression with respect to rc1 and
earlier kernels. Basically, it can only send REALLY TINY emails...
What ethereal shows me is roughly:
- SMTP connect, initial handshake, ok (ACKed later)
- Send two 1500 byte Ethernet packets
- Each gets an ICMP destination unreachable, frag needed, next hop MTU 1492
- ... all retransmits are 1500 bytes not 1492, triggering ICMPs ...
Naturally the connection goes nowhere.
- Dave
On Sun, Jan 23, 2005 at 10:11:45PM +0100, Magnus M??tt? wrote:
> Hello
Hi Magnus,
>
> It doesn't compile here, here's the error:
>
> CC net/sched/sch_generic.o
> net/sched/sch_generic.c: In function `qdisc_restart':
> net/sched/sch_generic.c:128: error: label `requeue' used but not
> defined
> make[2]: *** [net/sched/sch_generic.o] Error 1
> make[1]: *** [net/sched] Error 2
> make: *** [net] Error 2
>
>
> >From .config:
>...
I wasn't able to reproduce your problem.
Do you have any patches applied on top of 2.6.11-rc2 ?
If not, please send:
- your complete .config
- the output of
bash scripts/ver_linux
TIA
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
On Sun, 2005-01-23 at 22:51 -0800, David Brownell wrote:
> I'm seeing a problem with TCP as accessed through KMail (SuSE 9.2, x86_64).
> But oddly enough, only for sending mail, not reading it; and not through
> other (reading) applications... it's a regression with respect to rc1 and
> earlier kernels. Basically, it can only send REALLY TINY emails...
>
> What ethereal shows me is roughly:
>
> - SMTP connect, initial handshake, ok (ACKed later)
> - Send two 1500 byte Ethernet packets
> - Each gets an ICMP destination unreachable, frag needed, next hop MTU 1492
> - ... all retransmits are 1500 bytes not 1492, triggering ICMPs ...
>
> Naturally the connection goes nowhere.
Is there a firewall on this machine? And if so, do you allow inbound
icmp?
--
/Martin
Hi,
On Monday 24 January 2005 11.43, Adrian Bunk wrote:
> On Sun, Jan 23, 2005 at 10:11:45PM +0100, Magnus M??tt? wrote:
> > Hello
>
> Hi Magnus,
>
> > It doesn't compile here, here's the error:
> >
> > CC net/sched/sch_generic.o
> > net/sched/sch_generic.c: In function `qdisc_restart':
> > net/sched/sch_generic.c:128: error: label `requeue' used but not
> > defined
> > make[2]: *** [net/sched/sch_generic.o] Error 1
> > make[1]: *** [net/sched] Error 2
> > make: *** [net] Error 2
>
> I wasn't able to reproduce your problem.
>
> Do you have any patches applied on top of 2.6.11-rc2 ?
Sorry about the noise. I forgot that I had Ingo's realtime preempt
patch applied (just saw that it was fixed anyway). I guess this is
what happens when you're compiling on several systems at once
(patched vs. unpatched ones).
Magnus
--
panic("huh?\n");
linux-2.2.16/arch/i386/kernel/smp.c
Linux 2.6 Compile Statistics (gcc 3.4.1)
Web page with links to complete details:
http://developer.osdl.org/cherry/compile/
Kernel bzImage bzImage bzImage modules bzImage modules
(defconfig) (allno) (allyes) (allyes) (allmod) (allmod)
----------- ----------- -------- -------- -------- -------- ---------
2.6.11-rc2 18w/0e 0w/0e 365w/0e 6w/0e 22w/0e 440w/0e
2.6.11-rc1 20w/0e 0w/0e 497w/0e 6w/0e 22w/0e 577w/0e
2.6.10 13w/0e 0w/0e 778w/0e 6w/0e 15w/0e 861w/0e
Linux 2.6 (mm tree) Compile Statistics (gcc 3.4.1)
Kernel bzImage bzImage bzImage modules bzImage modules
(defconfig) (allno) (allyes) (allyes) (allmod) (allmod)
--------------- ---------- -------- -------- -------- -------- --------
2.6.11-rc2-mm1 15w/0e 0w/0e 306w/14e 6w/0e 18w/0e 294w/0e
2.6.11-rc1-mm2 21w/0e 0w/0e 316w/9e 6w/0e 22w/0e 294w/0e
2.6.11-rc1-mm1 21w/0e 0w/0e 319w/0e 6w/0e 23w/0e 298w/0e
2.6.10-mm3 21w/0e 0w/0e 320w/0e 6w/0e 23w/0e 299w/0e
2.6.10-mm2 21w/0e 0w/0e 440w/0e 6w/0e 23w/0e 420w/0e
2.6.10-mm1 12w/0e 0w/0e 414w/0e 6w/0e 17w/0e 399w/0e
Daily compiles (ia32):
http://developer.osdl.org/cherry/compile/2.6/linus-tree/running.txt
Latest changes in Linus' bitkeeper tree:
http://linux.bkbits.net:8080/linux-2.5
John
On Monday 24 January 2005 10:05 am, Martin Josefsson wrote:
> On Sun, 2005-01-23 at 22:51 -0800, David Brownell wrote:
> > ...
> > - Each gets an ICMP destination unreachable, frag needed, next hop MTU 1492
> > - ... all retransmits are 1500 bytes not 1492, triggering ICMPs ...
> >
> > Naturally the connection goes nowhere.
>
> Is there a firewall on this machine? And if so, do you allow inbound
> icmp?
It's behind a firewall; no firewall on that box though. The only
difference between a working RC1 and non-working RC2 was the kernel.
- Dave
Linus, could you please put skb_copy_datagram back in place? It's not used
anymore in the kernel, but the vmnet module (in vmware) still uses this
interface to skb_copy_datagram_iovec.
Patch for 2.6.11-rc2 follows. It compiles cleanly; I have not tested it yet,
but I assume it's okay. I'll test it right after sending this mail and report
back here if something goes wrong.
Sytse
diff -ru a/include/linux/skbuff.h b/include/linux/skbuff.h
--- a/include/linux/skbuff.h 2005-01-25 01:27:00.000000000 +0100
+++ b/include/linux/skbuff.h 2005-01-25 01:31:20.000000000 +0100
@@ -1086,6 +1086,8 @@
int noblock, int *err);
extern unsigned int datagram_poll(struct file *file, struct socket *sock,
struct poll_table_struct *wait);
+extern int skb_copy_datagram(const struct sk_buff *from,
+ int offset, char __user *to, int size);
extern int skb_copy_datagram_iovec(const struct sk_buff *from,
int offset, struct iovec *to,
int size);
diff -ru a/net/core/datagram.c b/net/core/datagram.c
--- a/net/core/datagram.c 2005-01-25 01:27:01.000000000 +0100
+++ b/net/core/datagram.c 2005-01-25 01:31:20.000000000 +0100
@@ -199,6 +199,19 @@
kfree_skb(skb);
}
+/*
+ * Copy a datagram to a linear buffer.
+ */
+int skb_copy_datagram(const struct sk_buff *skb, int offset, char __user *to, int size)
+{
+ struct iovec iov = {
+ .iov_base = to,
+ .iov_len =size,
+ };
+
+ return skb_copy_datagram_iovec(skb, offset, &iov, size);
+}
+
/**
* skb_copy_datagram_iovec - Copy a datagram to an iovec.
* @skb - buffer to copy
@@ -477,6 +490,7 @@
EXPORT_SYMBOL(datagram_poll);
EXPORT_SYMBOL(skb_copy_and_csum_datagram_iovec);
+EXPORT_SYMBOL(skb_copy_datagram);
EXPORT_SYMBOL(skb_copy_datagram_iovec);
EXPORT_SYMBOL(skb_free_datagram);
EXPORT_SYMBOL(skb_recv_datagram);
On Tue, Jan 25, 2005 at 01:41:17AM +0100, Sytse Wielinga wrote:
> Linus, could you please put skb_copy_datagram back in place? It's not used
> anymore in the kernel, but the vmnet module (in vmware) still uses this
> interface to skb_copy_datagram_iovec.
>
> Patch for 2.6.11-rc2 follows. It compiles cleanly; I have not tested it yet,
> but I assume it's okay. I'll test it right after sending this mail and report
> back here if something goes wrong.
Just fix vmware. Or upgrade to a fixed version that Petr mentioned already.
PMTU bug -- or better said, bad firewall admin who blocks all ICMP.
http://blue-labs.org/clue/mtu-mss.php
-david
David Brownell wrote:
>I'm seeing a problem with TCP as accessed through KMail (SuSE 9.2, x86_64).
>But oddly enough, only for sending mail, not reading it; and not through
>other (reading) applications... it's a regression with respect to rc1 and
>earlier kernels. Basically, it can only send REALLY TINY emails...
>
>
>
On Tuesday 25 January 2005 10:35 am, David Ford wrote:
> PMTU bug -- or better said, bad firewall admin who blocks all ICMP.
PMTU bug, sure -- but one that came late in RC2. Remember: same firewall
in both cases, but only RC2 breaks. The ICMP packet has landed in
the RC2 system, which ignores it. 2.6.10 handled it correctly... I
suspect one of the TCP cleanups borked this.
My current workaround is "ifconfig eth0 mtu 1492" but that's not
something I'd expect to keep.
- Dave
> http://blue-labs.org/clue/mtu-mss.php
>
> -david
>
> David Brownell wrote:
>
> >I'm seeing a problem with TCP as accessed through KMail (SuSE 9.2, x86_64).
> >But oddly enough, only for sending mail, not reading it; and not through
> >other (reading) applications... it's a regression with respect to rc1 and
> >earlier kernels. Basically, it can only send REALLY TINY emails...
> >
> >
> >
>
On 2005-01-25 at 10:54:36, David Brownell wrote:
> On Tuesday 25 January 2005 10:35 am, David Ford wrote:
> > PMTU bug -- or better said, bad firewall admin who blocks all ICMP.
>
> PMTU bug, sure -- but one that came late in RC2. Remember: same firewall
> in both cases, but only RC2 breaks. The ICMP packet has landed in
> the RC2 system, which ignores it. 2.6.10 handled it correctly... I
> suspect one of the TCP cleanups borked this.
>
> My current workaround is "ifconfig eth0 mtu 1492" but that's not
> something I'd expect to keep.
Indeed, I had to shuffle my machines around a bit to get a proof that
something is broken, but now I can confirm the above with a connection
to cvs.sourceforge.net:
192.168.59.10 is the 2.6.11-rc2 host, 192.168.59.1 is the (now pre-rc2)
gateway with a PPPoE 1492 mtu/pmtu host. 59.10 does not run any
firewall/packet filter.
(almost full-fledged perfect three-way handshake)
08:05:43.046546 IP (tos 0x0, ttl 64, id 21526, offset 0, flags [DF], length: 60) 192.168.59.10.29612 > 66.35.250.207.2401: SWE [tcp sum ok] 933042757:933042757(0) win 5840 <mss 1460,sackOK,timestamp 2707027 0,nop,wscale 2>
08:05:43.249819 IP (tos 0x0, ttl 45, id 0, offset 0, flags [DF], length: 60) 66.35.250.207.2401 > 192.168.59.10.29612: S [tcp sum ok] 2956308271:2956308271(0) ack 933042758 win 5792 <mss 1460,sackOK,timestamp 312382981 2707027,nop,wscale 0>
08:05:43.249881 IP (tos 0x0, ttl 64, id 21528, offset 0, flags [DF], length: 52) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] ack 1 win 1460 <nop,nop,timestamp 2707230 312382981>
(CVS protocol starts)
08:05:43.363697 IP (tos 0x0, ttl 64, id 21530, offset 0, flags [DF], length: 116) 192.168.59.10.29612 > 66.35.250.207.2401: P [tcp sum ok] 1:65(64) ack 1 win 1460 <nop,nop,timestamp 2707344 312382981>
08:05:43.568504 IP (tos 0x0, ttl 45, id 14633, offset 0, flags [DF], length: 52) 66.35.250.207.2401 > 192.168.59.10.29612: . [tcp sum ok] ack 65 win 5792 <nop,nop,timestamp 312383013 2707344>
08:05:43.964094 IP (tos 0x0, ttl 45, id 14634, offset 0, flags [DF], length: 63) 66.35.250.207.2401 > 192.168.59.10.29612: P [tcp sum ok] 1:12(11) ack 65 win 5792 <nop,nop,timestamp 312383053 2707344>
08:05:43.964121 IP (tos 0x0, ttl 64, id 21532, offset 0, flags [DF], length: 52) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] ack 12 win 1460 <nop,nop,timestamp 2707945 312383053>
08:05:43.964258 IP (tos 0x0, ttl 64, id 21534, offset 0, flags [DF], length: 440) 192.168.59.10.29612 > 66.35.250.207.2401: P [tcp sum ok] 65:453(388) ack 12 win 1460 <nop,nop,timestamp 2707945 312383053>
08:05:44.184893 IP (tos 0x0, ttl 45, id 14635, offset 0, flags [DF], length: 52) 66.35.250.207.2401 > 192.168.59.10.29612: . [tcp sum ok] ack 453 win 6432 <nop,nop,timestamp 312383075 2707945>
08:05:44.192050 IP (tos 0x0, ttl 45, id 14636, offset 0, flags [DF], length: 566) 66.35.250.207.2401 > 192.168.59.10.29612: P [tcp sum ok] 12:526(514) ack 453 win 6432 <nop,nop,timestamp 312383075 2707945>
08:05:44.192274 IP (tos 0x0, ttl 64, id 21536, offset 0, flags [DF], length: 65) 192.168.59.10.29612 > 66.35.250.207.2401: P [tcp sum ok] 453:466(13) ack 526 win 1728 <nop,nop,timestamp 2708174 312383075>
08:05:44.432709 IP (tos 0x0, ttl 45, id 14637, offset 0, flags [DF], length: 52) 66.35.250.207.2401 > 192.168.59.10.29612: . [tcp sum ok] ack 466 win 6432 <nop,nop,timestamp 312383100 2708174>
08:05:44.893674 IP (tos 0x0, ttl 64, id 21538, offset 0, flags [DF], length: 85) 192.168.59.10.29612 > 66.35.250.207.2401: P [tcp sum ok] 466:499(33) ack 526 win 1728 <nop,nop,timestamp 2708876 312383100>
08:05:45.094985 IP (tos 0x0, ttl 45, id 14638, offset 0, flags [DF], length: 52) 66.35.250.207.2401 > 192.168.59.10.29612: . [tcp sum ok] ack 499 win 6432 <nop,nop,timestamp 312383166 2708876>
(first ethernet frame-sized segment is about to be sent)
08:05:45.264633 IP (tos 0x0, ttl 64, id 21540, offset 0, flags [DF], length: 1500) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] 499:1947(1448) ack 526 win 1728 <nop,nop,timestamp 2709247 312383166>
08:05:45.264694 IP (tos 0x0, ttl 64, id 21542, offset 0, flags [DF], length: 1500) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] 1947:3395(1448) ack 526 win 1728 <nop,nop,timestamp 2709247 312383166>
(the PPPoE gateway notifies the host about the PMTU issue, one for each
segment)
08:05:45.265330 IP (tos 0xc0, ttl 128, id 17970, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)
08:05:45.265453 IP (tos 0xc0, ttl 128, id 17971, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)
(the source host sends the full frame again...?)
08:05:45.770331 IP (tos 0x0, ttl 64, id 21544, offset 0, flags [DF], length: 1500) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] 499:1947(1448) ack 526 win 1728 <nop,nop,timestamp 2709754 312383166>
08:05:45.770900 IP (tos 0xc0, ttl 128, id 17972, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)
(and looping goes on..)
08:05:46.783148 IP (tos 0x0, ttl 64, id 21546, offset 0, flags [DF], length: 1500) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] 499:1947(1448) ack 526 win 1728 <nop,nop,timestamp 2710768 312383166>
08:05:46.783752 IP (tos 0xc0, ttl 128, id 17973, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)
08:05:48.808861 IP (tos 0x0, ttl 64, id 21548, offset 0, flags [DF], length: 1500) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] 499:1947(1448) ack 526 win 1728 <nop,nop,timestamp 2712796 312383166>
08:05:48.809882 IP (tos 0xc0, ttl 128, id 17974, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)
...
I don't have now a pre-rc2 host to try this on, but I regularly use
sourceforge anoncvs to at least confess honestly that it did work :)
--
Janos | romfs is at http://romfs.sourceforge.net/ | Don't talk about silence.
On Thursday 27 January 2005 1:02 am, Janos Farkas wrote:
> On 2005-01-25 at 10:54:36, David Brownell wrote:
> > On Tuesday 25 January 2005 10:35 am, David Ford wrote:
> > > PMTU bug -- or better said, bad firewall admin who blocks all ICMP.
> >
> > PMTU bug, sure -- but one that came late in RC2. Remember: same firewall
> > in both cases, but only RC2 breaks. The ICMP packet has landed in
> > the RC2 system, which ignores it. 2.6.10 handled it correctly... I
> > suspect one of the TCP cleanups borked this.
And in fact, I'm pretty sure RC1 handled it fine too. This failure
appeared in a BK pull I did a couple days before RC2, and installing
it clobbered a "more virgin" RC1 install; so it's hard to verify.
It took a while to track the failure mode down to being PMTU related,
but the only TCP-related changes I noticed in what I pulled sure
seemed like cleanups (removing some "duplicated" state).
> > My current workaround is "ifconfig eth0 mtu 1492" but that's not
> > something I'd expect to keep.
>
> Indeed, I had to shuffle my machines around a bit to get a proof that
> something is broken, but now I can confirm the above with a connection
> to cvs.sourceforge.net:
Thanks for confirming it wasn't just me ... I confess I'm a bit
surprised more folk haven't reported this yet!
Your symptoms are exactly like those I saw, just with a different
mission-critical application: CVS, not SMTP. Did you happen to
notice whether CVS pulls worked, when pushes (like this) failed?
- Dave
> ...
>
> (the PPPoE gateway notifies the host about the PMTU issue, one for each
> segment)
>
> 08:05:45.265330 IP (tos 0xc0, ttl 128, id 17970, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)
> 08:05:45.265453 IP (tos 0xc0, ttl 128, id 17971, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)
>
> (the source host sends the full frame again...?)
>
> 08:05:45.770331 IP (tos 0x0, ttl 64, id 21544, offset 0, flags [DF], length: 1500) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] 499:1947(1448) ack 526 win 1728 <nop,nop,timestamp 2709754 312383166>
> 08:05:45.770900 IP (tos 0xc0, ttl 128, id 17972, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)
>
> (and looping goes on..)
>
> 08:05:46.783148 IP (tos 0x0, ttl 64, id 21546, offset 0, flags [DF], length: 1500) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] 499:1947(1448) ack 526 win 1728 <nop,nop,timestamp 2710768 312383166>
> 08:05:46.783752 IP (tos 0xc0, ttl 128, id 17973, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)
> 08:05:48.808861 IP (tos 0x0, ttl 64, id 21548, offset 0, flags [DF], length: 1500) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] 499:1947(1448) ack 526 win 1728 <nop,nop,timestamp 2712796 312383166>
> 08:05:48.809882 IP (tos 0xc0, ttl 128, id 17974, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)
>
> ...
>
On 2005-01-27 at 11:28:48, David Brownell wrote:
> > Indeed, I had to shuffle my machines around a bit to get a proof that
> > something is broken, but now I can confirm the above with a connection
> > to cvs.sourceforge.net:
>
> Thanks for confirming it wasn't just me ... I confess I'm a bit
> surprised more folk haven't reported this yet!
>
> Your symptoms are exactly like those I saw, just with a different
> mission-critical application: CVS, not SMTP. Did you happen to
> notice whether CVS pulls worked, when pushes (like this) failed?
I'm familiar with symptoms arising from various stochastic/assymetric
networking problems with larger frames, I had cable :) This was a pull
(update), BTW, CVS can send more data in this situation too. But it
turned painfully obvious when trying to send mail to LK via SMTP. Oh,
but while plain rc2 may have this problem, this particular endpoint had
rc2-bk3 running. I also chose to set the ethernet MTU to 1492 as an
easy workaround...
--
Janos | romfs is at http://romfs.sourceforge.net/ | Don't talk about silence.
I just got an interesting "I see these problems too" report. It
may provide a useful clue. According to "Art Haas" <[email protected]>:
> I'm running the current BK kernel now, and I'm not seeing the problems
> right now because, I found, I do not have some of the IP masquerading
> modules installed on my machine. When these modules get installed then
> the cvs/rsync problems appear.
I do have CONFIG_IP_NF_TARGET_MASQUERADE=y on the system where I'm
seeing this, though it's not doing anything just now. Haven't yet
made time to see if disabling it improves things ... but if that's
a factor, it could explain why more people aren't suffering with
this problem.
- Dave
I've forwarded this to netfilter-devel for inspection.
Thanks for collecting all the data points so well.
===== net/ipv4/netfilter/ip_nat_proto_tcp.c 1.10 vs edited =====
--- 1.10/net/ipv4/netfilter/ip_nat_proto_tcp.c 2005-01-17 23:00:55 +01:00
+++ edited/net/ipv4/netfilter/ip_nat_proto_tcp.c 2005-01-28 02:13:06 +01:00
@@ -105,7 +105,7 @@
return 0;
iph = (struct iphdr *)((*pskb)->data + iphdroff);
- hdr = (struct tcphdr *)((*pskb)->data + iph->ihl*4);
+ hdr = (struct tcphdr *)((*pskb)->data + hdroff);
if (maniptype == IP_NAT_MANIP_SRC) {
/* Get rid of src ip and src pt */
On Fri, 2005-01-28 at 02:33 +0100, Patrick McHardy wrote:
> David S. Miller wrote:
>
> >I've forwarded this to netfilter-devel for inspection.
> >Thanks for collecting all the data points so well.
> >
> Here is the fix for everyone. Please report back if it doesn't
> solve the problem. Thanks.
Verified by nfsim (the ICMP tests used UDP, I've just added TCP and
ICMP, and will do SCTP).
Thanks,
Rusty.
--
A bad analogy is like a leaky screwdriver -- Richard Braakman
On Fri, Jan 28, 2005 at 02:33:10AM +0100, Patrick McHardy wrote:
> Here is the fix for everyone. Please report back if it doesn't
> solve the problem. Thanks.
>
> [ ... snip ... ]
Success!!!
Art Haas
--
Man once surrendering his reason, has no remaining guard against absurdities
the most monstrous, and like a ship without rudder, is the sport of every wind.
-Thomas Jefferson to James Smith, 1822
Patrick McHardy wrote:
> David S. Miller wrote:
>
>> I've forwarded this to netfilter-devel for inspection.
>> Thanks for collecting all the data points so well.
>>
> Here is the fix for everyone. Please report back if it doesn't
> solve the problem. Thanks.
Worked here.
>
>
>
> ------------------------------------------------------------------------
>
> ===== net/ipv4/netfilter/ip_nat_proto_tcp.c 1.10 vs edited =====
> --- 1.10/net/ipv4/netfilter/ip_nat_proto_tcp.c 2005-01-17 23:00:55 +01:00
> +++ edited/net/ipv4/netfilter/ip_nat_proto_tcp.c 2005-01-28 02:13:06 +01:00
> @@ -105,7 +105,7 @@
> return 0;
>
> iph = (struct iphdr *)((*pskb)->data + iphdroff);
> - hdr = (struct tcphdr *)((*pskb)->data + iph->ihl*4);
> + hdr = (struct tcphdr *)((*pskb)->data + hdroff);
>
> if (maniptype == IP_NAT_MANIP_SRC) {
> /* Get rid of src ip and src pt */
--
-bill davidsen ([email protected])
"The secret to procrastination is to put things off until the
last possible moment - but no longer" -me