diff options
author | Kees Cook <keescook@chromium.org> | 2021-06-15 18:40:04 +0300 |
---|---|---|
committer | Kees Cook <keescook@chromium.org> | 2021-06-16 18:19:37 +0300 |
commit | 6eed261f48d5a53f369c88d4296621f2d8647493 (patch) | |
tree | 9fb97f0bff3a4c9f9a3da5972805d69628ffe425 /fs/pstore | |
parent | d07f6ca923ea0927a1024dfccafc5b53b61cfecc (diff) | |
download | linux-6eed261f48d5a53f369c88d4296621f2d8647493.tar.xz |
pstore/blk: Improve failure reporting
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>
Diffstat (limited to 'fs/pstore')
-rw-r--r-- | fs/pstore/blk.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/fs/pstore/blk.c b/fs/pstore/blk.c index 4bb8a344957a..eca83820fb5d 100644 --- a/fs/pstore/blk.c +++ b/fs/pstore/blk.c @@ -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) |