aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-10-30Btrfs: deal with errors from updating the tree logChris Mason1-1/+2
During unlink we remove any references to the inode from the tree log. It can return -ENOENT and other errors, and this changes the unlink code to deal with it. Signed-off-by: Chris Mason <[email protected]>
2010-10-30MTD: Fix wrong check register_blkdev return valueFrank Li1-1/+4
register_blkdev return 1..255 when major = 0. if (ret ) { printk(KERN_WARNING "Unable to register %s block device on major %d: %d\n", tr->name, tr->major, ret); mutex_unlock(&mtd_table_mutex); return ret; } Above code will return fail when register_blkdev return allocated major number. Signed-off-by: Frank Li <[email protected]> Signed-off-by: David Woodhouse <[email protected]>
2010-10-30Merge branch 'tip/perf/jump-label-2' of ↵Ingo Molnar5692-251027/+392052
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent
2010-10-30x86: Check irq_remapped instead of remapping_enabled in destroy_irq()Yinghai Lu1-1/+1
Russ Anderson reported: | There is a regression that is causing a NULL pointer dereference | in free_irte when shutting down xpc. git bisect narrowed it down | to git commit d585d06(intr_remap: Simplify the code further), which | changed free_irte(). Reverse applying the patch fixes the problem. We need to use irq_remapped() for each irq instead of checking only intr_remapping_enabled as there might be non remapped irqs even when remapping is enabled. [ tglx: use cfg instead of retrieving it again. Massaged changelog ] Reported-bisected-and-tested-by: Russ Anderson <[email protected]> Signed-off-by: Yinghai Lu <[email protected]> Cc: Suresh Siddha <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]>
2010-10-30in untag_chunk() we need to do alloc_chunk() a bit earlierAl Viro1-2/+7
... while we are not holding spinlocks. Signed-off-by: Al Viro <[email protected]>
2010-10-30audit: make functions staticStephen Hemminger3-9/+6
I was doing some namespace checks and found some simple stuff in audit that could be cleaned up. Make some functions static, and put const on make_reply payload arg. Signed-off-by: Stephen Hemminger <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-10-30Audit: add support to match lsm labels on user audit messagesMiloslav Trmac1-0/+12
Add support for matching by security label (e.g. SELinux context) of the sender of an user-space audit record. The audit filter code already allows user space to configure such filters, but they were ignored during evaluation. This patch implements evaluation of these filters. For example, after application of this patch, PAM authentication logs caused by cron can be disabled using auditctl -a user,never -F subj_type=crond_t Signed-off-by: Miloslav Trmac <[email protected]> Acked-by: Eric Paris <[email protected]> Signed-off-by: Al Viro <[email protected]>
2010-10-29Merge branches 'x86-fixes-for-linus' and 'x86-uv-for-linus' of ↵Linus Torvalds5-13/+50
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, alternative: Call stop_machine_text_poke() on all cpus x86-32: Restore irq stacks NUMA-aware allocations x86, memblock: Fix early_node_mem with big reserved region. * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, uv: More Westmere support on SGI UV x86, uv: Enable Westmere support on SGI UV
2010-10-29Merge branches 'msm-fixes' and 'msm-video' of ↵Linus Torvalds7-21/+36
git://codeaurora.org/quic/kernel/dwalker/linux-msm * 'msm-fixes' of git://codeaurora.org/quic/kernel/dwalker/linux-msm: msm: Kconfig: drop unused config options msm: fix compile failure when no debug uart is selected msm: fix debug-macro.S build failure msm: timer: Decrease shift on timer clocksource arm: mach-msm: fix error handling in msm_iommu_probe() msm: fix Kconfig target board selection msm: fix compile failure on struct membank node member * 'msm-video' of git://codeaurora.org/quic/kernel/dwalker/linux-msm: drivers/video/msm/mddi.c: Remove multiple KERN_<level> uses drivers: msm: video: add dev_set_name call drivers: video: msm: fix hang on disable_irq
2010-10-29Btrfs: allow subvol deletion by unprivileged user with -o user_subvol_rm_allowedSage Weil3-5/+116
Add a mount option user_subvol_rm_allowed that allows users to delete a (potentially non-empty!) subvol when they would otherwise we allowed to do an rmdir(2). We duplicate the may_delete() checks from the core VFS code to implement identical security checks (minus the directory size check). We additionally require that the user has write+exec permission on the subvol root inode. Signed-off-by: Sage Weil <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Btrfs: make SNAP_DESTROY asyncSage Weil1-1/+1
There is no reason to force an immediate commit when deleting a snapshot. Users have some expectation that space from a deleted snapshot be freed immediately, but even if we do commit the reclaim is a background process. If users _do_ want the deletion to be durable, they can call 'sync'. Signed-off-by: Sage Weil <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Btrfs: add SNAP_CREATE_ASYNC ioctlSage Weil2-25/+93
Create a snap without waiting for it to commit to disk. The ioctl is ordered such that subsequent operations will not be contained by the created snapshot, and the commit is initiated, but the ioctl does not wait for the snapshot to commit to disk. We return the specific transid to userspace so that an application can wait for this specific snapshot creation to commit via the WAIT_SYNC ioctl. Signed-off-by: Sage Weil <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Merge branch 'for-2637/s3c24xx-all' of git://git.fluff.org/bjdooks/linuxLinus Torvalds7-68/+399
* 'for-2637/s3c24xx-all' of git://git.fluff.org/bjdooks/linux: ARM: h1940: add UDA1380 to i2c devices list ARM: h1940: Fix backlight and LCD power functions ARM: S3C2440: fix boot failure introduced by recent changes in gpiolib ARM: S3C2440: various fixes in Kconfig file ARM: rx1950: Add UDA1380 to i2c devices list ARM: rx1950: Add LEDs support ARM: rx1950: Add battery device ARM: h1940: Implement mmc_power function ARM: h1940: Use gpiolib for latch access
2010-10-30ARM: Merge for-2637/s3c24xx/miscBen Dooks2-5/+4
2010-10-30ARM: Merge for-2637/s3c24xx/h1940Ben Dooks4-57/+183
2010-10-30ARM: Merge for-2637/s3c24xx/rx1950Ben Dooks1-6/+212
2010-10-30ARM: h1940: add UDA1380 to i2c devices listVasily Khoruzhick1-0/+20
Register UDA1380 codec during H1940 machine init Signed-off-by: Vasily Khoruzhick <[email protected]> Signed-off-by: Ben Dooks <[email protected]>
2010-10-30ARM: h1940: Fix backlight and LCD power functionsVasily Khoruzhick2-16/+66
Current implementation of LCD and backlight power control functions is not complete, as result PDA consumes power in suspend. Fix this issue by managing state of some latch bits, just like WinMobile does. Signed-off-by: Vasily Khoruzhick <[email protected]> Signed-off-by: Ben Dooks <[email protected]>
2010-10-29x86, alternative: Call stop_machine_text_poke() on all cpusJason Baron1-1/+1
Currently, text_poke_smp() passes a NULL as the third argument to __stop_machine(), which will only run stop_machine_text_poke() on 1 cpu. Change NULL -> cpu_online_mask, as stop_machine_text_poke() is intended to be run on all cpus. I actually didn't notice any problems with stop_machine_text_poke() only being called on 1 cpu, but found this via code inspection. Signed-off-by: Jason Baron <[email protected]> LKML-Reference: <[email protected]> Acked-by: Mathieu Desnoyers <[email protected]> Acked-by: Masami Hiramatsu <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2010-10-30ARM: S3C2440: fix boot failure introduced by recent changes in gpiolibAbdoulaye Walsimou Gaye1-0/+2
Recent changes in s3c gpio break mini2440 board and may be others. The problem is that mach-mini2440.c: mini2440_init() (where we call s3c_gpio_setpull()) is called before s3c2440.c: s3c2440_init() (where we initialize s3c24xx_gpiocfg_default.set_pull function pointer). This causes dereferencing of NULL pointer at boot time and a kernel panic. Signed-off-by: Abdoulaye Walsimou Gaye <[email protected]> Cc: [email protected] Cc: [email protected] Signed-off-by: Ben Dooks <[email protected]>
2010-10-30ARM: S3C2440: various fixes in Kconfig fileAbdoulaye Walsimou Gaye1-5/+2
* kconfig symbols defined in arch/arm/mach-s3c2440/Kconfig are only available when ARCH_S3C2410 is selected, so no need to make some of them depend on ARCH_S3C2410. * fix CPU_S3C24405B typo in "config S3C2440_DMA". * mini2440: remove unconditionally select of SND_S3C24XX_SOC_S3C24XX_UDA134X. Those fixes avoid the following warnings at make time: scripts/kconfig/qconf arch/arm/Kconfig warning: (MACH_MINI2440 && ARCH_S3C2410) selects SND_S3C24XX_SOC_S3C24XX_UDA134X which has unmet direct dependencies (SND_S3C24XX_SOC && ARCH_S3C2410) warning: (CPU_S3C2440 && ARCH_S3C2410 && S3C2410_DMA) selects S3C2440_DMA which has unmet direct dependencies (ARCH_S3C2410 && CPU_S3C24405B) warning: (CPU_S3C2440 && ARCH_S3C2410 || CPU_S3C2442 && ARCH_S3C2410) selects CPU_S3C244X which has unmet direct dependencies (!ARCH_S3C2410) Signed-off-by: Abdoulaye Walsimou Gaye <[email protected]> Cc: [email protected] Cc: [email protected] Signed-off-by: Ben Dooks <[email protected]>
2010-10-29Merge branch 'for-2637/i2c-all' of git://git.fluff.org/bjdooks/linuxLinus Torvalds5-16/+1176
* 'for-2637/i2c-all' of git://git.fluff.org/bjdooks/linux: i2c-intel-mid: Driver depends on PCI i2c-intel-mid: support for Moorestown and Medfield platform i2c-nomadik: fixup bus delays i2c-nomadik: support smbus emulation i2c-nomadik: dynamic clocking i2c-nomadik: documentation fixes i2c-s3c2410: Enable i2c clock only when doing some transfert
2010-10-29msm: Kconfig: drop unused config optionsDaniel Walker1-2/+0
These two config options don't exist, and aren't ever going to. So I simply delete them. Signed-off-by: Daniel Walker <[email protected]>
2010-10-29msm: fix compile failure when no debug uart is selectedDaniel Walker1-1/+1
If the board has a debug uart the user is given a choice of which uart to use. The user can also select NONE, which means not to use one. In most of our header files when NONE is selected nothing is defined for MSM_DEBUG_UART_PHYS or MSM_DEBUG_UART_BASE. This causes a compile failure in debug-macro.S which expect something to be defined there. Example of the failure, arch/arm/kernel/built-in.o: In function `hexbuf': linux-2.6/arch/arm/kernel/debug.S:186: undefined reference to `MSM_DEBUG_UART_PHYS' linux-2.6/arch/arm/kernel/debug.S:186: undefined reference to `MSM_DEBUG_UART_BASE' This fixes the compile failure by adding an ifdef to debug-macro.S that removes all the debug uart code in the case of NONE. Signed-off-by: Daniel Walker <[email protected]>
2010-10-29msm: fix debug-macro.S build failureDaniel Walker1-1/+12
Originally there was an ifdef case to handle when no debug uart was selected. In commit 0ea1293009826da45e1019f45dfde1e557bb30df that case was removed which causes the following build failure, linux-2.6/arch/arm/kernel/debug.S: Assembler messages: linux-2.6/arch/arm/kernel/debug.S:174: Error: bad instruction `addruart r1,r2' linux-2.6/arch/arm/kernel/debug.S:176: Error: bad instruction `waituart r2,r3' linux-2.6/arch/arm/kernel/debug.S:177: Error: bad instruction `senduart r1,r3' linux-2.6/arch/arm/kernel/debug.S:178: Error: bad instruction `busyuart r2,r3' linux-2.6/arch/arm/kernel/debug.S:190: Error: bad instruction `addruart r1,r2' This is a partial revert to add back the case which was removed with two caveats. First the API for the addruart macro was updated, and the new addruart case now return 0xfff00000 so that a know IO mapping is created instead of a random one. Cc: Jeremy Kerr <[email protected]> Cc: Lorenzo Pieralisi <[email protected]> Cc: Jason Wang <[email protected]> Cc: Tony Lindgren <[email protected]> Cc: Nicolas Pitre <[email protected]> Cc: Russell King - ARM Linux <[email protected]> Signed-off-by: Daniel Walker <[email protected]>
2010-10-29i2c-intel-mid: Driver depends on PCIRandy Dunlap1-0/+1
i2c-intel-mid driver uses PCI data structs and interfaces, so it should depend on PCI. Fixes these build errors: drivers/i2c/busses/i2c-intel-mid.c:977: error: implicit declaration of function 'pci_request_region' drivers/i2c/busses/i2c-intel-mid.c:1077: error: implicit declaration of function 'pci_release_region' Signed-off-by: Randy Dunlap <[email protected]> Cc: Ba Zheng <[email protected]> Cc: Jean Delvare <[email protected]> Cc: Ben Dooks <[email protected]> Cc: [email protected] Signed-off-by: Ben Dooks <[email protected]>
2010-10-29Merge branch 'pm-fixes' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM / Runtime: Fix typo in status comparison causing warning
2010-10-29Merge branch 'for-linus' of ↵Linus Torvalds1-7/+36
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig: kconfig: Have streamline_config process menuconfigs too kconfig: Fix streamline_config to read multi line deps in Kconfig files kconfig: Fix missing declaration of variable $dir in streamline_config.pl kconfig: Fix variable name typo %prompts in streamline_config.pl kconfig: Make localmodconfig handle environment variables
2010-10-29Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds49-246/+525
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (34 commits) b43: Fix warning at drivers/mmc/core/core.c:237 in mmc_wait_for_cmd mac80211: fix failure to check kmalloc return value in key_key_read libertas: Fix sd8686 firmware reload ath9k: Fix incorrect access of rate flags in RC netfilter: xt_socket: Make tproto signed in socket_mt6_v1(). stmmac: enable/disable rx/tx in the core with a single write. net: atarilance - flags should be unsigned long netxen: fix kdump pktgen: Limit how much data we copy onto the stack. net: Limit socket I/O iovec total length to INT_MAX. USB: gadget: fix ethernet gadget crash in gether_setup fib: Fix fib zone and its hash leak on namespace stop cxgb3: Fix panic in free_tx_desc() cxgb3: fix crash due to manipulating queues before registration 8390: Don't oops on starting dev queue dccp ccid-2: Stop polling dccp: Refine the wait-for-ccid mechanism dccp: Extend CCID packet dequeueing interface dccp: Return-value convention of hc_tx_send_packet() igbvf: fix panic on load ...
2010-10-29Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6Linus Torvalds93-39835/+0
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: dream: remove dream driver and arch from tree
2010-10-29Merge branch 'for-linus' of ↵Linus Torvalds5-12/+55
git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6: eCryptfs: Print mount_auth_tok_only param in ecryptfs_show_options ecryptfs: added ecryptfs_mount_auth_tok_only mount parameter ecryptfs: checking return code of ecryptfs_find_auth_tok_for_sig() ecryptfs: release keys loaded in ecryptfs_keyring_auth_tok_for_sig() eCryptfs: Clear LOOKUP_OPEN flag when creating lower file ecryptfs: call vfs_setxattr() in ecryptfs_setxattr()
2010-10-29drivers/dma/Kconfig: add part number for Topcliff.[email protected]1-2/+2
Product codenames are OK, but once an actual product name is available, it should be referenced as well. http://ark.intel.com/chipset.aspx?familyID=52499 Signed-off-by: Valdis Kletnieks <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-29phy/marvell: rename 88ec048 to 88e1318s and fix mscr1 addrCyril Chemparathy2-10/+10
The marvell 88ec048's official part number is 88e1318s. This patch renames definitions in the driver to reflect this. In addition, a minor bug fix has been added to write back the MSCR1 register value properly. Signed-off-by: Cyril Chemparathy <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-10-29Staging: dream: remove dream driver and arch from treeGreg Kroah-Hartman93-39835/+0
This code is stalled, with no one working on it anymore, and the main msm code is now going through the proper channels to get merged correctly. So remove it as it contains a number of kernel information leaks and it is doubtful if it even still builds anymore. Acked-by: Pavel Machek <[email protected]> Acked-by: Bryan Huntsman <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-10-29Btrfs: add START_SYNC, WAIT_SYNC ioctlsSage Weil4-0/+89
START_SYNC will start a sync/commit, but not wait for it to complete. Any modification started after the ioctl returns is guaranteed not to be included in the commit. If a non-NULL pointer is passed, the transaction id will be returned to userspace. WAIT_SYNC will wait for any in-progress commit to complete. If a transaction id is specified, the ioctl will block and then return (success) when the specified transaction has committed. If it has already committed when we call the ioctl, it returns immediately. If the specified transaction doesn't exist, it returns EINVAL. If no transaction id is specified, WAIT_SYNC will wait for the currently committing transaction to finish it's commit to disk. If there is no currently committing transaction, it returns success. These ioctls are useful for applications which want to impose an ordering on when fs modifications reach disk, but do not want to wait for the full (slow) commit process to do so. Picky callers can take the transid returned by START_SYNC and feed it to WAIT_SYNC, and be certain to wait only as long as necessary for the transaction _they_ started to reach disk. Sloppy callers can START_SYNC and WAIT_SYNC without a transid, and provided they didn't wait too long between the calls, they will get the same result. However, if a second commit starts before they call WAIT_SYNC, they may end up waiting longer for it to commit as well. Even so, a START_SYNC+WAIT_SYNC still guarantees that any operation completed before the START_SYNC reaches disk. Signed-off-by: Sage Weil <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Btrfs: async transaction commitSage Weil4-0/+124
Add support for an async transaction commit that is ordered such that any subsequent operations will join the following transaction, but does not wait until the current commit is fully on disk. This avoids much of the latency associated with the btrfs_commit_transaction for callers concerned with serialization and not safety. The wait_for_unblock flag controls whether we wait for the 'middle' portion of commit_transaction to complete, which is necessary if the caller expects some of the modifications contained in the commit to be available (this is the case for subvol/snapshot creation). Signed-off-by: Sage Weil <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Btrfs: fix deadlock in btrfs_commit_transactionSage Weil1-8/+5
We calculate timeout (either 1 or MAX_SCHEDULE_TIMEOUT) based on whether num_writers > 1 or should_grow at the top of the loop. Then, much much later, we wait for that timeout if either num_writers or should_grow is true. However, it's possible for a racing process (calling btrfs_end_transaction()) to decrement num_writers such that we wait forever instead of for 1. Fix this by deciding how long to wait when we wait. Include a smp_mb() before checking if the waitqueue is active to ensure the num_writers is visible. Signed-off-by: Sage Weil <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Btrfs: fix lockdep warning on clone ioctlSage Weil1-4/+4
I'm no lockdep expert, but this appears to make the lockdep warning go away for the i_mutex locking in the clone ioctl. Signed-off-by: Sage Weil <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Btrfs: fix clone ioctl where range is adjacent to extentSage Weil1-1/+1
We had an edge case issue where the requested range was just following an existing extent. Instead of skipping to the next extent, we used the previous one which lead to having zero sized extents. Signed-off-by: Yehuda Sadeh <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Btrfs: fix delalloc checks in clone ioctlSage Weil1-3/+5
The lookup_first_ordered_extent() was done on the wrong inode, and the ->delalloc_bytes test was wrong, as the following btrfs_wait_ordered_range() would only invoke a range write and wouldn't write the entire file data range. Also, a bad parameter was passed to btrfs_wait_ordered_range(). Signed-off-by: Yehuda Sadeh <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Merge branch 'master' of ↵David S. Miller11-38/+102
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
2010-10-29Btrfs: drop unused variable in block_alloc_rsvChris Mason1-4/+0
The alloc_target variable is not really used. Signed-off-by: Chris Mason <[email protected]>
2010-10-29Btrfs: cleanup warnings from gcc 4.6 (nonbugs)Andi Kleen15-94/+4
These are all the cases where a variable is set, but not read which are not bugs as far as I can see, but simply leftovers. Still needs more review. Found by gcc 4.6's new warnings Signed-off-by: Andi Kleen <[email protected]> Cc: Chris Mason <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Btrfs: Fix variables set but not read (bugs found by gcc 4.6)Andi Kleen5-6/+10
These are all the cases where a variable is set, but not read which are really bugs. - Couple of incorrect error handling fixed. - One incorrect use of a allocation policy - Some other things Still needs more review. Found by gcc 4.6's new warnings. [[email protected]: fix build. Might have been bitrot] Signed-off-by: Andi Kleen <[email protected]> Cc: Chris Mason <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Btrfs: Use ERR_CAST helpersJulia Lawall2-3/+3
Use ERR_CAST(x) rather than ERR_PTR(PTR_ERR(x)). The former makes more clear what is the purpose of the operation, which otherwise looks like a no-op. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; T x; identifier f; @@ T f (...) { <+... - ERR_PTR(PTR_ERR(x)) + x ...+> } @@ expression x; @@ - ERR_PTR(PTR_ERR(x)) + ERR_CAST(x) // </smpl> Signed-off-by: Julia Lawall <[email protected]> Cc: Chris Mason <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Btrfs: use memdup_user helpersJulia Lawall1-14/+6
Use memdup_user when user data is immediately copied into the allocated region. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression from,to,size,flag; position p; identifier l1,l2; @@ - to = \(kmalloc@p\|kzalloc@p\)(size,flag); + to = memdup_user(from,size); if ( - to==NULL + IS_ERR(to) || ...) { <+... when != goto l1; - -ENOMEM + PTR_ERR(to) ...+> } - if (copy_from_user(to, from, size) != 0) { - <+... when != goto l2; - -EFAULT - ...+> - } // </smpl> Signed-off-by: Julia Lawall <[email protected]> Cc: Chris Mason <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-10-29Merge branch 'for_linus' of ↵Linus Torvalds15-143/+235
git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: kgdb,ppc: Individual register get/set for ppc kgdbts: prevent re-entry to kgdbts before it unregisters debug_core,x86,blackfin: Clean up hw debug disable API kdb: Fix early debugging crash regression kgdb,arm: fix register dump kdb: fix per_cpu command to remove supress mask kdb: Add kdb kernel module sample
2010-10-29Merge branch 'next' of ↵Linus Torvalds1-0/+1
git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: parisc-agp: fix missing slab.h include
2010-10-29jump label: Add work around to i386 gcc asm goto bugSteven Rostedt3-2/+27
On i386 (not x86_64) early implementations of gcc would have a bug with asm goto causing it to produce code like the following: (This was noticed by Peter Zijlstra) 56 pushl 0 67 nopl jmp 0x6f popl jmp 0x8c 6f mov test je 0x8c 8c mov call *(%esp) The jump added in the asm goto skipped over the popl that matched the pushl 0, which lead up to a quick crash of the system when the jump was enabled. The nopl is defined in the asm goto () statement and when tracepoints are enabled, the nop changes to a jump to the label that was specified by the asm goto. asm goto is suppose to tell gcc that the code in the asm might jump to an external label. Here gcc obviously fails to make that work. The bug report for gcc is here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46226 The bug only appears on x86 when not compiled with -maccumulate-outgoing-args. This option is always set on x86_64 and it is also the work around for a function graph tracer i386 bug. (See commit: 746357d6a526d6da9d89a2ec645b28406e959c2e) This explains why the bug only showed up on i386 when function graph tracer was not enabled. This patch now adds a CONFIG_JUMP_LABEL option that is default off instead of using jump labels by default. When jump labels are enabled, the -maccumulate-outgoing-args will be used (causing a slightly larger kernel image on i386). This option will exist until we have a way to detect if the gcc compiler in use is safe to use on all configurations without the work around. Note, there exists such a test, but for now we will keep the enabling of jump label as a manual option. Archs that know the compiler is safe with asm goto, may choose to select JUMP_LABEL and enable it by default. Reported-by: Ingo Molnar <[email protected]> Cause-discovered-by: Peter Zijlstra <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Jason Baron <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: David Daney <[email protected]> Cc: Mathieu Desnoyers <[email protected]> Cc: Masami Hiramatsu <[email protected]> Cc: David Miller <[email protected]> Cc: Richard Henderson <[email protected]> LKML-Reference: <1288028746.3673.11.camel@laptop> Signed-off-by: Steven Rostedt <[email protected]>
2010-10-29b43: Fix warning at drivers/mmc/core/core.c:237 in mmc_wait_for_cmdLarry Finger1-0/+2
On module removal, the sdio version of b43 generates the following warning: [ 851.560519] ------------[ cut here ]------------ [ 851.560531] WARNING: at drivers/mmc/core/core.c:237 mmc_wait_for_cmd+0x88/0x90() [ 851.560534] Hardware name: 20552PG [ 851.560536] Modules linked in: b43(-) ssb mmc_block binfmt_misc rfcomm sco bnep ppdev l2cap ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp kvm_intel kvm arc4 iwlagn snd_hda_codec_conexant snd_hda_intel snd_hda_codec iwlcore snd_hwdep snd_pcm thinkpad_acpi mac80211 snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq r852 joydev snd_timer sm_common pcmcia nand snd_seq_device cfg80211 sdhci_pci btusb psmouse tpm_tis yenta_socket nand_ids lp snd pcmcia_rsrc nand_ecc bluetooth sdhci tpm pcmcia_core parport mtd snd_page_alloc serio_raw tpm_bios soundcore nvram led_class sha256_generic aes_i586 aes_generic dm_crypt i915 drm_kms_helper drm ahci intel_agp i2c_algo_bit intel_gtt e1000e libahci video agpgart output [ 851.560620] Pid: 2504, comm: rmmod Not tainted 2.6.36-titan0+ #1 [ 851.560622] Call Trace: [ 851.560631] [<c014a102>] warn_slowpath_common+0x72/0xa0 [ 851.560636] [<c04d94c8>] ? mmc_wait_for_cmd+0x88/0x90 [ 851.560641] [<c04d94c8>] ? mmc_wait_for_cmd+0x88/0x90 [ 851.560645] [<c014a152>] warn_slowpath_null+0x22/0x30 [ 851.560649] [<c04d94c8>] mmc_wait_for_cmd+0x88/0x90 [ 851.560655] [<c0401585>] ? device_release+0x25/0x80 [ 851.560660] [<c04df210>] mmc_io_rw_direct_host+0xa0/0x150 [ 851.560665] [<c04df370>] mmc_io_rw_direct+0x30/0x40 [ 851.560669] [<c04e06e7>] sdio_disable_func+0x37/0xa0 [ 851.560683] [<f8dfcb80>] b43_sdio_remove+0x30/0x50 [b43] [ 851.560687] [<c04df8cc>] sdio_bus_remove+0x1c/0x60 [ 851.560692] [<c016d39f>] ? blocking_notifier_call_chain+0x1f/0x30 [ 851.560697] [<c0404991>] __device_release_driver+0x51/0xb0 [ 851.560701] [<c0404a7f>] driver_detach+0x8f/0xa0 [ 851.560705] [<c0403c83>] bus_remove_driver+0x63/0xa0 [ 851.560709] [<c0405039>] driver_unregister+0x49/0x80 [ 851.560713] [<c0405039>] ? driver_unregister+0x49/0x80 [ 851.560718] [<c04dfad7>] sdio_unregister_driver+0x17/0x20 [ 851.560727] [<f8dfcb42>] b43_sdio_exit+0x12/0x20 [b43] [ 851.560734] [<f8dfe76f>] b43_exit+0x17/0x3c [b43] [ 851.560740] [<c017fb8d>] sys_delete_module+0x13d/0x200 [ 851.560747] [<c01fd7d2>] ? do_munmap+0x212/0x300 [ 851.560752] [<c010311f>] sysenter_do_call+0x12/0x28 [ 851.560757] ---[ end trace 31e14488072d2f7d ]--- [ 851.560759] ------------[ cut here ]------------ The warning is caused by b43 not claiming the device before calling sdio_disable_func(). Signed-off-by: Larry Finger <[email protected]> Reported-by: Arnd Hannemann <[email protected]> Tested-by: Arnd Hannemann <[email protected]> Cc: Stable <[email protected]> Signed-off-by: John W. Linville <[email protected]>