* fs/pstore/zone.c:942 register_pstore_zone() warn: inconsistent returns 'cxt->pstore_zone_info_lock'.
@ 2021-01-16 22:45 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-01-16 22:45 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 6947 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: WeiXiong Liao <liaoweixiong@allwinnertech.com>
CC: Kees Cook <keescook@chromium.org>
Hi WeiXiong,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0da0a8a0a0e1845f495431c3d8d733d2bbf9e9e5
commit: 17639f67c1d61aba3c05e7703f75cd468f9d484f pstore/blk: Introduce backend for block devices
date: 8 months ago
:::::: branch date: 2 hours ago
:::::: commit date: 8 months ago
config: x86_64-randconfig-m001-20210117 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
fs/pstore/zone.c:942 register_pstore_zone() warn: inconsistent returns 'cxt->pstore_zone_info_lock'.
vim +942 fs/pstore/zone.c
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 871
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 872 /*
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 873 * the @read and @write must be applied.
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 874 * if no @read, pstore may mount failed.
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 875 * if no @write, pstore do not support to remove record file.
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 876 */
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 877 if (!info->read || !info->write) {
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 878 pr_err("no valid general read/write interface\n");
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 879 return -EINVAL;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 880 }
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 881
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 882 mutex_lock(&cxt->pstore_zone_info_lock);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 883 if (cxt->pstore_zone_info) {
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 884 pr_warn("'%s' already loaded: ignoring '%s'\n",
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 885 cxt->pstore_zone_info->name, info->name);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 886 mutex_unlock(&cxt->pstore_zone_info_lock);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 887 return -EBUSY;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 888 }
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 889 cxt->pstore_zone_info = info;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 890
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 891 pr_debug("register %s with properties:\n", info->name);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 892 pr_debug("\ttotal size : %ld Bytes\n", info->total_size);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 893 pr_debug("\tkmsg size : %ld Bytes\n", info->kmsg_size);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 894
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 895 err = psz_alloc_zones(cxt);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 896 if (err) {
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 897 pr_err("alloc zones failed\n");
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 898 goto fail_out;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 899 }
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 900
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 901 if (info->kmsg_size) {
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 902 cxt->pstore.bufsize = cxt->kpszs[0]->buffer_size -
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 903 sizeof(struct psz_kmsg_header);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 904 cxt->pstore.buf = kzalloc(cxt->pstore.bufsize, GFP_KERNEL);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 905 if (!cxt->pstore.buf) {
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 906 err = -ENOMEM;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 907 goto fail_free;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 908 }
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 909 }
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 910 cxt->pstore.data = cxt;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 911
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 912 pr_info("registered %s as backend for", info->name);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 913 cxt->pstore.max_reason = info->max_reason;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 914 cxt->pstore.name = info->name;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 915 if (info->kmsg_size) {
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 916 cxt->pstore.flags |= PSTORE_FLAGS_DMESG;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 917 pr_cont(" kmsg(%s",
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 918 kmsg_dump_reason_str(cxt->pstore.max_reason));
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 919 if (cxt->pstore_zone_info->panic_write)
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 920 pr_cont(",panic_write");
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 921 pr_cont(")");
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 922 }
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 923 pr_cont("\n");
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 924
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 925 err = pstore_register(&cxt->pstore);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 926 if (err) {
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 927 pr_err("registering with pstore failed\n");
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 928 goto fail_free;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 929 }
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 930 mutex_unlock(&pstore_zone_cxt.pstore_zone_info_lock);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 931
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 932 return 0;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 933
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 934 fail_free:
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 935 kfree(cxt->pstore.buf);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 936 cxt->pstore.buf = NULL;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 937 cxt->pstore.bufsize = 0;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 938 psz_free_all_zones(cxt);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 939 fail_out:
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 940 pstore_zone_cxt.pstore_zone_info = NULL;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 941 mutex_unlock(&pstore_zone_cxt.pstore_zone_info_lock);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 @942 return err;
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 943 }
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 944 EXPORT_SYMBOL_GPL(register_pstore_zone);
d26c3321fe18dc74 WeiXiong Liao 2020-03-25 945
:::::: The code at line 942 was first introduced by commit
:::::: d26c3321fe18dc74517dc1f518d584aa33b0a851 pstore/zone: Introduce common layer to manage storage zones
:::::: TO: WeiXiong Liao <liaoweixiong@allwinnertech.com>
:::::: CC: Kees Cook <keescook@chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 32266 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-01-16 22:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-16 22:45 fs/pstore/zone.c:942 register_pstore_zone() warn: inconsistent returns 'cxt->pstore_zone_info_lock' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.