aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-05-10xfrm: Don't allow esn with disabled anti replay detectionSteffen Klassert1-0/+3
Unlike the standard case, disabled anti replay detection needs some nontrivial extra treatment on ESN. RFC 4303 states: Note: If a receiver chooses to not enable anti-replay for an SA, then the receiver SHOULD NOT negotiate ESN in an SA management protocol. Use of ESN creates a need for the receiver to manage the anti-replay window (in order to determine the correct value for the high-order bits of the ESN, which are employed in the ICV computation), which is generally contrary to the notion of disabling anti-replay for an SA. So return an error if an ESN state with disabled anti replay detection is inserted for now and add the extra treatment later if we need it. Signed-off-by: Steffen Klassert <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-05-10xfrm: Assign the inner mode output function to the dst entrySteffen Klassert6-6/+27
As it is, we assign the outer modes output function to the dst entry when we create the xfrm bundle. This leads to two problems on interfamily scenarios. We might insert ipv4 packets into ip6_fragment when called from xfrm6_output. The system crashes if we try to fragment an ipv4 packet with ip6_fragment. This issue was introduced with git commit ad0081e4 (ipv6: Fragment locally generated tunnel-mode IPSec6 packets as needed). The second issue is, that we might insert ipv4 packets in netfilter6 and vice versa on interfamily scenarios. With this patch we assign the inner mode output function to the dst entry when we create the xfrm bundle. So xfrm4_output/xfrm6_output from the inner mode is used and the right fragmentation and netfilter functions are called. We switch then to outer mode with the output_finish functions. Signed-off-by: Steffen Klassert <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-05-10net: dev_close() should check IFF_UPEric Dumazet1-4/+6
Commit 443457242beb (factorize sync-rcu call in unregister_netdevice_many) mistakenly removed one test from dev_close() Following actions trigger a BUG : modprobe bonding modprobe dummy ifconfig bond0 up ifenslave bond0 dummy0 rmmod dummy dev_close() must not close a non IFF_UP device. With help from Frank Blaschka and Einar EL Lueck Reported-by: Frank Blaschka <[email protected]> Reported-by: Einar EL Lueck <[email protected]> Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-05-10vlan: fix GVRP at dismantle timeEric Dumazet2-3/+3
ip link add link eth2 eth2.103 type vlan id 103 gvrp on loose_binding on ip link set eth2.103 up rmmod tg3 # driver providing eth2 BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffffa0030c9e>] garp_request_leave+0x3e/0xc0 [garp] PGD 11d251067 PUD 11b9e0067 PMD 0 Oops: 0000 [#1] SMP last sysfs file: /sys/devices/virtual/net/eth2.104/ifindex CPU 0 Modules linked in: tg3(-) 8021q garp nfsd lockd auth_rpcgss sunrpc libphy sg [last unloaded: x_tables] Pid: 11494, comm: rmmod Tainted: G W 2.6.39-rc6-00261-gfd71257-dirty #580 HP ProLiant BL460c G6 RIP: 0010:[<ffffffffa0030c9e>] [<ffffffffa0030c9e>] garp_request_leave+0x3e/0xc0 [garp] RSP: 0018:ffff88007a19bae8 EFLAGS: 00010286 RAX: 0000000000000000 RBX: ffff88011b5e2000 RCX: 0000000000000002 RDX: 0000000000000000 RSI: 0000000000000175 RDI: ffffffffa0030d5b RBP: ffff88007a19bb18 R08: 0000000000000001 R09: ffff88011bd64a00 R10: ffff88011d34ec00 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88007a19bc48 R14: ffff88007a19bb88 R15: 0000000000000001 FS: 0000000000000000(0000) GS:ffff88011fc00000(0063) knlGS:00000000f77d76c0 CS: 0010 DS: 002b ES: 002b CR0: 000000008005003b CR2: 0000000000000000 CR3: 000000011a675000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process rmmod (pid: 11494, threadinfo ffff88007a19a000, task ffff8800798595c0) Stack: ffff88007a19bb36 ffff88011c84b800 ffff88011b5e2000 ffff88007a19bc48 ffff88007a19bb88 0000000000000006 ffff88007a19bb38 ffffffffa003a5f6 ffff88007a19bb38 670088007a19bba8 ffff88007a19bb58 ffffffffa00397e7 Call Trace: [<ffffffffa003a5f6>] vlan_gvrp_request_leave+0x46/0x50 [8021q] [<ffffffffa00397e7>] vlan_dev_stop+0xb7/0xc0 [8021q] [<ffffffff8137e427>] __dev_close_many+0x87/0xe0 [<ffffffff8137e507>] dev_close_many+0x87/0x110 [<ffffffff8137e630>] rollback_registered_many+0xa0/0x240 [<ffffffff8137e7e9>] unregister_netdevice_many+0x19/0x60 [<ffffffffa00389eb>] vlan_device_event+0x53b/0x550 [8021q] [<ffffffff8143f448>] ? ip6mr_device_event+0xa8/0xd0 [<ffffffff81479d03>] notifier_call_chain+0x53/0x80 [<ffffffff81062539>] __raw_notifier_call_chain+0x9/0x10 [<ffffffff81062551>] raw_notifier_call_chain+0x11/0x20 [<ffffffff8137df82>] call_netdevice_notifiers+0x32/0x60 [<ffffffff8137e69f>] rollback_registered_many+0x10f/0x240 [<ffffffff8137e85f>] rollback_registered+0x2f/0x40 [<ffffffff8137e8c8>] unregister_netdevice_queue+0x58/0x90 [<ffffffff8137e9eb>] unregister_netdev+0x1b/0x30 [<ffffffffa005d73f>] tg3_remove_one+0x6f/0x10b [tg3] We should call vlan_gvrp_request_leave() from unregister_vlan_dev(), not from vlan_dev_stop(), because vlan_gvrp_uninit_applicant() is called right after unregister_netdevice_queue(). In batch mode, unregister_netdevice_queue() doesn’t immediately call vlan_dev_stop(). Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-05-10Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linusLinus Torvalds32-97/+80
* 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus: (28 commits) MIPS: Alchemy: fix xxs1500 build error MIPS: Invalidate old TLB mappings when updating huge page PTEs. MIPS: Hibernation: Fixes for PAGE_SIZE >= 64kb MIPS: JZ4740: Set one-shot feature flag for the clockevent MIPS: JZ4740: Export symbols to the watchdog driver module MIPS: JZ4740: Fix GCC 4.6.0 build error. MIPS: Audit: Fix success success argument pass to audit_syscall_exit MIPS: Fix calc_vmlinuz_load_addr build warnings. MIPS: Alchemy: Fix GCC 4.6.0 build error. MIPS: Document former use of timerfd(2) syscall number. MIPS: IP27: Fix GCC 4.6.0 build error. MIPS: IP27: Fix GCC 4.6.0 build error. MIPS: bcm63xx: Fix header_crc comment in bcm963xx_tag.h MIPS: Octeon: Guard the Kconfig body with CPU_CAVIUM_OCTEON MIPS: Octeon: Cleanup Kconfig IRQ_CPU* symbols. MIPS: Rename .data..mostly and properly handle it in linker script MIPS: MSP: Fix build error MIPS: MSP71xx: Fix typo in msp_per_irq_controller MIPS: Loongson: Fix GCC 2.6.0 build error. MIPS: Jazz: Fix GCC 4.6.0 build error ...
2011-05-10Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfsLinus Torvalds2-21/+27
* 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: fix race condition in AIL push trigger xfs: make AIL target updates and compares 32bit safe. xfs: always push the AIL to the target xfs: exit AIL push work correctly when AIL is empty xfs: ensure reclaim cursor is reset correctly at end of AG
2011-05-10MIPS: Alchemy: fix xxs1500 build errorManuel Lauss1-3/+2
This fixes: alchemy/xxs1500/init.c: In function 'prom_init': alchemy/xxs1500/init.c:57:17: error: ignoring return value of 'kstrtoul', declared with attribute warn_unused_result Signed-off-by: Manuel Lauss <[email protected]> Cc: Linux-MIPS <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/2340/ Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Invalidate old TLB mappings when updating huge page PTEs.David Daney1-0/+1
Without this, stale Icache or TLB entries may be used. Signed-off-by: David Daney <[email protected]> To: [email protected] https://patchwork.linux-mips.org/patch/2318/ Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Hibernation: Fixes for PAGE_SIZE >= 64kbWu Zhangjin1-1/+1
PAGE_SIZE >= 64kb (1 << 16) is too big to be the immediate of the addiu/daddiu instruction, so, use addu/daddu instruction instead. The following compiling error is fixed: AS arch/mips/power/hibernate.o arch/mips/power/hibernate.S: Assembler messages: arch/mips/power/hibernate.S:38: Error: expression out of range make[2]: *** [arch/mips/power/hibernate.o] Error 1 make[1]: *** [arch/mips/power] Error 2 Reported-by: Roman Mamedov <[email protected]> Signed-off-by: Wu Zhangjin <[email protected]> To: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/2313/ Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: JZ4740: Set one-shot feature flag for the clockeventLars-Peter Clausen1-1/+1
The code for supporting one-shot mode for the clockevent is already there, only the feature flag was not set. Setting the one-shot flag allows the kernel to run in tickless mode. Signed-off-by: Lars-Peter Clausen <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/2261/ Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: JZ4740: Export symbols to the watchdog driver moduleRalf Baechle1-0/+2
MODPOST 356 modules ERROR: "jz4740_timer_disable_watchdog" [drivers/watchdog/jz4740_wdt.ko] undefine d! ERROR: "jz4740_timer_enable_watchdog" [drivers/watchdog/jz4740_wdt.ko] undefined ! make[1]: *** [__modpost] Error 1 Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: JZ4740: Fix GCC 4.6.0 build error.Ralf Baechle1-3/+1
CC arch/mips/jz4740/dma.o arch/mips/jz4740/dma.c: In function 'jz4740_dma_chan_irq': arch/mips/jz4740/dma.c:245:11: error: variable 'status' set but not used [-Werro r=unused-but-set-variable] Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Audit: Fix success success argument pass to audit_syscall_exitRalf Baechle1-2/+2
Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Fix calc_vmlinuz_load_addr build warnings.Ralf Baechle1-1/+1
HOSTCC arch/mips/boot/compressed/calc_vmlinuz_load_addr arch/mips/boot/compressed/calc_vmlinuz_load_addr.c: In function 'main': arch/mips/boot/compressed/calc_vmlinuz_load_addr.c:35:2: warning: format '%llx' expects type 'long long unsigned int *', but argument 3 has type 'uint64_t *' arch/mips/boot/compressed/calc_vmlinuz_load_addr.c:54:2: warning: format '%llx' expects type 'long long unsigned int', but argument 2 has type 'uint64_t' Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Alchemy: Fix GCC 4.6.0 build error.Ralf Baechle1-28/+33
CC arch/mips/alchemy/devboards/db1x00/board_setup.o arch/mips/alchemy/devboards/db1x00/board_setup.c: In function 'board_setup': arch/mips/alchemy/devboards/db1x00/board_setup.c:130:6: error: variable 'pin_func' set but not used [-Werror=unused-but-set-variable] Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Document former use of timerfd(2) syscall number.Ralf Baechle4-4/+4
Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: IP27: Fix GCC 4.6.0 build error.Ralf Baechle1-2/+1
CC arch/mips/sgi-ip27/ip27-hubio.o arch/mips/sgi-ip27/ip27-hubio.c: In function 'hub_pio_map': arch/mips/sgi-ip27/ip27-hubio.c:32:20: error: variable 'junk' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: IP27: Fix GCC 4.6.0 build error.Ralf Baechle1-3/+0
CC arch/mips/sgi-ip27/ip27-hubio.o arch/mips/sgi-ip27/ip27-hubio.c: In function 'hub_pio_map': arch/mips/sgi-ip27/ip27-hubio.c:32:20: error: variable 'junk' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: bcm63xx: Fix header_crc comment in bcm963xx_tag.hJonas Gorski1-1/+1
The CRC32 actually includes the tag_version. Signed-off-by: Jonas Gorski <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/2275/ Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Octeon: Guard the Kconfig body with CPU_CAVIUM_OCTEONDavid Daney1-11/+4
Instead of making each Octeon specific option depend on CPU_CAVIUM_OCTEON, gate the body of the entire file with CPU_CAVIUM_OCTEON. With this change, CAVIUM_OCTEON_SPECIFIC_OPTIONS becomes useless, so get rid of it as well. Signed-off-by: David Daney <[email protected]> To: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/2091/ Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Octeon: Cleanup Kconfig IRQ_CPU* symbols.David Daney1-5/+0
Octeon doesn't use IRQ_CPU, so don't select it. IRQ_CPU_OCTEON is a completely unused symbol, remove it completely. Signed-off-by: David Daney <[email protected]> To: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/2086/ Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Rename .data..mostly and properly handle it in linker scriptCatalin Marinas2-1/+2
Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: MSP: Fix build errorRalf Baechle1-0/+3
Reported and original patch by Yoichi Yuasa <[email protected]>. Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: MSP71xx: Fix typo in msp_per_irq_controllerYoichi Yuasa1-1/+1
CC arch/mips/pmc-sierra/msp71xx/msp_irq_per.o arch/mips/pmc-sierra/msp71xx/msp_irq_per.c:101:2: error: expected identifier before '.' token make[2]: *** [arch/mips/pmc-sierra/msp71xx/msp_irq_per.o] Error 1 Signed-off-by: Yoichi Yuasa <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/2246/ Cc: linux-mips <[email protected]> Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Loongson: Fix GCC 2.6.0 build error.Ralf Baechle1-2/+3
CC arch/mips/loongson/common/env.o arch/mips/loongson/common/env.c: In function 'prom_init_env': arch/mips/loongson/common/env.c:50:12: error: variable 'ret' set but not used [-Werror=unused-but-set-variable] arch/mips/loongson/common/env.c:51:12: error: variable 'ret' set but not used [-Werror=unused-but-set-variable] arch/mips/loongson/common/env.c:52:12: error: variable 'ret' set but not used [-Werror=unused-but-set-variable] arch/mips/loongson/common/env.c:53:12: error: variable 'ret' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Jazz: Fix GCC 4.6.0 build errorRalf Baechle1-3/+2
CC arch/mips/jazz/jazzdma.o arch/mips/jazz/jazzdma.c: In function 'vdma_remap': arch/mips/jazz/jazzdma.c:214:20: error: variable 'npages' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: SNI: Fix GCC 4.6.0 build errorRalf Baechle1-2/+2
CC arch/mips/sni/time.o arch/mips/sni/time.c: In function 'dosample': arch/mips/sni/time.c:98:19: error: variable 'lsb' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Malta: Fix GCC 4.6.0 build errorRalf Baechle1-2/+1
CC arch/mips/mti-malta/malta-int.o arch/mips/mti-malta/malta-int.c: In function 'mips_pcibios_iack': arch/mips/mti-malta/malta-int.c:59:6: error: variable 'dummy' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Malta: Fix GCC 4.6.0 build errorRalf Baechle1-11/+3
CC arch/mips/mti-malta/malta-init.o arch/mips/mti-malta/malta-init.c: In function 'prom_init': arch/mips/mti-malta/malta-init.c:196:6: error: variable 'result' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: IP22: Fix GCC 4.6.0 build errorRalf Baechle1-2/+2
CC arch/mips/sgi-ip22/ip22-platform.o arch/mips/sgi-ip22/ip22-platform.c: In function 'sgiseeq_devinit': arch/mips/sgi-ip22/ip22-platform.c:135:15: error: variable 'tmp' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors While at it rename the variable to pbdma for readability; there is a local variable tmp of different type being used in two nested blocks. Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: IP22: Fix GCC 4.6.0 build errorRalf Baechle1-2/+2
CC arch/mips/sgi-ip22/ip22-time.o arch/mips/sgi-ip22/ip22-time.c: In function 'dosample': arch/mips/sgi-ip22/ip22-time.c:35:10: error: variable 'lsb' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: tlbex: Fix GCC 4.6.0 build errorRalf Baechle1-2/+2
CC arch/mips/mm/tlbex.o arch/mips/mm/tlbex.c: In function 'build_r4000_tlb_refill_handler': arch/mips/mm/tlbex.c:1155:22: error: variable 'vmalloc_mode' set but not used [-Werror=unused-but-set-variable] arch/mips/mm/tlbex.c:1154:28: error: variable 'htlb_info' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: c-r4k: Fix GCC 4.6.0 build errorRalf Baechle1-2/+0
CC arch/mips/mm/c-r4k.o arch/mips/mm/c-r4k.c: In function 'probe_scache': arch/mips/mm/c-r4k.c:1078:6: error: variable 'tmp' set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors Older GCC versions didn't warn about the unused variable tmp because it was getting initialized. Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10MIPS: Mask jump target in ftrace_dyn_arch_init_insns().David Daney1-2/+3
The current code is abusing the uasm interface by passing jump target addresses with high bits set. Mask the addresses to avoid annoying messages at boot time. Signed-off-by: David Daney <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Wu Zhangjin <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1922/ Signed-off-by: Ralf Baechle <[email protected]>
2011-05-10Merge branch 'fixes' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix infinite loop in nilfs_palloc_freev function
2011-05-10Merge branch 'for-linus' of ↵Linus Torvalds2-9/+4
git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: net/9p: Handle get_user_pages_fast return properly
2011-05-10fuse: fix oops in revalidate when called with NULL nameidataMiklos Szeredi1-1/+1
Some cases (e.g. ecryptfs) can call ->dentry_revalidate with NULL nameidata. https://bugzilla.kernel.org/show_bug.cgi?id=34732 Tyler Hicks pointed out that this bug was introduced by commit e7c0a16786 "fuse: make fuse_dentry_revalidate() RCU aware" Reported-by: Witold Baryluk <[email protected]> Signed-off-by: Miklos Szeredi <[email protected]>
2011-05-10[S390] fix alloc_pgste check in init_new_contextMartin Schwidefsky1-1/+1
Processes started with kernel_execve from a kernel thread will have current->mm==NULL. Reading current->mm->context.alloc_pgste will read a more or less random bit from lowcore in this case. If the bit turns out to be set the whole process tree started this way will allocate page table extensions although they have no need for it. Signed-off-by: Martin Schwidefsky <[email protected]>
2011-05-10[S390] oprofile: fix min/max interval query checksMartin Schwidefsky3-18/+8
oprofile_min_interval and oprofile_max_interval are unsigned, checking for negative values doesn't work. Change hwsampler_query_min_interval and hwsampler_query_max_interval to return an unsigned long and check for a zero value instead. Reported-by: Nicolas Kaiser <[email protected]> Acked-by: Robert Richter <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-05-10[S390] replace diag10() with diag10_range() functionMichael Holzheu3-24/+16
Currently the diag10() function can only release one page. For exploiters that have to call diag10 on a contiguous memory region this is suboptimal. This patch replaces the diag10() function with diag10_range() that is able to release multiple pages. In addition to that the new function now allows to release memory with addresses higher than 2047 MiB. This was due to a restriction of the diagnose implementation under z/VM prior to release 5.2. Signed-off-by: Michael Holzheu <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-05-10[S390] disassembler: handle b280/spp instructionChristian Borntraeger1-0/+1
arch/s390/kvm/sie64a.S uses the b280 instruction. Tell the builtin disassembler to handle that code. Signed-off-by: Christian Borntraeger <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-05-10[S390] kernel: Initialize register 14 when starting new CPUMichael Holzheu2-2/+2
When starting a new CPU we currently jump to start_secondary() without setting register 14 (the return address) correctly. Therefore on the stack frame for start_secondary an invalid return address is stored. This leads to wrong stack back traces in kernel dumps. Example: #00 [1f33fe48] cpu_idle at 10614a #01 [1f33fe90] start_secondary at 54fa88 #02 [1f33feb8] (null) at 0 <--- invalid To fix this start_secondary() is called now with basr/brasl that sets register 14 correctly. The output of the stack backtrace looks then like the following: #00 [1f33fe48] cpu_idle at 10614a #01 [1f33fe90] start_secondary at 54fa88 #02 [1f33feb8] restart_base at 54f41e <--- correct Signed-off-by: Michael Holzheu <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-05-10[S390] dasd: prevent IO error during reserve/release loopStefan Haberland1-1/+10
The termination of running CQR caused by reserve/release operations may lead to an IO error if reserve/release is done in a tight loop. Prevent this by increasing the retry counter after termination. Signed-off-by: Stefan Haberland <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-05-10[S390] sclp/memory hotplug: fix initial usecount of incrementsHeiko Carstens1-0/+2
Fix initial usecount of attached and assigned storage increments so they can be set offline. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-05-10nilfs2: fix infinite loop in nilfs_palloc_freev functionRyusuke Konishi1-1/+1
After having applied commit 9954e7af14868b8b ("nilfs2: add free entries count only if clear bit operation succeeded"), a free routine of nilfs came to fall into an infinite loop, outputting the same message endlessly: nilfs_palloc_freev: entry number 29497 already freed nilfs_palloc_freev: entry number 29497 already freed nilfs_palloc_freev: entry number 29497 already freed nilfs_palloc_freev: entry number 29497 already freed nilfs_palloc_freev: entry number 29497 already freed ... That patch broke the routine so that a loop counter is never updated in an abnormal state. This fixes the regression. Signed-off-by: Ryusuke Konishi <[email protected]>
2011-05-10netfilter: revert a2361c8735e07322023aedc36e4938b35af31eb0Pablo Neira Ayuso1-5/+0
This patch reverts a2361c8735e07322023aedc36e4938b35af31eb0: "[PATCH] netfilter: xt_conntrack: warn about use in raw table" Florian Wesphal says: "... when the packet was sent from the local machine the skb already has ->nfct attached, and -m conntrack seems to do the right thing." Acked-by: Jan Engelhardt <[email protected]> Reported-by: Florian Wesphal <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]>
2011-05-10ASoC: WM8903: Fix Digital Capture Volume rangeStephen Warren1-1/+1
Increase the range of the Digital Capture Volume control to be 120 steps. Each step is 0.75dB, and the range starts at -72dB, giving a max setting of 18dB, which matches the latest datasheet, to the precision of the step size. Signed-off-by: Stephen Warren <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-05-10netfilter: IPv6: fix DSCP mangle codeFernando Luis Vazquez Cao1-1/+1
The mask indicates the bits one wants to zero out, so it needs to be inverted before applying to the original TOS field. Signed-off-by: Fernando Luis Vazquez Cao <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]>
2011-05-10netfilter: IPv6: initialize TOS field in REJECT target moduleFernando Luis Vazquez Cao1-1/+3
The IPv6 header is not zeroed out in alloc_skb so we must initialize it properly unless we want to see IPv6 packets with random TOS fields floating around. The current implementation resets the flow label but this could be changed if deemed necessary. We stumbled upon this issue when trying to apply a mangle rule to the RST packet generated by the REJECT target module. Signed-off-by: Fernando Luis Vazquez Cao <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]>
2011-05-10IPVS: init and cleanup restructuringHans Schillstrom8-80/+223
DESCRIPTION This patch tries to restore the initial init and cleanup sequences that was before namspace patch. Netns also requires action when net devices unregister which has never been implemented. I.e this patch also covers when a device moves into a network namespace, and has to be released. IMPLEMENTATION The number of calls to register_pernet_device have been reduced to one for the ip_vs.ko Schedulers still have their own calls. This patch adds a function __ip_vs_service_cleanup() and an enable flag for the netfilter hooks. The nf hooks will be enabled when the first service is loaded and never disabled again, except when a namespace exit starts. Signed-off-by: Hans Schillstrom <[email protected]> Acked-by: Julian Anastasov <[email protected]> [[email protected]: minor edit to changelog] Signed-off-by: Simon Horman <[email protected]>