diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2022-07-28 18:21:16 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2022-07-28 18:21:16 -0700 |
| commit | 272ac32f566e3f925b20c231a2b30f6893aa258a (patch) | |
| tree | c7c04a13d89349f0d007914904347df79438f3fa /mm/shmem.c | |
| parent | 623cd87006983935de6c2ad8e2d50e68f1b7d6e7 (diff) | |
| parent | 33ea1340bafe1f394e5bf96fceef73e9771d066b (diff) | |
| download | net-272ac32f566e3f925b20c231a2b30f6893aa258a.tar.gz | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
No conflicts.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'mm/shmem.c')
| -rw-r--r-- | mm/shmem.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/mm/shmem.c b/mm/shmem.c index a6f56530813387..b7f2d4a5686733 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -3392,7 +3392,7 @@ static int shmem_parse_one(struct fs_context *fc, struct fs_parameter *param) break; case Opt_nr_blocks: ctx->blocks = memparse(param->string, &rest); - if (*rest) + if (*rest || ctx->blocks > S64_MAX) goto bad_value; ctx->seen |= SHMEM_SEEN_BLOCKS; break; @@ -3514,10 +3514,7 @@ static int shmem_reconfigure(struct fs_context *fc) raw_spin_lock(&sbinfo->stat_lock); inodes = sbinfo->max_inodes - sbinfo->free_inodes; - if (ctx->blocks > S64_MAX) { - err = "Number of blocks too large"; - goto out; - } + if ((ctx->seen & SHMEM_SEEN_BLOCKS) && ctx->blocks) { if (!sbinfo->max_blocks) { err = "Cannot retroactively limit size"; |
