[bug report] cxl: Add guest-specific code
Dan Carpenter
dan.carpenter at oracle.com
Fri Jul 15 07:53:52 AEST 2016
Hello Christophe Lombard,
The patch 14baf4d9c739: "cxl: Add guest-specific code" from Mar 4,
2016, leads to the following static checker warning:
drivers/misc/cxl/guest.c:1115 cxl_guest_init_adapter()
error: we previously assumed 'adapter->guest' could be null (see line 1114)
drivers/misc/cxl/guest.c
1105 struct cxl *cxl_guest_init_adapter(struct device_node *np, struct platform_device *pdev)
1106 {
1107 struct cxl *adapter;
1108 bool free = true;
1109 int rc;
1110
1111 if (!(adapter = cxl_alloc_adapter()))
1112 return ERR_PTR(-ENOMEM);
1113
1114 if (!(adapter->guest = kzalloc(sizeof(struct cxl_guest), GFP_KERNEL))) {
1115 free_adapter(adapter);
^^^^^^^^^^^^^^^^^^^^^
We can't call free_adapter() if adapter->guest is NULL.
1116 return ERR_PTR(-ENOMEM);
1117 }
drivers/misc/cxl/guest.c:919 afu_properties_look_ok()
warn: unsigned 'afu->crs_len' is never less than zero.
drivers/misc/cxl/guest.c
907 static int afu_properties_look_ok(struct cxl_afu *afu)
908 {
909 if (afu->pp_irqs < 0) {
910 dev_err(&afu->dev, "Unexpected per-process minimum interrupt value\n");
911 return -EINVAL;
912 }
913
914 if (afu->max_procs_virtualised < 1) {
915 dev_err(&afu->dev, "Unexpected max number of processes virtualised value\n");
916 return -EINVAL;
917 }
918
919 if (afu->crs_len < 0) {
^^^^^^^^^^^^^^^^
Remove this test. Unsigned is never less than zero.
920 dev_err(&afu->dev, "Unexpected configuration record size value\n");
921 return -EINVAL;
922 }
923
924 return 0;
925 }
regards,
dan carpenter
More information about the Linuxppc-dev
mailing list