* [char-misc:char-misc-testing 12/47] drivers/misc/open-dice.c:130 open_dice_probe() warn: impossible condition '(rmem->size > (~0)) => (0-u32max > u32max)'
@ 2022-02-09 12:05 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-02-09 12:05 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 5033 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: David Brazdil <dbrazdil@google.com>
CC: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git char-misc-testing
head: 0580565dd717cb135633ebdbc1d84fe6b0a3fa78
commit: f396ededbd8bf5911d588b683a3ce335844b7c89 [12/47] misc: open-dice: Add driver to expose DICE data to userspace
:::::: branch date: 5 hours ago
:::::: commit date: 5 days ago
config: powerpc-randconfig-m031-20220208 (https://download.01.org/0day-ci/archive/20220209/202202091905.4SY8mena-lkp(a)intel.com/config)
compiler: powerpc-linux-gcc (GCC) 11.2.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:
drivers/misc/open-dice.c:130 open_dice_probe() warn: impossible condition '(rmem->size > (~0)) => (0-u32max > u32max)'
vim +130 drivers/misc/open-dice.c
f396ededbd8bf5 David Brazdil 2022-01-26 115
f396ededbd8bf5 David Brazdil 2022-01-26 116 static int __init open_dice_probe(struct platform_device *pdev)
f396ededbd8bf5 David Brazdil 2022-01-26 117 {
f396ededbd8bf5 David Brazdil 2022-01-26 118 static unsigned int dev_idx;
f396ededbd8bf5 David Brazdil 2022-01-26 119 struct device *dev = &pdev->dev;
f396ededbd8bf5 David Brazdil 2022-01-26 120 struct reserved_mem *rmem;
f396ededbd8bf5 David Brazdil 2022-01-26 121 struct open_dice_drvdata *drvdata;
f396ededbd8bf5 David Brazdil 2022-01-26 122 int ret;
f396ededbd8bf5 David Brazdil 2022-01-26 123
f396ededbd8bf5 David Brazdil 2022-01-26 124 rmem = of_reserved_mem_lookup(dev->of_node);
f396ededbd8bf5 David Brazdil 2022-01-26 125 if (!rmem) {
f396ededbd8bf5 David Brazdil 2022-01-26 126 dev_err(dev, "failed to lookup reserved memory\n");
f396ededbd8bf5 David Brazdil 2022-01-26 127 return -EINVAL;
f396ededbd8bf5 David Brazdil 2022-01-26 128 }
f396ededbd8bf5 David Brazdil 2022-01-26 129
f396ededbd8bf5 David Brazdil 2022-01-26 @130 if (!rmem->size || (rmem->size > ULONG_MAX)) {
f396ededbd8bf5 David Brazdil 2022-01-26 131 dev_err(dev, "invalid memory region size\n");
f396ededbd8bf5 David Brazdil 2022-01-26 132 return -EINVAL;
f396ededbd8bf5 David Brazdil 2022-01-26 133 }
f396ededbd8bf5 David Brazdil 2022-01-26 134
f396ededbd8bf5 David Brazdil 2022-01-26 135 if (!PAGE_ALIGNED(rmem->base) || !PAGE_ALIGNED(rmem->size)) {
f396ededbd8bf5 David Brazdil 2022-01-26 136 dev_err(dev, "memory region must be page-aligned\n");
f396ededbd8bf5 David Brazdil 2022-01-26 137 return -EINVAL;
f396ededbd8bf5 David Brazdil 2022-01-26 138 }
f396ededbd8bf5 David Brazdil 2022-01-26 139
f396ededbd8bf5 David Brazdil 2022-01-26 140 drvdata = devm_kmalloc(dev, sizeof(*drvdata), GFP_KERNEL);
f396ededbd8bf5 David Brazdil 2022-01-26 141 if (!drvdata)
f396ededbd8bf5 David Brazdil 2022-01-26 142 return -ENOMEM;
f396ededbd8bf5 David Brazdil 2022-01-26 143
f396ededbd8bf5 David Brazdil 2022-01-26 144 *drvdata = (struct open_dice_drvdata){
f396ededbd8bf5 David Brazdil 2022-01-26 145 .lock = __MUTEX_INITIALIZER(drvdata->lock),
f396ededbd8bf5 David Brazdil 2022-01-26 146 .rmem = rmem,
f396ededbd8bf5 David Brazdil 2022-01-26 147 .misc = (struct miscdevice){
f396ededbd8bf5 David Brazdil 2022-01-26 148 .parent = dev,
f396ededbd8bf5 David Brazdil 2022-01-26 149 .name = drvdata->name,
f396ededbd8bf5 David Brazdil 2022-01-26 150 .minor = MISC_DYNAMIC_MINOR,
f396ededbd8bf5 David Brazdil 2022-01-26 151 .fops = &open_dice_fops,
f396ededbd8bf5 David Brazdil 2022-01-26 152 .mode = 0600,
f396ededbd8bf5 David Brazdil 2022-01-26 153 },
f396ededbd8bf5 David Brazdil 2022-01-26 154 };
f396ededbd8bf5 David Brazdil 2022-01-26 155
f396ededbd8bf5 David Brazdil 2022-01-26 156 /* Index overflow check not needed, misc_register() will fail. */
f396ededbd8bf5 David Brazdil 2022-01-26 157 snprintf(drvdata->name, sizeof(drvdata->name), DRIVER_NAME"%u", dev_idx++);
f396ededbd8bf5 David Brazdil 2022-01-26 158
f396ededbd8bf5 David Brazdil 2022-01-26 159 ret = misc_register(&drvdata->misc);
f396ededbd8bf5 David Brazdil 2022-01-26 160 if (ret) {
f396ededbd8bf5 David Brazdil 2022-01-26 161 dev_err(dev, "failed to register misc device '%s': %d\n",
f396ededbd8bf5 David Brazdil 2022-01-26 162 drvdata->name, ret);
f396ededbd8bf5 David Brazdil 2022-01-26 163 return ret;
f396ededbd8bf5 David Brazdil 2022-01-26 164 }
f396ededbd8bf5 David Brazdil 2022-01-26 165
f396ededbd8bf5 David Brazdil 2022-01-26 166 platform_set_drvdata(pdev, drvdata);
f396ededbd8bf5 David Brazdil 2022-01-26 167 return 0;
f396ededbd8bf5 David Brazdil 2022-01-26 168 }
f396ededbd8bf5 David Brazdil 2022-01-26 169
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-02-09 12:05 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-09 12:05 [char-misc:char-misc-testing 12/47] drivers/misc/open-dice.c:130 open_dice_probe() warn: impossible condition '(rmem->size > (~0)) => (0-u32max > u32max)' 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.