summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [SG] Get rid of __sg_mark_end()Jens Axboe2007-11-028-19/+21
| | | | | | | | | | | | sg_mark_end() overwrites the page_link information, but all users want __sg_mark_end() behaviour where we just set the end bit. That is the most natural way to use the sg list, since you'll fill it in and then mark the end point. So change sg_mark_end() to only set the termination bit. Add a sg_magic debug check as well, and clear a chain pointer if it is set. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* cleanup asm/scatterlist.h includesAdrian Bunk2007-11-0235-35/+7
| | | | | | | | | | | Not architecture specific code should not #include <asm/scatterlist.h>. This patch therefore either replaces them with #include <linux/scatterlist.h> or simply removes them if they were unused. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* SG: Make sg_init_one() use general table init functionsJens Axboe2007-11-021-22/+18
| | | | | | Don't open code sg_init_one(), make it reuse sg_init_table(). Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* Merge branch 'master' of ↵Linus Torvalds2007-11-0139-176/+280
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [IRDA] IRNET: Fix build when TCGETS2 is defined. [NET]: docbook fixes for netif_ functions [NET]: Hide the net_ns kmem cache [NET]: Mark the setup_net as __net_init [NET]: Hide the dead code in the net_namespace.c [NET]: Relax the reference counting of init_net_ns [NETNS]: Make the init/exit hooks checks outside the loop [NET]: Forget the zero_it argument of sk_alloc() [NET]: Remove bogus zero_it argument from sk_alloc [NET]: Make the sk_clone() lighter [NET]: Move some core sock setup into sk_prot_alloc [NET]: Auto-zero the allocated sock object [NET]: Cleanup the allocation/freeing of the sock object [NET]: Move the get_net() from sock_copy() [NET]: Move the sock_copy() from the header [TCP]: Another TAGBITS -> SACKED_ACKED|LOST conversion [TCP]: Process DSACKs that reside within a SACK block
| * [IRDA] IRNET: Fix build when TCGETS2 is defined.David S. Miller2007-11-011-0/+10
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: docbook fixes for netif_ functionsStephen Hemminger2007-11-012-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | Documentation updates for network interfaces. 1. Add doc for netif_napi_add 2. Remove doc for unused returns from netif_rx 3. Add doc for netif_receive_skb [ Incorporated minor mods from Randy Dunlap -DaveM ] Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: Hide the net_ns kmem cachePavel Emelyanov2007-11-011-2/+4
| | | | | | | | | | | | | | | | | | | | This cache is only required to create new namespaces, but we won't have them in CONFIG_NET_NS=n case. Hide it under the appropriate ifdef. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: Mark the setup_net as __net_initPavel Emelyanov2007-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The setup_net is called for the init net namespace only (int the CONFIG_NET_NS=n of course) from the __init function, so mark it as __net_init to disappear with the caller after the boot. Yet again, in the perfect world this has to be under #ifdef CONFIG_NET_NS, but it isn't guaranteed that every subsystem is registered *after* the init_net_ns is set up. After we are sure, that we don't start registering them before the init net setup, we'll be able to move this code under the ifdef. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: Hide the dead code in the net_namespace.cPavel Emelyanov2007-11-011-63/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The namespace creation/destruction code is never called if the CONFIG_NET_NS is n, so it's OK to move it under appropriate ifdef. The copy_net_ns() in the "n" case checks for flags and returns -EINVAL when new net ns is requested. In a perfect world this stub must be in net_namespace.h, but this function need to know the CLONE_NEWNET value and thus requires sched.h. On the other hand this header is to be injected into almost every .c file in the networking code, and making all this code depend on the sched.h is a suicidal attempt. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: Relax the reference counting of init_net_nsPavel Emelyanov2007-11-011-8/+25
| | | | | | | | | | | | | | | | | | When the CONFIG_NET_NS is n there's no need in refcounting the initial net namespace. So relax this code by making a stupid stubs for the "n" case. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NETNS]: Make the init/exit hooks checks outside the loopPavel Emelyanov2007-11-011-12/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the new pernet something (subsys, device or operations) is being registered, the init callback is to be called for each namespace, that currently exitst in the system. During the unregister, the same is to be done with the exit callback. However, not every pernet something has both calls, but the check for the appropriate pointer to be not NULL is performed inside the for_each_net() loop. This is (at least) strange, so tune this. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: Forget the zero_it argument of sk_alloc()Pavel Emelyanov2007-11-0133-36/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Finally, the zero_it argument can be completely removed from the callers and from the function prototype. Besides, fix the checkpatch.pl warnings about using the assignments inside if-s. This patch is rather big, and it is a part of the previous one. I splitted it wishing to make the patches more readable. Hope this particular split helped. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: Remove bogus zero_it argument from sk_allocPavel Emelyanov2007-11-011-14/+9
| | | | | | | | | | | | | | | | At this point nobody calls the sk_alloc(() with zero_it == 0, so remove unneeded checks from it. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: Make the sk_clone() lighterPavel Emelyanov2007-11-011-1/+2
| | | | | | | | | | | | | | | | | | | | The sk_prot_alloc() already performs all the stuff needed by the sk_clone(). Besides, the sk_prot_alloc() requires almost twice less arguments than the sk_alloc() does, so call the sk_prot_alloc() saving the stack a bit. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: Move some core sock setup into sk_prot_allocPavel Emelyanov2007-11-011-15/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The security_sk_alloc() and the module_get is a part of the object allocations - move it in the proper place. Note, that since we do not reset the newly allocated sock in the sk_alloc() (memset() is removed with the previous patch) we can safely do this. Also fix the error path in sk_prot_alloc() - release the security context if needed. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: Auto-zero the allocated sock objectPavel Emelyanov2007-11-011-1/+3
| | | | | | | | | | | | | | | | | | | | We have a __GFP_ZERO flag that allocates a zeroed chunk of memory. Use it in the sk_alloc() and avoid a hand-made memset(). This is a temporary patch that will help us in the nearest future :) Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: Cleanup the allocation/freeing of the sock objectPavel Emelyanov2007-11-011-15/+29
| | | | | | | | | | | | | | | | | | | | | | The sock object is allocated either from the generic cache with the kmalloc, or from the proc->slab cache. Move this logic into an isolated set of helpers and make the sk_alloc/sk_free look a bit nicer. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: Move the get_net() from sock_copy()Pavel Emelyanov2007-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | The sock_copy() is supposed to just clone the socket. In a perfect world it has to be just memcpy, but we have to handle the security mark correctly. All the extra setup must be performed in sk_clone() call, so move the get_net() into more proper place. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NET]: Move the sock_copy() from the headerPavel Emelyanov2007-11-012-14/+14
| | | | | | | | | | | | | | | | The sock_copy() call is not used outside the sock.c file, so just move it into a sock.c Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [TCP]: Another TAGBITS -> SACKED_ACKED|LOST conversionIlpo Järvinen2007-11-011-1/+1
| | | | | | | | | | | | | | | | Similar to commit 3eec0047d9bdd, point of this is to avoid skipping R-bit skbs. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [TCP]: Process DSACKs that reside within a SACK blockIlpo Järvinen2007-11-011-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DSACK inside another SACK block were missed if start_seq of DSACK was larger than SACK block's because sorting prioritizes full processing of the SACK block before DSACK. After SACK block sorting situation is like this: SSSSSSSSS D SSSSSS SSSSSSS Because write_queue is walked in-order, when the first SACK block has been processed, TCP is already past the skb for which the DSACK arrived and we haven't taught it to backtrack (nor should we), so TCP just continues processing by going to the next SACK block after the DSACK (if any). Whenever such DSACK is present, do an embedded checking during the previous SACK block. If the DSACK is below snd_una, there won't be overlapping SACK block, and thus no problem in that case. Also if start_seq of the DSACK is equal to the actual block, it will be processed first. Tested this by using netem to duplicate 15% of packets, and by printing SACK block when found_dup_sack is true and the selected skb in the dup_sack = 1 branch (if taken): SACK block 0: 4344-5792 (relative to snd_una 2019137317) SACK block 1: 4344-5792 (relative to snd_una 2019137317) equal start seqnos => next_dup = 0, dup_sack = 1 won't occur... SACK block 0: 5792-7240 (relative to snd_una 2019214061) SACK block 1: 2896-7240 (relative to snd_una 2019214061) DSACK skb match 5792-7240 (relative to snd_una) ...and next_dup = 1 case (after the not shown start_seq sort), went to dup_sack = 1 branch. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
* | [SPARC64]: Update defconfig.David S. Miller2007-11-011-35/+34
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | [SPARC64]: Fix linkage of enormous kernels.David S. Miller2007-10-313-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was found by make randconfig If the kernel .text is very large, the .fixup section branches are too far away to be relocated correctly. Use "sethi %hi(label), reg; jmpl reg + %lo(label); %g0" sequence instead of the branch to fix this. There is another case in switch_to() involving a branch, which is fixed similarly. Signed-off-by: David S. Miller <davem@davemloft.net>
* | [SPARC64]: Fix build with CONFIG_NET disabled.David S. Miller2007-10-312-2/+2
| | | | | | | | | | | | | | | | We can't export verify_compat_iovec when CONFIG_NET is disabled, and consequently the Solaris compat module should also depend upon CONFIG_NET. Signed-off-by: David S. Miller <davem@davemloft.net>
* | [SPARC64]: Fix build failure when CONFIG_BUG is disabled.David S. Miller2007-10-311-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CONFIG_BUG is turned off, the standard trick of: switch (x) { case X: ... case Y: ... default: BUG(); }; to mark impossible cases does not work because BUG() evalutes to nothing and thus GCC just sees a fallthrough code path. Add an explicit KERN_ERR log message and a do_exit() to trap this case. Signed-off-by: David S. Miller <davem@davemloft.net>
* | [SPARC64]: Kill unused ITAG_MASK macro in ultra.SDavid S. Miller2007-10-311-7/+0
| | | | | | | | | | | | | | | | It is unused since we went to an I-cache flush that solely used the 'flush' instruction, and it's presence breaks the build when PAGE_SIZE is 512KB. Signed-off-by: David S. Miller <davem@davemloft.net>
* | [SPARC64]: Fix bogus '&' conditinal in set_rtc_mmss().David S. Miller2007-10-311-1/+1
|/ | | | | | | | We're using '&' instead of '&&'. Noticed by Roel Kluin. Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6Linus Torvalds2007-10-312-0/+22
|\ | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: Revert "Driver core: remove class_device_*_bin_file"
| * Revert "Driver core: remove class_device_*_bin_file"Greg Kroah-Hartman2007-10-312-0/+22
| | | | | | | | | | | | | | | | | | | | | | This reverts commit fcd239d3d5575e5cc63aab5c33cf6dc66904f6d6. I messed up, ia64 still uses these files in the current tree, and now can not build the pci code, which all ia64 boxes seem to require :) This fixes that mistake. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2007-10-3122-24/+781
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4634/1: DaVinci GPIO header build fix [ARM] 4636/1: pxa: add default configuration for zylonite [ARM] 4635/1: pxa: Change Eric Miao's email address to eric.miao@marvell.com [ARM] Fix assignment instead of condition in arm/mach-omap2/clock.c [ARM] nommu: fix breakage caused by f9720205d1f847cb59e197e851b5276425363f6b [ARM] pxa: shut up CLOCK_EVT_MODE_RESUME warning [ARM] Fix FIQ issue with ARM926 [ARM] Fix pxamci regression [ARM] Fix netx_defconfig regression [ARM] Fix ateb9200_defconfig build regression [ARM] Fix an rpc_defconfig regression [ARM] Fix omap_h2_1610_defconfig regressions [ARM] 4632/1: Fix a typo in include/asm-arm/plat-s3c/regs-nand.h
| * | [ARM] 4634/1: DaVinci GPIO header build fixDavid Brownell2007-10-311-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a build problem with GPIOs on DaVinci. Since it inlines operations for on-chip GPIOs, it needs some headers to support those direct register accesses. Those headers won't be included on other platforms, since they don't have that optimization. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Kevin Hilman <khilman@mvista.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 4636/1: pxa: add default configuration for zyloniteeric miao2007-10-311-0/+736
| | | | | | | | | | | | | | | Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 4635/1: pxa: Change Eric Miao's email address to eric.miao@marvell.comeric miao2007-10-3110-10/+10
| | | | | | | | | | | | | | | Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] Fix assignment instead of condition in arm/mach-omap2/clock.cRoel Kluin2007-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fix assignment instead of condition Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] nommu: fix breakage caused by f9720205d1f847cb59e197e851b5276425363f6bRussell King2007-10-311-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Someone forgot to use 'ls include/asm-*/flat.h' or 'grep -r flat_get_addr_from_rp .' to find all architectures which may be affected by their change. Fix the fall out. Noticed-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] pxa: shut up CLOCK_EVT_MODE_RESUME warningRussell King2007-10-311-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Resolve: CC arch/arm/mach-pxa/time.o arch/arm/mach-pxa/time.c: In function `pxa_osmr0_set_mode': arch/arm/mach-pxa/time.c:154: warning: enumeration value `CLOCK_EVT_MODE_RESUME' not handled in switch Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] Fix FIQ issue with ARM926Russell King2007-10-311-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Jon Eibertzon writes: > We have noticed that the I-cache is disabled while waiting for > interrupt in cpu_arm926_do_idle in arch/arm/mm/proc-arm926.S > and we are curious to know why, because this causes us a great > performance hit when executing in FIQ-handlers. Is it assumed > here that every individual FIQ-handler re-enables the I-cache? The I-cache disable is an errata workaround, so the solution is to disable FIQs across the section with the I-cache disabled. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] Fix pxamci regressionRussell King2007-10-311-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: WARNING: at arch/arm/mach-pxa/clock.c:69 clk_disable() [<c002d7c8>] (dump_stack+0x0/0x14) from [<c00334f4>] (clk_disable+0x34/0xa0) [<c00334c0>] (clk_disable+0x0/0xa0) from [<c028a43c>] (pxamci_set_ios+0x74/0xf0) [<c028a3c8>] (pxamci_set_ios+0x0/0xf0) from [<c0281548>] (mmc_power_off+0x90/0x9c) [<c02814b8>] (mmc_power_off+0x0/0x9c) from [<c0281a30>] (mmc_start_host+0x18/0x28) [<c0281a18>] (mmc_start_host+0x0/0x28) from [<c02825a0>] (mmc_add_host+0xe8/0x104) [<c02824b8>] (mmc_add_host+0x0/0x104) from [<c028a7d0>] (pxamci_probe+0x24c/0x2f4) [<c028a584>] (pxamci_probe+0x0/0x2f4) from [<c01e5948>] (platform_drv_probe+0x20/0x24) ... Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] Fix netx_defconfig regressionRussell King2007-10-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: CC arch/arm/mach-netx/xc.o arch/arm/mach-netx/xc.c: In function 'request_xc': arch/arm/mach-netx/xc.c:192: error: 'struct kobject' has no member named 'name' arch/arm/mach-netx/xc.c:196: error: 'struct kobject' has no member named 'name' arch/arm/mach-netx/xc.c:200: error: 'struct kobject' has no member named 'name' Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] Fix ateb9200_defconfig build regressionRussell King2007-10-311-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: CC drivers/serial/atmel_serial.o drivers/serial/atmel_serial.c: In function 'atmel_serial_suspend': drivers/serial/atmel_serial.c:924: error: implicit declaration of function 'at91_suspend_entering_slow_clock' Acked-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] Fix an rpc_defconfig regressionRussell King2007-10-311-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: CC drivers/scsi/arm/powertec.o In file included from drivers/scsi/arm/powertec.c:29: drivers/scsi/arm/scsi.h: In function 'next_SCp': drivers/scsi/arm/scsi.h:42: error: 'struct scatterlist' has no member named 'page' drivers/scsi/arm/scsi.h: In function 'init_SCp': drivers/scsi/arm/scsi.h:80: error: 'struct scatterlist' has no member named 'page' Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] Fix omap_h2_1610_defconfig regressionsRussell King2007-10-311-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: arch/arm/mach-omap1/built-in.o: In function `h2_init': board-h2.c:(.init.text+0xbb4): undefined reference to `i2c_register_board_info' Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 4632/1: Fix a typo in include/asm-arm/plat-s3c/regs-nand.hMatt Reimer2007-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fix a typo in include/asm-arm/plat-s3c/regs-nand.h. Signed-off-by: Matt Reimer <mreimer@vpop.net> Acked-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | ieee1394: ieee1394_transactions.c: remove dead codeAdrian Bunk2007-10-311-2/+0
| | | | | | | | | | | | | | | | | | | | | This patch removes dead code spotted by the Intel C Compiler. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
* | | firewire: Fix pci resume to not pass in a __be32 config rom.Kristian Høgsberg2007-10-311-12/+25
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | The ohci_enable() function shared between pci_probe and pci_resume takes a host endian config rom, but ohci->config_rom is __be32. This sets up the config rom in the wrong endian on little endian machine, specifically, BusOptions will be initialized to a 0 max receive size. This patch changes the way we reuse the config rom so that we avoid this problem. Signed-off-by: Kristian Hoegsberg <krh@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
* | Remove broken ptrace() special-case code from file mappingLinus Torvalds2007-10-311-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The kernel has for random historical reasons allowed ptrace() accesses to access (and insert) pages into the page cache above the size of the file. However, Nick broke that by mistake when doing the new fault handling in commit 54cb8821de07f2ffcd28c380ce9b93d5784b40d7 ("mm: merge populate and nopage into fault (fixes nonlinear)". The breakage caused a hang with gdb when trying to access the invalid page. The ptrace "feature" really isn't worth resurrecting, since it really is wrong both from a portability _and_ from an internal page cache validity standpoint. So this removes those old broken remnants, and fixes the ptrace() hang in the process. Noticed and bisected by Duane Griffin, who also supplied a test-case (quoth Nick: "Well that's probably the best bug report I've ever had, thanks Duane!"). Cc: Duane Griffin <duaneg@dghda.com> Acked-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | [MEDIA] IVTV: exit_ivtv_i2c() cannot be __devexitDavid Miller2007-10-312-2/+2
| | | | | | | | | | | | | | | | | | | | It is referenced both from __devinit code (ivtv_probe) and normal .text (ivtv_process_eeprom), and therefore cannot be discarded via __devexit. Signed-off-by: David S. Miller <davem@davemloft.net> Acked-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'master' of ↵Linus Torvalds2007-10-3118-173/+111
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: [AF_KEY]: suppress a warning for 64k pages. [TIPC]: Fix headercheck wrt. tipc_config.h [COMPAT]: Fix build on COMPAT platforms when CONFIG_NET is disabled. [CONNECTOR]: Fix a spurious kfree_skb() call [COMPAT]: Fix new dev_ifname32 returning -EFAULT [NET]: Fix incorrect sg_mark_end() calls. [IPVS]: Remove /proc/net/ip_vs_lblcr [IPV6]: remove duplicate call to proc_net_remove [NETNS]: fix net released by rcu callback [NET]: Fix free_netdev on register_netdev failure. [WAN]: fix drivers/net/wan/lmc/ compilation
| * [AF_KEY]: suppress a warning for 64k pages.Stephen Rothwell2007-10-301-2/+2
| | | | | | | | | | | | | | | | | | On PowerPC allmodconfig build we get this: net/key/af_key.c:400: warning: comparison is always false due to limited range of data type Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [TIPC]: Fix headercheck wrt. tipc_config.hDavid S. Miller2007-10-302-9/+4
| | | | | | | | | | | | | | | | | | | | | | It wants string functions like memcpy() for inline routines, and these define userland interfaces. The only clean way to deal with this is to simply put linux/string.h into unifdef-y and have it include <string.h> when not-__KERNEL__. Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud