OSDN Git Service

appledisplay: fix error handling in the scheduled work
authorOliver Neukum <oneukum@suse.com>
Wed, 6 Nov 2019 12:49:01 +0000 (13:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Nov 2019 17:26:24 +0000 (18:26 +0100)
commit6f10c432716f868ef5995c2a24bea0eab59777be
tree3b4c6de95a9ab319e76109c54b960f9ba6864295
parentefb975b43222441da75a98e7ee112ded4daf0c1a
appledisplay: fix error handling in the scheduled work

commit 91feb01596e5efc0cc922cc73f5583114dccf4d2 upstream.

The work item can operate on

1. stale memory left over from the last transfer
the actual length of the data transfered needs to be checked
2. memory already freed
the error handling in appledisplay_probe() needs
to cancel the work in that case

Reported-and-tested-by: syzbot+495dab1f175edc9c2f13@syzkaller.appspotmail.com
Signed-off-by: Oliver Neukum <oneukum@suse.com>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20191106124902.7765-1-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/appledisplay.c