diff options
| author | Anton Altaparmakov <aia21@cantab.net> | 2006-01-19 11:39:33 -0500 |
|---|---|---|
| committer | Anton Altaparmakov <aia21@cantab.net> | 2006-01-19 11:39:33 -0500 |
| commit | 944d79559d154c12becde0dab327016cf438f46c (patch) | |
| tree | 50c101806f4d3b6585222dda060559eb4f3e005a /fs/ncpfs/ioctl.c | |
| parent | d087e4bdd24ebe3ae3d0b265b6573ec901af4b4b (diff) | |
| parent | 0f36b018b2e314d45af86449f1a97facb1fbe300 (diff) | |
Merge branch 'master' of /usr/src/ntfs-2.6/
Diffstat (limited to 'fs/ncpfs/ioctl.c')
| -rw-r--r-- | fs/ncpfs/ioctl.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/fs/ncpfs/ioctl.c b/fs/ncpfs/ioctl.c index fd3efdca5ae3..eb3813ad136f 100644 --- a/fs/ncpfs/ioctl.c +++ b/fs/ncpfs/ioctl.c | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | #include <linux/config.h> | 10 | #include <linux/config.h> |
| 11 | 11 | ||
| 12 | #include <asm/uaccess.h> | 12 | #include <asm/uaccess.h> |
| 13 | #include <linux/capability.h> | ||
| 13 | #include <linux/errno.h> | 14 | #include <linux/errno.h> |
| 14 | #include <linux/fs.h> | 15 | #include <linux/fs.h> |
| 15 | #include <linux/ioctl.h> | 16 | #include <linux/ioctl.h> |
| @@ -517,10 +518,11 @@ outrel: | |||
| 517 | if (user.object_name_len > NCP_OBJECT_NAME_MAX_LEN) | 518 | if (user.object_name_len > NCP_OBJECT_NAME_MAX_LEN) |
| 518 | return -ENOMEM; | 519 | return -ENOMEM; |
| 519 | if (user.object_name_len) { | 520 | if (user.object_name_len) { |
| 520 | newname = ncp_kmalloc(user.object_name_len, GFP_USER); | 521 | newname = kmalloc(user.object_name_len, GFP_USER); |
| 521 | if (!newname) return -ENOMEM; | 522 | if (!newname) |
| 523 | return -ENOMEM; | ||
| 522 | if (copy_from_user(newname, user.object_name, user.object_name_len)) { | 524 | if (copy_from_user(newname, user.object_name, user.object_name_len)) { |
| 523 | ncp_kfree_s(newname, user.object_name_len); | 525 | kfree(newname); |
| 524 | return -EFAULT; | 526 | return -EFAULT; |
| 525 | } | 527 | } |
| 526 | } else { | 528 | } else { |
| @@ -539,8 +541,8 @@ outrel: | |||
| 539 | server->priv.len = 0; | 541 | server->priv.len = 0; |
| 540 | server->priv.data = NULL; | 542 | server->priv.data = NULL; |
| 541 | /* leave critical section */ | 543 | /* leave critical section */ |
| 542 | if (oldprivate) ncp_kfree_s(oldprivate, oldprivatelen); | 544 | kfree(oldprivate); |
| 543 | if (oldname) ncp_kfree_s(oldname, oldnamelen); | 545 | kfree(oldname); |
| 544 | return 0; | 546 | return 0; |
| 545 | } | 547 | } |
| 546 | case NCP_IOC_GETPRIVATEDATA: | 548 | case NCP_IOC_GETPRIVATEDATA: |
| @@ -580,10 +582,11 @@ outrel: | |||
| 580 | if (user.len > NCP_PRIVATE_DATA_MAX_LEN) | 582 | if (user.len > NCP_PRIVATE_DATA_MAX_LEN) |
| 581 | return -ENOMEM; | 583 | return -ENOMEM; |
| 582 | if (user.len) { | 584 | if (user.len) { |
| 583 | new = ncp_kmalloc(user.len, GFP_USER); | 585 | new = kmalloc(user.len, GFP_USER); |
| 584 | if (!new) return -ENOMEM; | 586 | if (!new) |
| 587 | return -ENOMEM; | ||
| 585 | if (copy_from_user(new, user.data, user.len)) { | 588 | if (copy_from_user(new, user.data, user.len)) { |
| 586 | ncp_kfree_s(new, user.len); | 589 | kfree(new); |
| 587 | return -EFAULT; | 590 | return -EFAULT; |
| 588 | } | 591 | } |
| 589 | } else { | 592 | } else { |
| @@ -595,7 +598,7 @@ outrel: | |||
| 595 | server->priv.len = user.len; | 598 | server->priv.len = user.len; |
| 596 | server->priv.data = new; | 599 | server->priv.data = new; |
| 597 | /* leave critical section */ | 600 | /* leave critical section */ |
| 598 | if (old) ncp_kfree_s(old, oldlen); | 601 | kfree(old); |
| 599 | return 0; | 602 | return 0; |
| 600 | } | 603 | } |
| 601 | 604 | ||
