* [ogabbay:habanalabs-next 47/47] drivers/misc/habanalabs/common/habanalabs_drv.c:138:41: sparse: sparse: Using plain integer as NULL pointer
@ 2022-05-09 17:14 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-05-09 17:14 UTC (permalink / raw)
To: Tal Cohen; +Cc: kbuild-all, linux-kernel, Oded Gabbay
tree: https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git habanalabs-next
head: 20c59ac5d71e766235e74f353b74e60facd733c8
commit: 20c59ac5d71e766235e74f353b74e60facd733c8 [47/47] habanalabs: add support for notification via eventfd
config: alpha-randconfig-s031-20220509 (https://download.01.org/0day-ci/archive/20220510/202205100106.LlBrBvTd-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 11.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git/commit/?id=20c59ac5d71e766235e74f353b74e60facd733c8
git remote add ogabbay https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git
git fetch --no-tags ogabbay habanalabs-next
git checkout 20c59ac5d71e766235e74f353b74e60facd733c8
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha SHELL=/bin/bash drivers/misc/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/misc/habanalabs/common/habanalabs_drv.c:138:41: sparse: sparse: Using plain integer as NULL pointer
drivers/misc/habanalabs/common/habanalabs_drv.c:250:41: sparse: sparse: Using plain integer as NULL pointer
--
>> drivers/misc/habanalabs/common/habanalabs_ioctl.c:650:49: sparse: sparse: Using plain integer as NULL pointer
drivers/misc/habanalabs/common/habanalabs_ioctl.c:668:41: sparse: sparse: Using plain integer as NULL pointer
--
>> drivers/misc/habanalabs/common/device.c:291:49: sparse: sparse: Using plain integer as NULL pointer
drivers/misc/habanalabs/common/device.c:369:49: sparse: sparse: Using plain integer as NULL pointer
vim +138 drivers/misc/habanalabs/common/habanalabs_drv.c
104
105 /*
106 * hl_device_open - open function for habanalabs device
107 *
108 * @inode: pointer to inode structure
109 * @filp: pointer to file structure
110 *
111 * Called when process opens an habanalabs device.
112 */
113 int hl_device_open(struct inode *inode, struct file *filp)
114 {
115 enum hl_device_status status;
116 struct hl_device *hdev;
117 struct hl_fpriv *hpriv;
118 int rc;
119
120 mutex_lock(&hl_devs_idr_lock);
121 hdev = idr_find(&hl_devs_idr, iminor(inode));
122 mutex_unlock(&hl_devs_idr_lock);
123
124 if (!hdev) {
125 pr_err("Couldn't find device %d:%d\n",
126 imajor(inode), iminor(inode));
127 return -ENXIO;
128 }
129
130 hpriv = kzalloc(sizeof(*hpriv), GFP_KERNEL);
131 if (!hpriv)
132 return -ENOMEM;
133
134 hpriv->hdev = hdev;
135 filp->private_data = hpriv;
136 hpriv->filp = filp;
137 hpriv->notifier_event.events_mask = 0;
> 138 hpriv->notifier_event.eventfd = 0;
139
140 mutex_init(&hpriv->notifier_event.lock);
141 mutex_init(&hpriv->restore_phase_mutex);
142 kref_init(&hpriv->refcount);
143 nonseekable_open(inode, filp);
144
145 hl_ctx_mgr_init(&hpriv->ctx_mgr);
146 hl_mem_mgr_init(hpriv->hdev->dev, &hpriv->mem_mgr);
147
148 hpriv->taskpid = get_task_pid(current, PIDTYPE_PID);
149
150 mutex_lock(&hdev->fpriv_list_lock);
151
152 if (!hl_device_operational(hdev, &status)) {
153 dev_err_ratelimited(hdev->dev,
154 "Can't open %s because it is %s\n",
155 dev_name(hdev->dev), hdev->status[status]);
156
157 if (status == HL_DEVICE_STATUS_IN_RESET)
158 rc = -EAGAIN;
159 else
160 rc = -EPERM;
161
162 goto out_err;
163 }
164
165 if (hdev->is_in_dram_scrub) {
166 dev_dbg_ratelimited(hdev->dev,
167 "Can't open %s during dram scrub\n",
168 dev_name(hdev->dev));
169 rc = -EAGAIN;
170 goto out_err;
171 }
172
173 if (hdev->compute_ctx_in_release) {
174 dev_dbg_ratelimited(hdev->dev,
175 "Can't open %s because another user is still releasing it\n",
176 dev_name(hdev->dev));
177 rc = -EAGAIN;
178 goto out_err;
179 }
180
181 if (hdev->is_compute_ctx_active) {
182 dev_dbg_ratelimited(hdev->dev,
183 "Can't open %s because another user is working on it\n",
184 dev_name(hdev->dev));
185 rc = -EBUSY;
186 goto out_err;
187 }
188
189 rc = hl_ctx_create(hdev, hpriv);
190 if (rc) {
191 dev_err(hdev->dev, "Failed to create context %d\n", rc);
192 goto out_err;
193 }
194
195 list_add(&hpriv->dev_node, &hdev->fpriv_list);
196 mutex_unlock(&hdev->fpriv_list_lock);
197
198 hl_debugfs_add_file(hpriv);
199
200 atomic_set(&hdev->last_error.cs_write_disable, 0);
201 atomic_set(&hdev->last_error.razwi_write_disable, 0);
202
203 hdev->open_counter++;
204 hdev->last_successful_open_jif = jiffies;
205 hdev->last_successful_open_ktime = ktime_get();
206
207 return 0;
208
209 out_err:
210 mutex_unlock(&hdev->fpriv_list_lock);
211 hl_mem_mgr_fini(&hpriv->mem_mgr);
212 hl_ctx_mgr_fini(hpriv->hdev, &hpriv->ctx_mgr);
213 filp->private_data = NULL;
214 mutex_destroy(&hpriv->restore_phase_mutex);
215 mutex_destroy(&hpriv->notifier_event.lock);
216 put_pid(hpriv->taskpid);
217
218 kfree(hpriv);
219
220 return rc;
221 }
222
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-05-09 17:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-09 17:14 [ogabbay:habanalabs-next 47/47] drivers/misc/habanalabs/common/habanalabs_drv.c:138:41: sparse: sparse: Using plain integer as NULL pointer 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.