Skip to content

Commit 51518aa

Browse files
committed
Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt
Pull fsverity updates from Eric Biggers: "A couple small cleanups for fs/verity/" * tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt: fs-verity: Use struct_size() helper in enable_verity() fs-verity: remove unused parameter desc_size in fsverity_create_info()
2 parents c1f4cfd + e6af1bb commit 51518aa

4 files changed

Lines changed: 10 additions & 17 deletions

File tree

fs/verity/enable.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ static int enable_verity(struct file *filp,
202202
const struct fsverity_operations *vops = inode->i_sb->s_vop;
203203
struct merkle_tree_params params = { };
204204
struct fsverity_descriptor *desc;
205-
size_t desc_size = sizeof(*desc) + arg->sig_size;
205+
size_t desc_size = struct_size(desc, signature, arg->sig_size);
206206
struct fsverity_info *vi;
207207
int err;
208208

@@ -281,7 +281,7 @@ static int enable_verity(struct file *filp,
281281
* from disk. This is simpler, and it serves as an extra check that the
282282
* metadata we're writing is valid before actually enabling verity.
283283
*/
284-
vi = fsverity_create_info(inode, desc, desc_size);
284+
vi = fsverity_create_info(inode, desc);
285285
if (IS_ERR(vi)) {
286286
err = PTR_ERR(vi);
287287
goto rollback;

fs/verity/fsverity_private.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,16 +122,14 @@ int fsverity_init_merkle_tree_params(struct merkle_tree_params *params,
122122
const u8 *salt, size_t salt_size);
123123

124124
struct fsverity_info *fsverity_create_info(const struct inode *inode,
125-
struct fsverity_descriptor *desc,
126-
size_t desc_size);
125+
struct fsverity_descriptor *desc);
127126

128127
void fsverity_set_info(struct inode *inode, struct fsverity_info *vi);
129128

130129
void fsverity_free_info(struct fsverity_info *vi);
131130

132131
int fsverity_get_descriptor(struct inode *inode,
133-
struct fsverity_descriptor **desc_ret,
134-
size_t *desc_size_ret);
132+
struct fsverity_descriptor **desc_ret);
135133

136134
int __init fsverity_init_info_cache(void);
137135
void __init fsverity_exit_info_cache(void);

fs/verity/open.c

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,7 @@ static int compute_file_digest(struct fsverity_hash_alg *hash_alg,
147147
* fsverity_descriptor must have already undergone basic validation.
148148
*/
149149
struct fsverity_info *fsverity_create_info(const struct inode *inode,
150-
struct fsverity_descriptor *desc,
151-
size_t desc_size)
150+
struct fsverity_descriptor *desc)
152151
{
153152
struct fsverity_info *vi;
154153
int err;
@@ -264,8 +263,7 @@ static bool validate_fsverity_descriptor(struct inode *inode,
264263
* the filesystem, and do basic validation of it.
265264
*/
266265
int fsverity_get_descriptor(struct inode *inode,
267-
struct fsverity_descriptor **desc_ret,
268-
size_t *desc_size_ret)
266+
struct fsverity_descriptor **desc_ret)
269267
{
270268
int res;
271269
struct fsverity_descriptor *desc;
@@ -297,7 +295,6 @@ int fsverity_get_descriptor(struct inode *inode,
297295
}
298296

299297
*desc_ret = desc;
300-
*desc_size_ret = res;
301298
return 0;
302299
}
303300

@@ -306,17 +303,16 @@ static int ensure_verity_info(struct inode *inode)
306303
{
307304
struct fsverity_info *vi = fsverity_get_info(inode);
308305
struct fsverity_descriptor *desc;
309-
size_t desc_size;
310306
int err;
311307

312308
if (vi)
313309
return 0;
314310

315-
err = fsverity_get_descriptor(inode, &desc, &desc_size);
311+
err = fsverity_get_descriptor(inode, &desc);
316312
if (err)
317313
return err;
318314

319-
vi = fsverity_create_info(inode, desc, desc_size);
315+
vi = fsverity_create_info(inode, desc);
320316
if (IS_ERR(vi)) {
321317
err = PTR_ERR(vi);
322318
goto out_free_desc;

fs/verity/read_metadata.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ static int fsverity_read_descriptor(struct inode *inode,
101101
size_t desc_size;
102102
int res;
103103

104-
res = fsverity_get_descriptor(inode, &desc, &desc_size);
104+
res = fsverity_get_descriptor(inode, &desc);
105105
if (res)
106106
return res;
107107

@@ -119,10 +119,9 @@ static int fsverity_read_signature(struct inode *inode,
119119
void __user *buf, u64 offset, int length)
120120
{
121121
struct fsverity_descriptor *desc;
122-
size_t desc_size;
123122
int res;
124123

125-
res = fsverity_get_descriptor(inode, &desc, &desc_size);
124+
res = fsverity_get_descriptor(inode, &desc);
126125
if (res)
127126
return res;
128127

0 commit comments

Comments
 (0)