lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202210300151.7TiGB0l8-lkp@intel.com>
Date:   Sun, 30 Oct 2022 01:57:36 +0800
From:   kernel test robot <lkp@...el.com>
To:     Benjamin Tissoires <benjamin.tissoires@...hat.com>,
        Greg KH <greg@...ah.com>, Jiri Kosina <jikos@...nel.org>,
        Jonathan Corbet <corbet@....net>,
        Shuah Khan <skhan@...uxfoundation.org>
Cc:     oe-kbuild-all@...ts.linux.dev,
        Tero Kristo <tero.kristo@...ux.intel.com>,
        linux-kernel@...r.kernel.org, linux-input@...r.kernel.org,
        bpf@...r.kernel.org, linux-kselftest@...r.kernel.org,
        linux-doc@...r.kernel.org,
        Benjamin Tissoires <benjamin.tissoires@...hat.com>
Subject: Re: [PATCH hid v11 01/14] HID: Kconfig: split HID support and
 hid-core compilation

Hi Benjamin,

I love your patch! Yet something to improve:

[auto build test ERROR on hid/master]

url:    https://github.com/intel-lab-lkp/linux/commits/Benjamin-Tissoires/Introduce-eBPF-support-for-HID-devices/20221025-173852
base:   https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git master
patch link:    https://lore.kernel.org/r/20221025093458.457089-2-benjamin.tissoires%40redhat.com
patch subject: [PATCH hid v11 01/14] HID: Kconfig: split HID support and hid-core compilation
config: i386-randconfig-a004-20221003
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/b6e78c340cbaf82c96ab3148db0b13f737abe8d7
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Benjamin-Tissoires/Introduce-eBPF-support-for-HID-devices/20221025-173852
        git checkout b6e78c340cbaf82c96ab3148db0b13f737abe8d7
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   ld: drivers/hid/hid-a4tech.o: in function `hid_parse':
   include/linux/hid.h:1094: undefined reference to `hid_open_report'
   ld: drivers/hid/hid-a4tech.o: in function `a4_probe':
   drivers/hid/hid-a4tech.c:134: undefined reference to `hid_hw_start'
   ld: drivers/hid/hid-a4tech.o: in function `a4_driver_init':
   drivers/hid/hid-a4tech.c:164: undefined reference to `__hid_register_driver'
   ld: drivers/hid/hid-a4tech.o: in function `a4_driver_exit':
   drivers/hid/hid-a4tech.c:164: undefined reference to `hid_unregister_driver'
   ld: drivers/hid/hid-apple.o: in function `apple_remove':
>> drivers/hid/hid-apple.c:851: undefined reference to `hid_hw_stop'
   ld: drivers/hid/hid-apple.o: in function `apple_backlight_set':
>> drivers/hid/hid-apple.c:736: undefined reference to `hid_hw_raw_request'
   ld: drivers/hid/hid-apple.o: in function `apple_backlight_init':
   drivers/hid/hid-apple.c:765: undefined reference to `hid_hw_raw_request'
   ld: drivers/hid/hid-apple.o: in function `hid_parse':
   include/linux/hid.h:1094: undefined reference to `hid_open_report'
   ld: drivers/hid/hid-apple.o: in function `apple_probe':
>> drivers/hid/hid-apple.c:828: undefined reference to `hid_hw_start'
   ld: drivers/hid/hid-apple.o: in function `apple_driver_init':
>> drivers/hid/hid-apple.c:1068: undefined reference to `__hid_register_driver'
   ld: drivers/hid/hid-apple.o: in function `apple_driver_exit':
>> drivers/hid/hid-apple.c:1068: undefined reference to `hid_unregister_driver'
   ld: drivers/hid/hid-belkin.o: in function `hid_parse':
   include/linux/hid.h:1094: undefined reference to `hid_open_report'
   ld: drivers/hid/hid-belkin.o: in function `belkin_probe':
   drivers/hid/hid-belkin.c:59: undefined reference to `hid_hw_start'
   ld: drivers/hid/hid-belkin.o: in function `belkin_driver_init':
   drivers/hid/hid-belkin.c:86: undefined reference to `__hid_register_driver'
   ld: drivers/hid/hid-belkin.o: in function `belkin_driver_exit':
   drivers/hid/hid-belkin.c:86: undefined reference to `hid_unregister_driver'
   ld: drivers/hid/hid-cherry.o: in function `ch_driver_init':
   drivers/hid/hid-cherry.c:69: undefined reference to `__hid_register_driver'
   ld: drivers/hid/hid-cherry.o: in function `ch_driver_exit':
   drivers/hid/hid-cherry.c:69: undefined reference to `hid_unregister_driver'
   ld: drivers/hid/hid-cypress.o: in function `hid_parse':
   include/linux/hid.h:1094: undefined reference to `hid_open_report'
   ld: drivers/hid/hid-cypress.o: in function `cp_probe':
   drivers/hid/hid-cypress.c:141: undefined reference to `hid_hw_start'
   ld: drivers/hid/hid-cypress.o: in function `cp_driver_init':
   drivers/hid/hid-cypress.c:177: undefined reference to `__hid_register_driver'
   ld: drivers/hid/hid-cypress.o: in function `cp_driver_exit':
   drivers/hid/hid-cypress.c:177: undefined reference to `hid_unregister_driver'
   ld: drivers/hid/hid-ezkey.o: in function `ez_driver_init':
   drivers/hid/hid-ezkey.c:76: undefined reference to `__hid_register_driver'
   ld: drivers/hid/hid-ezkey.o: in function `ez_driver_exit':
   drivers/hid/hid-ezkey.c:76: undefined reference to `hid_unregister_driver'
   ld: drivers/hid/hid-ite.o: in function `ite_probe':
   drivers/hid/hid-ite.c:99: undefined reference to `hid_open_report'
