From: Alon Zahavi <[email protected]>
The bug occours due to a misuse of `attr` variable instead of `attr_b`.
`attr` is being initialized as NULL, then being derenfernced
as `attr->res.data_size`.
This bug causes a crash of the ntfs3 driver itself,
If compiled directly to the kernel, it crashes the whole system.
Signed-off-by: Alon Zahavi <[email protected]>
Co-developed-by: Tal Lossos <[email protected]>
Signed-off-by: Tal Lossos <[email protected]>
---
fs/ntfs3/attrib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ntfs3/attrib.c b/fs/ntfs3/attrib.c
index e8c00dda42ad..4e74bc8f01ed 100644
--- a/fs/ntfs3/attrib.c
+++ b/fs/ntfs3/attrib.c
@@ -1949,7 +1949,7 @@ int attr_punch_hole(struct ntfs_inode *ni, u64 vbo, u64 bytes, u32 *frame_size)
return -ENOENT;
if (!attr_b->non_res) {
- u32 data_size = le32_to_cpu(attr->res.data_size);
+ u32 data_size = le32_to_cpu(attr_b->res.data_size);
u32 from, to;
if (vbo > data_size)
--
2.25.1
On 8/15/22 14:07, Alon Zahavi wrote:
> From: Alon Zahavi <[email protected]>
>
> The bug occours due to a misuse of `attr` variable instead of `attr_b`.
> `attr` is being initialized as NULL, then being derenfernced
> as `attr->res.data_size`.
>
> This bug causes a crash of the ntfs3 driver itself,
> If compiled directly to the kernel, it crashes the whole system.
>
> Signed-off-by: Alon Zahavi <[email protected]>
> Co-developed-by: Tal Lossos <[email protected]>
> Signed-off-by: Tal Lossos <[email protected]>
> ---
> fs/ntfs3/attrib.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ntfs3/attrib.c b/fs/ntfs3/attrib.c
> index e8c00dda42ad..4e74bc8f01ed 100644
> --- a/fs/ntfs3/attrib.c
> +++ b/fs/ntfs3/attrib.c
> @@ -1949,7 +1949,7 @@ int attr_punch_hole(struct ntfs_inode *ni, u64 vbo, u64 bytes, u32 *frame_size)
> return -ENOENT;
>
> if (!attr_b->non_res) {
> - u32 data_size = le32_to_cpu(attr->res.data_size);
> + u32 data_size = le32_to_cpu(attr_b->res.data_size);
> u32 from, to;
>
> if (vbo > data_size)
Applied, thanks!
Hello,
On Mon, 15 Aug 2022 14:07:12 +0300 Alon Zahavi <[email protected]> wrote:
> From: Alon Zahavi <[email protected]>
>
> The bug occours due to a misuse of `attr` variable instead of `attr_b`.
> `attr` is being initialized as NULL, then being derenfernced
> as `attr->res.data_size`.
>
> This bug causes a crash of the ntfs3 driver itself,
> If compiled directly to the kernel, it crashes the whole system.
>
> Signed-off-by: Alon Zahavi <[email protected]>
> Co-developed-by: Tal Lossos <[email protected]>
> Signed-off-by: Tal Lossos <[email protected]>
This patch has now merged in mainline as
6d5c9e79b726cc473d40e9cb60976dbe8e669624. stable@, could you please merge this
in stable kernels?
Fixes: be71b5cba2e64 ("fs/ntfs3: Add attrib operations") # 5.14
Thanks,
SJ
> ---
> fs/ntfs3/attrib.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ntfs3/attrib.c b/fs/ntfs3/attrib.c
> index e8c00dda42ad..4e74bc8f01ed 100644
> --- a/fs/ntfs3/attrib.c
> +++ b/fs/ntfs3/attrib.c
> @@ -1949,7 +1949,7 @@ int attr_punch_hole(struct ntfs_inode *ni, u64 vbo, u64 bytes, u32 *frame_size)
> return -ENOENT;
>
> if (!attr_b->non_res) {
> - u32 data_size = le32_to_cpu(attr->res.data_size);
> + u32 data_size = le32_to_cpu(attr_b->res.data_size);
> u32 from, to;
>
> if (vbo > data_size)
> --
> 2.25.1
>
>
Hello,
On Mon, 15 Aug 2022 14:07:12 +0300 Alon Zahavi <[email protected]> wrote:
> From: Alon Zahavi <[email protected]>
>
> The bug occours due to a misuse of `attr` variable instead of `attr_b`.
> `attr` is being initialized as NULL, then being derenfernced
> as `attr->res.data_size`.
>
> This bug causes a crash of the ntfs3 driver itself,
> If compiled directly to the kernel, it crashes the whole system.
>
> Signed-off-by: Alon Zahavi <[email protected]>
> Co-developed-by: Tal Lossos <[email protected]>
> Signed-off-by: Tal Lossos <[email protected]>
This patch has now merged in mainline as
6d5c9e79b726cc473d40e9cb60976dbe8e669624. stable@, could you please merge this
in stable kernels?
Fixes: be71b5cba2e64 ("fs/ntfs3: Add attrib operations") # 5.14
Thanks,
SJ
> ---
> fs/ntfs3/attrib.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ntfs3/attrib.c b/fs/ntfs3/attrib.c
> index e8c00dda42ad..4e74bc8f01ed 100644
> --- a/fs/ntfs3/attrib.c
> +++ b/fs/ntfs3/attrib.c
> @@ -1949,7 +1949,7 @@ int attr_punch_hole(struct ntfs_inode *ni, u64 vbo, u64 bytes, u32 *frame_size)
> return -ENOENT;
>
> if (!attr_b->non_res) {
> - u32 data_size = le32_to_cpu(attr->res.data_size);
> + u32 data_size = le32_to_cpu(attr_b->res.data_size);
> u32 from, to;
>
> if (vbo > data_size)
> --
> 2.25.1
>
>
On Tue, Jan 17, 2023 at 08:21:36PM +0000, SeongJae Park wrote:
> Hello,
>
> On Mon, 15 Aug 2022 14:07:12 +0300 Alon Zahavi <[email protected]> wrote:
>
> > From: Alon Zahavi <[email protected]>
> >
> > The bug occours due to a misuse of `attr` variable instead of `attr_b`.
> > `attr` is being initialized as NULL, then being derenfernced
> > as `attr->res.data_size`.
> >
> > This bug causes a crash of the ntfs3 driver itself,
> > If compiled directly to the kernel, it crashes the whole system.
> >
> > Signed-off-by: Alon Zahavi <[email protected]>
> > Co-developed-by: Tal Lossos <[email protected]>
> > Signed-off-by: Tal Lossos <[email protected]>
>
> This patch has now merged in mainline as
> 6d5c9e79b726cc473d40e9cb60976dbe8e669624. stable@, could you please merge this
> in stable kernels?
>
> Fixes: be71b5cba2e64 ("fs/ntfs3: Add attrib operations") # 5.14
>
Now queued up, thanks.
greg k-h