)]}'
{
  "commit": "f321cc430c49b6c1be0d53f2ef19d8342d8029cc",
  "tree": "eb5dd4fd022b53887e9eabed4d1cb7c91b568d23",
  "parents": [
    "3bf8d603fd45649c106cae6290a10f20b1bbb569"
  ],
  "author": {
    "name": "Haotian Zhang",
    "email": "vulab@iscas.ac.cn",
    "time": "Fri Oct 09 10:48:25 2026 -0700"
  },
  "committer": {
    "name": "Dmitry Torokhov",
    "email": "dmitry.torokhov@gmail.com",
    "time": "Fri Oct 09 10:58:35 2026 -0700"
  },
  "message": "Input: ati_remote2 - fix type confusion in device attribute handlers\n\nPreviously, the channel_mask and mode_mask attributes were registered on\nthe parent usb_device via sysfs_create_group(). When commit b20d6bf8014b\n(\"Input: ati-remote2 - use driver core to instantiate device\nattributes\") converted the driver to let the driver core manage them via\ndev_groups in struct usb_driver, the attributes moved to the bound\nusb_interface devices, but the show and store callbacks were not updated\naccordingly.\n\nAs a result, the callbacks still invoked to_usb_device() on a device\npointer belonging to a struct usb_interface, producing an invalid\nusb_device pointer.\n\nUse to_usb_interface() directly in the attribute handlers to obtain the\ninterface and its driver data.\n\nFixes: b20d6bf8014b (\"Input: ati-remote2 - use driver core to instantiate device attributes\")\nAssisted-by: DeepSeek-V4.1-Flash\nSigned-off-by: Haotian Zhang \u003cvulab@iscas.ac.cn\u003e\nLink: https://patch.msgid.link/20261009040302.3087205-1-vulab@iscas.ac.cn\nCc: stable@vger.kernel.org\nSigned-off-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8db2dca84975ca1ce58b227b5e1e736820de0e78",
      "old_mode": 33188,
      "old_path": "drivers/input/misc/ati_remote2.c",
      "new_id": "3e0f874e9b16fcab05c96ce1f8f07b8de0f54252",
      "new_mode": 33188,
      "new_path": "drivers/input/misc/ati_remote2.c"
    }
  ]
}
