I tried to update to linux-
image-4.13.0-041300rc2-generic_4.13.0-041300rc2.201707232231_i386.deb,
but I was told it was no longer possible to log in (the login screen
appeared, but it was not possible to write password as if the keyboard
was not connected at all). After reverting to the previous kernel it was
possible to log in again.

However, I still have some findings that may be useful. I tried to add
some debug printk's around the code that caused the null pointer
dereference and I was able to find the exact place where the null
pointer dereference occurs. I used Ubuntu-hwe-4.8.0-58.63_16.04.1 for
that.

The problem is in usb_ifnum_to_if where config->interface[i] is null
(http://kernel.ubuntu.com/git/ubuntu/ubuntu-
xenial.git/tree/drivers/usb/core/usb.c?h=Ubuntu-
hwe-4.8.0-58.63_16.04.1&id=2e1f960b96b3d80fc2b91809bf0cb02c97abe8f4#n144)

Here's a short snippet of the code:

for (i = 0; i < config->desc.bNumInterfaces; i++) {
  if (config->interface[i]->altsetting[0] /* config->interface[i] == 0 here! */
      .desc.bInterfaceNumber == ifnum) {
    return config->interface[i];
  }
}

And it's not a single interface that fails, it seems that all interfaces
are null, since the changed code that I used for debugging actually
looks like this:

for (i = 0; i < config->desc.bNumInterfaces; i++) {
  if (config->interface[i] == 0) {
    printk(KERN_ALERT "DEBUG: Interface %d is null\n", i);
    continue;
  }
  if (config->interface[i]->altsetting[0]
      .desc.bInterfaceNumber == ifnum) {
    return config->interface[i];
  }
}

And in dmesg I found:
júl 23 13:40:11 lenovo kernel: DEBUG: Interface 0 is null
júl 23 13:40:12 lenovo kernel: DEBUG: Interface 1 is null
júl 23 13:40:12 lenovo kernel: DEBUG: Interface 2 is null
júl 23 13:40:12 lenovo kernel: DEBUG: Interface 3 is null
júl 23 13:40:12 lenovo kernel: DEBUG: Interface 0 is null
júl 23 13:40:13 lenovo kernel: DEBUG: Interface 1 is null
júl 23 13:40:13 lenovo kernel: DEBUG: Interface 2 is null
júl 23 13:40:13 lenovo kernel: DEBUG: Interface 3 is null

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1705900

Title:
  Lenovo e73 USB webcam problems

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1705900/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to