• L
    i2c-hid: properly terminate i2c_hid_dmi_desc_override_table[] array · a20de9c1
    Linus Torvalds 提交于
    commit b59dfdaef173677b0b7e10f375226c0a1114fd20 upstream.
    
    Commit 9ee3e06610fd ("HID: i2c-hid: override HID descriptors for certain
    devices") added a new dmi_system_id quirk table to override certain HID
    report descriptors for some systems that lack them.
    
    But the table wasn't properly terminated, causing the dmi matching to
    walk off into la-la-land, and starting to treat random data as dmi
    descriptor pointers, causing boot-time oopses if you were at all
    unlucky.
    
    Terminate the array.
    
    We really should have some way to just statically check that arrays that
    should be terminated by an empty entry actually are so.  But the HID
    people really should have caught this themselves, rather than have me
    deal with an oops during the merge window.  Tssk, tssk.
    
    Cc: Julian Sax <jsbc@gmx.de>
    Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Cc: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    Cc: Ambrož Bizjak <abizjak.pro@gmail.com>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
    a20de9c1
i2c-hid-dmi-quirks.c 20.8 KB