pstore/blk: Improve failure reporting
authorKees Cook <keescook@chromium.org>
Tue, 15 Jun 2021 15:40:04 +0000 (08:40 -0700)
committerKees Cook <keescook@chromium.org>
Wed, 16 Jun 2021 15:19:37 +0000 (08:19 -0700)
There was no feedback on bad registration attempts. Add details on the
failure cause.

Cc: Anton Vorontsov <anton@enomsg.org>
Cc: Colin Cross <ccross@android.com>
Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
fs/pstore/blk.c

index 4bb8a344957af541b40ac62f28be77b9d04d09d4..eca83820fb5dc68c14a49ebe8ea663172f2718a5 100644 (file)
@@ -114,8 +114,22 @@ static int __register_pstore_device(struct pstore_device_info *dev)
 
        lockdep_assert_held(&pstore_blk_lock);
 
-       if (!dev || !dev->total_size || !dev->read || !dev->write)
+       if (!dev) {
+               pr_err("NULL device info\n");
                return -EINVAL;
+       }
+       if (!dev->total_size) {
+               pr_err("zero sized device\n");
+               return -EINVAL;
+       }
+       if (!dev->read) {
+               pr_err("no read handler for device\n");
+               return -EINVAL;
+       }
+       if (!dev->write) {
+               pr_err("no write handler for device\n");
+               return -EINVAL;
+       }
 
        /* someone already registered before */
        if (pstore_zone_info)