pstore/zone: cap the maximum device size
authorChristoph Hellwig <hch@lst.de>
Fri, 16 Oct 2020 13:20:39 +0000 (15:20 +0200)
committerKees Cook <keescook@chromium.org>
Tue, 1 Dec 2020 19:32:55 +0000 (11:32 -0800)
Introduce an abritrary 128MiB cap to avoid malloc failures when using
a larger block device.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: WeiXiong Liao <gmpy.liaowx@gmail.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20201016132047.3068029-2-hch@lst.de
fs/pstore/zone.c

index 3ce8921..5266ccb 100644 (file)
@@ -1299,6 +1299,10 @@ int register_pstore_zone(struct pstore_zone_info *info)
                pr_warn("total_size must be >= 4096\n");
                return -EINVAL;
        }
+       if (info->total_size > SZ_128M) {
+               pr_warn("capping size to 128MiB\n");
+               info->total_size = SZ_128M;
+       }
 
        if (!info->kmsg_size && !info->pmsg_size && !info->console_size &&
            !info->ftrace_size) {