ubuntu/rsi driver has several issues as picked up by static analysis
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Shrirang Bagul | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
** CID 1438209: Memory - corruptions (OVERRUN)
/ubuntu/
_______
*** CID 1438209: Memory - corruptions (OVERRUN)
/ubuntu/
346
347 if (status) {
348 mutex_unlock(
349 break;
350 }
351
>>> CID 1438209: Memory - corruptions (OVERRUN)
>>> Overrunning array "common-
352 common-
353
354 tstamp_2 = jiffies;
355 mutex_unlock(
356
357 if (tstamp_2 > tstamp_1 + (300 * HZ / 1000))
** CID 1438210: Resource leaks (RESOURCE_LEAK)
/ubuntu/
_______
*** CID 1438210: Resource leaks (RESOURCE_LEAK)
/ubuntu/
268 cmd_frame->q_no = RSI_BT_MGMT_Q;
269 cmd_frame->pkt_type = RSI_BT_
270
271 skb_put(skb, sizeof(struct rsi_bt_cmd_frame));
272
273 //return rsi_coex_
>>> CID 1438210: Resource leaks (RESOURCE_LEAK)
>>> Variable "skb" going out of scope leaks the storage it points to.
274 return common-
275 }
276 EXPORT_
277
278 int rsi_hci_
279 {
** CID 1438211: Resource leaks (RESOURCE_LEAK)
/ubuntu/
_______
*** CID 1438211: Resource leaks (RESOURCE_LEAK)
/ubuntu/
243 cmd_frame-
244 cmd_frame-
245
246 skb_put(skb, sizeof(struct rsi_bt_
247
248 // return rsi_coex_
>>> CID 1438211: Resource leaks (RESOURCE_LEAK)
>>> Variable "skb" going out of scope leaks the storage it points to.
249 return common-
250 }
251 EXPORT_
252
253 int rsi_deregister_
254 {
** CID 1438212: Null pointer dereferences (REVERSE_INULL)
/ubuntu/
_______
*** CID 1438212: Null pointer dereferences (REVERSE_INULL)
/ubuntu/
1382 struct rsi_91x_sdiodev *sdev =
1383 (struct rsi_91x_sdiodev *)adapter->rsi_dev;
1384 #endif
1385
1386 ven_rsi_
1387
>>> CID 1438212: Null pointer dereferences (REVERSE_INULL)
>>> Null-checking "adapter" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
1388 if (!adapter) {
1389 ven_rsi_
1390 return -ENODEV;
1391 }
1392
1393 common-
** CID 1438213: Control flow issues (UNREACHABLE)
/ubuntu/
_______
*** CID 1438213: Control flow issues (UNREACHABLE)
/ubuntu/
491 struct rsi_91x_usbdev *dev = (struct rsi_91x_usbdev *)adapter->rsi_dev;
492 int status;
493 u32 buf_status = 0;
494
495 return QUEUE_NOT_FULL;
496
>>> CID 1438213: Control flow issues (UNREACHABLE)
>>> This code cannot be reached: "if (adapter-
497 if (adapter-
498 return QUEUE_NOT_FULL;
499
500 status = rsi_usb_
501 &buf_status, 2);
502 if (status < 0)
CVE References
Changed in linux (Ubuntu): | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Colin Ian King (colin-king) |
assignee: | Colin Ian King (colin-king) → nobody |
status: | In Progress → Confirmed |
Changed in linux (Ubuntu): | |
assignee: | nobody → Shrirang Bagul (shrirang-bagul) |
Changed in linux (Ubuntu Xenial): | |
status: | New → Fix Committed |
Changed in linux (Ubuntu): | |
status: | Confirmed → Fix Released |
1.2RC15 rsi driver includes fixes for these issues