* [PATCH] eCryptfs: Regression in unencrypted filename symlinks
@ 2009-02-07 0:06 Tyler Hicks
2009-02-07 16:09 ` Dave Kleikamp
0 siblings, 1 reply; 2+ messages in thread
From: Tyler Hicks @ 2009-02-07 0:06 UTC (permalink / raw)
To: linux-kernel; +Cc: Linus Torvalds, Andrew Morton, Dave Kleikamp
The addition of filename encryption caused a regression in unencrypted
filename symlink support. ecryptfs_copy_filename() is used when dealing
with unencrypted filenames and it reported that the new, copied filename
was a character longer than it should have been.
This caused the return value of readlink() to count the NULL byte of the
symlink target. Most applications don't care about the extra NULL byte,
but a version control system (bzr) helped in discovering the bug.
Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
---
fs/ecryptfs/crypto.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c
index c01e043..f6caeb1 100644
--- a/fs/ecryptfs/crypto.c
+++ b/fs/ecryptfs/crypto.c
@@ -1716,7 +1716,7 @@ static int ecryptfs_copy_filename(char **copied_name, size_t *copied_name_size,
{
int rc = 0;
- (*copied_name) = kmalloc((name_size + 2), GFP_KERNEL);
+ (*copied_name) = kmalloc((name_size + 1), GFP_KERNEL);
if (!(*copied_name)) {
rc = -ENOMEM;
goto out;
@@ -1726,7 +1726,7 @@ static int ecryptfs_copy_filename(char **copied_name, size_t *copied_name_size,
* in printing out the
* string in debug
* messages */
- (*copied_name_size) = (name_size + 1);
+ (*copied_name_size) = name_size;
out:
return rc;
}
--
1.5.3.7
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] eCryptfs: Regression in unencrypted filename symlinks
2009-02-07 0:06 [PATCH] eCryptfs: Regression in unencrypted filename symlinks Tyler Hicks
@ 2009-02-07 16:09 ` Dave Kleikamp
0 siblings, 0 replies; 2+ messages in thread
From: Dave Kleikamp @ 2009-02-07 16:09 UTC (permalink / raw)
To: Tyler Hicks; +Cc: linux-kernel, Linus Torvalds, Andrew Morton
On Fri, 2009-02-06 at 18:06 -0600, Tyler Hicks wrote:
> The addition of filename encryption caused a regression in unencrypted
> filename symlink support. ecryptfs_copy_filename() is used when dealing
> with unencrypted filenames and it reported that the new, copied filename
> was a character longer than it should have been.
>
> This caused the return value of readlink() to count the NULL byte of the
> symlink target. Most applications don't care about the extra NULL byte,
> but a version control system (bzr) helped in discovering the bug.
>
> Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
Acked-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
> ---
> fs/ecryptfs/crypto.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c
> index c01e043..f6caeb1 100644
> --- a/fs/ecryptfs/crypto.c
> +++ b/fs/ecryptfs/crypto.c
> @@ -1716,7 +1716,7 @@ static int ecryptfs_copy_filename(char **copied_name, size_t *copied_name_size,
> {
> int rc = 0;
>
> - (*copied_name) = kmalloc((name_size + 2), GFP_KERNEL);
> + (*copied_name) = kmalloc((name_size + 1), GFP_KERNEL);
> if (!(*copied_name)) {
> rc = -ENOMEM;
> goto out;
> @@ -1726,7 +1726,7 @@ static int ecryptfs_copy_filename(char **copied_name, size_t *copied_name_size,
> * in printing out the
> * string in debug
> * messages */
> - (*copied_name_size) = (name_size + 1);
> + (*copied_name_size) = name_size;
> out:
> return rc;
> }
--
David Kleikamp
IBM Linux Technology Center
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-02-07 16:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-07 0:06 [PATCH] eCryptfs: Regression in unencrypted filename symlinks Tyler Hicks
2009-02-07 16:09 ` Dave Kleikamp
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.