>> ld: drivers/hid/hid-ite.c:103: undefined reference to `hid_hw_start'
   ld: drivers/hid/hid-ite.o: in function `ite_driver_init':
   drivers/hid/hid-ite.c:136: undefined reference to `__hid_register_driver'
   ld: drivers/hid/hid-ite.o: in function `ite_driver_exit':
   drivers/hid/hid-ite.c:136: undefined reference to `hid_unregister_driver'
   ld: drivers/hid/hid-kensington.o: in function `ks_driver_init':
   drivers/hid/hid-kensington.c:47: undefined reference to `__hid_register_driver'
   ld: drivers/hid/hid-kensington.o: in function `ks_driver_exit':
   drivers/hid/hid-kensington.c:47: undefined reference to `hid_unregister_driver'
   ld: drivers/hid/hid-microsoft.o: in function `ms_remove':
   drivers/hid/hid-microsoft.c:409: undefined reference to `hid_hw_stop'
   ld: drivers/hid/hid-microsoft.o: in function `ms_ff_worker':
   drivers/hid/hid-microsoft.c:302: undefined reference to `hid_hw_output_report'
   ld: drivers/hid/hid-microsoft.o: in function `hid_parse':
   include/linux/hid.h:1094: undefined reference to `hid_open_report'
   ld: drivers/hid/hid-microsoft.o: in function `ms_probe':
   drivers/hid/hid-microsoft.c:391: undefined reference to `hid_hw_start'
   ld: drivers/hid/hid-microsoft.o: in function `ms_driver_init':
   drivers/hid/hid-microsoft.c:467: undefined reference to `__hid_register_driver'
   ld: drivers/hid/hid-microsoft.o: in function `ms_driver_exit':
   drivers/hid/hid-microsoft.c:467: undefined reference to `hid_unregister_driver'
   ld: drivers/hid/hid-monterey.o: in function `mr_driver_init':
   drivers/hid/hid-monterey.c:63: undefined reference to `__hid_register_driver'
   ld: drivers/hid/hid-monterey.o: in function `mr_driver_exit':
   drivers/hid/hid-monterey.c:63: undefined reference to `hid_unregister_driver'
   ld: drivers/hid/hid-redragon.o: in function `redragon_driver_init':
   drivers/hid/hid-redragon.c:60: undefined reference to `__hid_register_driver'
   ld: drivers/hid/hid-redragon.o: in function `redragon_driver_exit':
   drivers/hid/hid-redragon.c:60: undefined reference to `hid_unregister_driver'
   pahole: .tmp_vmlinux.btf: No such file or directory
   .btf.vmlinux.bin.o: file not recognized: file format not recognized


vim +851 drivers/hid/hid-apple.c

9018eacbe623b2 Paul Pawlowski     2022-02-03  721  
9018eacbe623b2 Paul Pawlowski     2022-02-03  722  static int apple_backlight_set(struct hid_device *hdev, u16 value, u16 rate)
9018eacbe623b2 Paul Pawlowski     2022-02-03  723  {
9018eacbe623b2 Paul Pawlowski     2022-02-03  724  	int ret = 0;
9018eacbe623b2 Paul Pawlowski     2022-02-03  725  	struct apple_backlight_set_report *rep;
9018eacbe623b2 Paul Pawlowski     2022-02-03  726  
9018eacbe623b2 Paul Pawlowski     2022-02-03  727  	rep = kmalloc(sizeof(*rep), GFP_KERNEL);
9018eacbe623b2 Paul Pawlowski     2022-02-03  728  	if (rep == NULL)
9018eacbe623b2 Paul Pawlowski     2022-02-03  729  		return -ENOMEM;
9018eacbe623b2 Paul Pawlowski     2022-02-03  730  
9018eacbe623b2 Paul Pawlowski     2022-02-03  731  	rep->report_id = 0xB0;
9018eacbe623b2 Paul Pawlowski     2022-02-03  732  	rep->version = 1;
9018eacbe623b2 Paul Pawlowski     2022-02-03  733  	rep->backlight = value;
9018eacbe623b2 Paul Pawlowski     2022-02-03  734  	rep->rate = rate;
9018eacbe623b2 Paul Pawlowski     2022-02-03  735  
9018eacbe623b2 Paul Pawlowski     2022-02-03 @736  	ret = hid_hw_raw_request(hdev, 0xB0u, (u8 *) rep, sizeof(*rep),
9018eacbe623b2 Paul Pawlowski     2022-02-03  737  				 HID_OUTPUT_REPORT, HID_REQ_SET_REPORT);
9018eacbe623b2 Paul Pawlowski     2022-02-03  738  
9018eacbe623b2 Paul Pawlowski     2022-02-03  739  	kfree(rep);
9018eacbe623b2 Paul Pawlowski     2022-02-03  740  	return ret;
9018eacbe623b2 Paul Pawlowski     2022-02-03  741  }
9018eacbe623b2 Paul Pawlowski     2022-02-03  742  
9018eacbe623b2 Paul Pawlowski     2022-02-03  743  static int apple_backlight_led_set(struct led_classdev *led_cdev,
9018eacbe623b2 Paul Pawlowski     2022-02-03  744  	enum led_brightness brightness)
9018eacbe623b2 Paul Pawlowski     2022-02-03  745  {
9018eacbe623b2 Paul Pawlowski     2022-02-03  746  	struct apple_sc_backlight *backlight = container_of(led_cdev,
9018eacbe623b2 Paul Pawlowski     2022-02-03  747  							    struct apple_sc_backlight, cdev);
9018eacbe623b2 Paul Pawlowski     2022-02-03  748  
9018eacbe623b2 Paul Pawlowski     2022-02-03  749  	return apple_backlight_set(backlight->hdev, brightness, 0);
9018eacbe623b2 Paul Pawlowski     2022-02-03  750  }
9018eacbe623b2 Paul Pawlowski     2022-02-03  751  
9018eacbe623b2 Paul Pawlowski     2022-02-03  752  static int apple_backlight_init(struct hid_device *hdev)
9018eacbe623b2 Paul Pawlowski     2022-02-03  753  {
9018eacbe623b2 Paul Pawlowski     2022-02-03  754  	int ret;
9018eacbe623b2 Paul Pawlowski     2022-02-03  755  	struct apple_sc *asc = hid_get_drvdata(hdev);
9018eacbe623b2 Paul Pawlowski     2022-02-03  756  	struct apple_backlight_config_report *rep;
9018eacbe623b2 Paul Pawlowski     2022-02-03  757  
9018eacbe623b2 Paul Pawlowski     2022-02-03  758  	if (!apple_backlight_check_support(hdev))
9018eacbe623b2 Paul Pawlowski     2022-02-03  759  		return -EINVAL;
9018eacbe623b2 Paul Pawlowski     2022-02-03  760  
9018eacbe623b2 Paul Pawlowski     2022-02-03  761  	rep = kmalloc(0x200, GFP_KERNEL);
9018eacbe623b2 Paul Pawlowski     2022-02-03  762  	if (rep == NULL)
9018eacbe623b2 Paul Pawlowski     2022-02-03  763  		return -ENOMEM;
9018eacbe623b2 Paul Pawlowski     2022-02-03  764  
9018eacbe623b2 Paul Pawlowski     2022-02-03  765  	ret = hid_hw_raw_request(hdev, 0xBFu, (u8 *) rep, sizeof(*rep),
9018eacbe623b2 Paul Pawlowski     2022-02-03  766  				 HID_FEATURE_REPORT, HID_REQ_GET_REPORT);
9018eacbe623b2 Paul Pawlowski     2022-02-03  767  	if (ret < 0) {
9018eacbe623b2 Paul Pawlowski     2022-02-03  768  		hid_err(hdev, "backlight request failed: %d\n", ret);
9018eacbe623b2 Paul Pawlowski     2022-02-03  769  		goto cleanup_and_exit;
9018eacbe623b2 Paul Pawlowski     2022-02-03  770  	}
9018eacbe623b2 Paul Pawlowski     2022-02-03  771  	if (ret < 8 || rep->version != 1) {
9018eacbe623b2 Paul Pawlowski     2022-02-03  772  		hid_err(hdev, "backlight config struct: bad version %i\n", rep->version);
9018eacbe623b2 Paul Pawlowski     2022-02-03  773  		ret = -EINVAL;
9018eacbe623b2 Paul Pawlowski     2022-02-03  774  		goto cleanup_and_exit;
9018eacbe623b2 Paul Pawlowski     2022-02-03  775  	}
9018eacbe623b2 Paul Pawlowski     2022-02-03  776  
9018eacbe623b2 Paul Pawlowski     2022-02-03  777  	hid_dbg(hdev, "backlight config: off=%u, on_min=%u, on_max=%u\n",
9018eacbe623b2 Paul Pawlowski     2022-02-03  778  		rep->backlight_off, rep->backlight_on_min, rep->backlight_on_max);
9018eacbe623b2 Paul Pawlowski     2022-02-03  779  
9018eacbe623b2 Paul Pawlowski     2022-02-03  780  	asc->backlight = devm_kzalloc(&hdev->dev, sizeof(*asc->backlight), GFP_KERNEL);
9018eacbe623b2 Paul Pawlowski     2022-02-03  781  	if (!asc->backlight) {
9018eacbe623b2 Paul Pawlowski     2022-02-03  782  		ret = -ENOMEM;
9018eacbe623b2 Paul Pawlowski     2022-02-03  783  		goto cleanup_and_exit;
9018eacbe623b2 Paul Pawlowski     2022-02-03  784  	}
9018eacbe623b2 Paul Pawlowski     2022-02-03  785  
9018eacbe623b2 Paul Pawlowski     2022-02-03  786  	asc->backlight->hdev = hdev;
9018eacbe623b2 Paul Pawlowski     2022-02-03  787  	asc->backlight->cdev.name = "apple::kbd_backlight";
9018eacbe623b2 Paul Pawlowski     2022-02-03  788  	asc->backlight->cdev.max_brightness = rep->backlight_on_max;
9018eacbe623b2 Paul Pawlowski     2022-02-03  789  	asc->backlight->cdev.brightness_set_blocking = apple_backlight_led_set;
9018eacbe623b2 Paul Pawlowski     2022-02-03  790  
9018eacbe623b2 Paul Pawlowski     2022-02-03  791  	ret = apple_backlight_set(hdev, 0, 0);
9018eacbe623b2 Paul Pawlowski     2022-02-03  792  	if (ret < 0) {
9018eacbe623b2 Paul Pawlowski     2022-02-03  793  		hid_err(hdev, "backlight set request failed: %d\n", ret);
9018eacbe623b2 Paul Pawlowski     2022-02-03  794  		goto cleanup_and_exit;
9018eacbe623b2 Paul Pawlowski     2022-02-03  795  	}
9018eacbe623b2 Paul Pawlowski     2022-02-03  796  
9018eacbe623b2 Paul Pawlowski     2022-02-03  797  	ret = devm_led_classdev_register(&hdev->dev, &asc->backlight->cdev);
9018eacbe623b2 Paul Pawlowski     2022-02-03  798  
9018eacbe623b2 Paul Pawlowski     2022-02-03  799  cleanup_and_exit:
9018eacbe623b2 Paul Pawlowski     2022-02-03  800  	kfree(rep);
9018eacbe623b2 Paul Pawlowski     2022-02-03  801  	return ret;
9018eacbe623b2 Paul Pawlowski     2022-02-03  802  }
9018eacbe623b2 Paul Pawlowski     2022-02-03  803  
8c19a51591d06f Jiri Slaby         2008-06-18  804  static int apple_probe(struct hid_device *hdev,
8c19a51591d06f Jiri Slaby         2008-06-18  805  		const struct hid_device_id *id)
8c19a51591d06f Jiri Slaby         2008-06-18  806  {
8c19a51591d06f Jiri Slaby         2008-06-18  807  	unsigned long quirks = id->driver_data;
8c19a51591d06f Jiri Slaby         2008-06-18  808  	struct apple_sc *asc;
8c19a51591d06f Jiri Slaby         2008-06-18  809  	int ret;
8c19a51591d06f Jiri Slaby         2008-06-18  810  
abf832bfc349b5 Benjamin Tissoires 2013-07-24  811  	asc = devm_kzalloc(&hdev->dev, sizeof(*asc), GFP_KERNEL);
8c19a51591d06f Jiri Slaby         2008-06-18  812  	if (asc == NULL) {
4291ee305e9bb0 Joe Perches        2010-12-09  813  		hid_err(hdev, "can't alloc apple descriptor\n");
8c19a51591d06f Jiri Slaby         2008-06-18  814  		return -ENOMEM;
8c19a51591d06f Jiri Slaby         2008-06-18  815  	}
8c19a51591d06f Jiri Slaby         2008-06-18  816  
6e143293e17a73 José Expósito      2021-11-18  817  	asc->hdev = hdev;
8c19a51591d06f Jiri Slaby         2008-06-18  818  	asc->quirks = quirks;
8c19a51591d06f Jiri Slaby         2008-06-18  819  
8c19a51591d06f Jiri Slaby         2008-06-18  820  	hid_set_drvdata(hdev, asc);
8c19a51591d06f Jiri Slaby         2008-06-18  821  
8c19a51591d06f Jiri Slaby         2008-06-18  822  	ret = hid_parse(hdev);
8c19a51591d06f Jiri Slaby         2008-06-18  823  	if (ret) {
4291ee305e9bb0 Joe Perches        2010-12-09  824  		hid_err(hdev, "parse failed\n");
abf832bfc349b5 Benjamin Tissoires 2013-07-24  825  		return ret;
8c19a51591d06f Jiri Slaby         2008-06-18  826  	}
8c19a51591d06f Jiri Slaby         2008-06-18  827  
cc84094218a732 Alexander F. Lent  2021-09-16 @828  	ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
8c19a51591d06f Jiri Slaby         2008-06-18  829  	if (ret) {
4291ee305e9bb0 Joe Perches        2010-12-09  830  		hid_err(hdev, "hw start failed\n");
8c19a51591d06f Jiri Slaby         2008-06-18  831  		return ret;
8c19a51591d06f Jiri Slaby         2008-06-18  832  	}
8c19a51591d06f Jiri Slaby         2008-06-18  833  
6e143293e17a73 José Expósito      2021-11-18  834  	timer_setup(&asc->battery_timer, apple_battery_timer_tick, 0);
6e143293e17a73 José Expósito      2021-11-18  835  	mod_timer(&asc->battery_timer,
6e143293e17a73 José Expósito      2021-11-18  836  		  jiffies + msecs_to_jiffies(APPLE_BATTERY_TIMEOUT_MS));
6e143293e17a73 José Expósito      2021-11-18  837  	apple_fetch_battery(hdev);
6e143293e17a73 José Expósito      2021-11-18  838  
9018eacbe623b2 Paul Pawlowski     2022-02-03  839  	if (quirks & APPLE_BACKLIGHT_CTL)
9018eacbe623b2 Paul Pawlowski     2022-02-03  840  		apple_backlight_init(hdev);
9018eacbe623b2 Paul Pawlowski     2022-02-03  841  
abf832bfc349b5 Benjamin Tissoires 2013-07-24  842  	return 0;
8c19a51591d06f Jiri Slaby         2008-06-18  843  }
8c19a51591d06f Jiri Slaby         2008-06-18  844  
6e143293e17a73 José Expósito      2021-11-18  845  static void apple_remove(struct hid_device *hdev)
6e143293e17a73 José Expósito      2021-11-18  846  {
6e143293e17a73 José Expósito      2021-11-18  847  	struct apple_sc *asc = hid_get_drvdata(hdev);
6e143293e17a73 José Expósito      2021-11-18  848  
6e143293e17a73 José Expósito      2021-11-18  849  	del_timer_sync(&asc->battery_timer);
6e143293e17a73 José Expósito      2021-11-18  850  
6e143293e17a73 José Expósito      2021-11-18 @851  	hid_hw_stop(hdev);
6e143293e17a73 José Expósito      2021-11-18  852  }
6e143293e17a73 José Expósito      2021-11-18  853  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

View attachment "config" of type "text/plain" (145599 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