file.c (4342306f0f0d5ff4315a204d315c1b51b914fca5) file.c (195c52bdd5d5ecfdabf5a7c6159efe299e534f84)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 *
4 * Copyright (C) 2019-2021 Paragon Software GmbH, All rights reserved.
5 *
6 * regular file handling primitives for ntfs-based filesystems
7 */
8#include <linux/backing-dev.h>

--- 886 unchanged lines hidden (view full) ---

895 /*
896 * frame_size == 8K if cluster 512
897 * frame_size == 64K if cluster 4096
898 */
899 ntfs_inode_warn(inode, "page size is bigger than frame size");
900 return -EOPNOTSUPP;
901 }
902
1// SPDX-License-Identifier: GPL-2.0
2/*
3 *
4 * Copyright (C) 2019-2021 Paragon Software GmbH, All rights reserved.
5 *
6 * regular file handling primitives for ntfs-based filesystems
7 */
8#include <linux/backing-dev.h>

--- 886 unchanged lines hidden (view full) ---

895 /*
896 * frame_size == 8K if cluster 512
897 * frame_size == 64K if cluster 4096
898 */
899 ntfs_inode_warn(inode, "page size is bigger than frame size");
900 return -EOPNOTSUPP;
901 }
902
903 pages = ntfs_malloc(pages_per_frame * sizeof(struct page *));
903 pages = kmalloc(pages_per_frame * sizeof(struct page *), GFP_NOFS);
904 if (!pages)
905 return -ENOMEM;
906
907 current->backing_dev_info = inode_to_bdi(inode);
908 err = file_remove_privs(file);
909 if (err)
910 goto out;
911

--- 159 unchanged lines hidden (view full) ---

1071
1072 pos += copied;
1073 written += copied;
1074
1075 count = iov_iter_count(from);
1076 }
1077
1078out:
904 if (!pages)
905 return -ENOMEM;
906
907 current->backing_dev_info = inode_to_bdi(inode);
908 err = file_remove_privs(file);
909 if (err)
910 goto out;
911

--- 159 unchanged lines hidden (view full) ---

1071
1072 pos += copied;
1073 written += copied;
1074
1075 count = iov_iter_count(from);
1076 }
1077
1078out:
1079 ntfs_free(pages);
1079 kfree(pages);
1080
1081 current->backing_dev_info = NULL;
1082
1083 if (err < 0)
1084 return err;
1085
1086 iocb->ki_pos += written;
1087 if (iocb->ki_pos > ni->i_valid)

--- 165 unchanged lines hidden ---
1080
1081 current->backing_dev_info = NULL;
1082
1083 if (err < 0)
1084 return err;
1085
1086 iocb->ki_pos += written;
1087 if (iocb->ki_pos > ni->i_valid)

--- 165 unchanged lines hidden ---