Messages in this thread Patch in this message | | | Subject | Re: [PATCH] fix an endianness bug in ext4_encrypted_follow_link() | From | Joe Perches <> | Date | Thu, 26 Nov 2015 11:40:37 -0800 |
| |
(cc'ing Julia Lawall)
On Thu, 2015-11-26 at 15:27 +0000, Al Viro wrote: > applying le32_to_cpu() to 16bit value is a bad idea...
Julia, perhaps you or your crew could produce a coccinelle test for this class of error?
> diff --git a/fs/ext4/symlink.c b/fs/ext4/symlink.c > index abe2401..e8e7af6 100644 > --- a/fs/ext4/symlink.c > +++ b/fs/ext4/symlink.c > @@ -52,7 +52,7 @@ static const char *ext4_encrypted_follow_link(struct dentry *dentry, void **cook > /* Symlink is encrypted */ > sd = (struct ext4_encrypted_symlink_data *)caddr; > cstr.name = sd->encrypted_path; > - cstr.len = le32_to_cpu(sd->len); > + cstr.len = le16_to_cpu(sd->len); > if ((cstr.len + > sizeof(struct ext4_encrypted_symlink_data) - 1) > > max_size) {
| |