linux/fs/btrfs
Julia Lawall 2354d08fe9 Btrfs: use memdup_user helpers
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 <julia@diku.dk>
Cc: Chris Mason <chris.mason@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2010-10-29 15:14:18 -04:00
..
acl.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable 2010-06-11 14:18:47 -07:00
async-thread.c Btrfs: don't walk around with task->state != TASK_RUNNING 2010-05-25 10:34:58 -04:00
async-thread.h
btrfs_inode.h Btrfs: Metadata reservation for orphan inodes 2010-05-25 10:34:52 -04:00
compat.h
compression.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable 2010-04-05 13:21:15 -07:00
compression.h
ctree.c Btrfs: don't loop forever on bad btree blocks 2010-10-29 09:31:30 -04:00
ctree.h Merge branch 'bug-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-work 2010-10-29 09:27:49 -04:00
delayed-ref.c Btrfs: Integrate metadata reservation with start_transaction 2010-05-25 10:34:50 -04:00
delayed-ref.h Btrfs: Integrate metadata reservation with start_transaction 2010-05-25 10:34:50 -04:00
dir-item.c
disk-io.c Btrfs: write out free space cache 2010-10-29 09:26:29 -04:00
disk-io.h Btrfs: use async helpers for DIO write checksumming 2010-05-25 10:34:58 -04:00
export.c
export.h
extent_io.c Btrfs: Switch the extent buffer rbtree into a radix tree 2010-10-29 11:25:45 -04:00
extent_io.h Btrfs: Switch the extent buffer rbtree into a radix tree 2010-10-29 11:25:45 -04:00
extent_map.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
extent_map.h
extent-tree.c Btrfs: use the flusher threads for delalloc throttling 2010-10-29 11:25:36 -04:00
file-item.c Btrfs: add basic DIO read/write support 2010-05-25 10:34:57 -04:00
file.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable 2010-06-11 14:18:47 -07:00
free-space-cache.c Btrfs: Add a clear_cache mount option 2010-10-29 09:26:36 -04:00
free-space-cache.h Btrfs: load free space cache if it exists 2010-10-29 09:26:35 -04:00
hash.h
inode-item.c Btrfs: Integrate metadata reservation with start_transaction 2010-05-25 10:34:50 -04:00
inode-map.c
inode.c Merge branch 'bug-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-work 2010-10-29 09:27:49 -04:00
ioctl.c Btrfs: use memdup_user helpers 2010-10-29 15:14:18 -04:00
ioctl.h Btrfs: use __u64 types in ioctl.h 2010-03-16 14:24:27 -04:00
Kconfig
locking.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
locking.h
Makefile
ordered-data.c Btrfs: add basic DIO read/write support 2010-05-25 10:34:57 -04:00
ordered-data.h Btrfs: add basic DIO read/write support 2010-05-25 10:34:57 -04:00
orphan.c
print-tree.c
print-tree.h
ref-cache.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ref-cache.h
relocation.c Merge branch 'bug-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-work 2010-10-29 09:27:49 -04:00
root-tree.c Btrfs: avoid BUG when dropping root and reference in same transaction 2010-06-11 15:57:39 -04:00
struct-funcs.c
super.c Merge branch 'bug-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-work 2010-10-29 09:27:49 -04:00
sysfs.c
transaction.c Merge branch 'bug-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-work 2010-10-29 09:27:49 -04:00
transaction.h Btrfs: create special free space cache inode 2010-10-28 15:59:09 -04:00
tree-defrag.c Btrfs: Introduce global metadata reservation 2010-05-25 10:34:52 -04:00
tree-log.c Btrfs: Metadata ENOSPC handling for tree log 2010-05-25 10:34:53 -04:00
tree-log.h Btrfs: Metadata ENOSPC handling for tree log 2010-05-25 10:34:53 -04:00
version.h
version.sh
volumes.c Btrfs: fix raid code for removing missing drives 2010-10-29 11:25:46 -04:00
volumes.h
xattr.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable 2010-05-27 10:43:44 -07:00
xattr.h btrfs: constify xattr_handler 2010-05-21 18:31:18 -04:00
zlib.c