arch/x86/kernel/uprobes.c:758: warning: Function parameter or member 'auprobe' not described in 'arch_uprobe_analyze_insn'

From: kernel test robot
Date: Mon Dec 25 2023 - 17:00:17 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 861deac3b092f37b2c5e6871732f3e11486f7082
commit: 3a025e1d1c2ea42fa497c9c6b21c284e0f69e28b Add optional check for bad kernel-doc comments
date: 6 years ago
config: i386-defconfig (https://download.01.org/0day-ci/archive/20231226/202312260514.MC64urpm-lkp@xxxxxxxxx/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231226/202312260514.MC64urpm-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312260514.MC64urpm-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

arch/x86/kernel/uprobes.c: In function 'branch_setup_xol_ops':
arch/x86/kernel/uprobes.c:726:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
opc1 = OPCODE2(insn) - 0x10;
~~~~~^~~~~~~~~~~~~~~~~~~~~~
arch/x86/kernel/uprobes.c:727:2: note: here
default:
^~~~~~~
>> arch/x86/kernel/uprobes.c:758: warning: Function parameter or member 'auprobe' not described in 'arch_uprobe_analyze_insn'
>> arch/x86/kernel/uprobes.c:758: warning: Excess function parameter 'arch_uprobe' description in 'arch_uprobe_analyze_insn'
--
>> arch/x86/pci/i386.c:372: warning: Function parameter or member 'pcibios_assign_resources' not described in 'fs_initcall'
--
>> arch/x86/power/cpu.c:76: warning: Function parameter or member 'ctxt' not described in '__save_processor_state'
>> arch/x86/power/cpu.c:198: warning: Function parameter or member 'ctxt' not described in '__restore_processor_state'
--
>> crypto/asymmetric_keys/asymmetric_type.c:160: warning: Function parameter or member 'kid1' not described in 'asymmetric_key_id_same'
>> crypto/asymmetric_keys/asymmetric_type.c:160: warning: Function parameter or member 'kid2' not described in 'asymmetric_key_id_same'
>> crypto/asymmetric_keys/asymmetric_type.c:176: warning: Function parameter or member 'kid1' not described in 'asymmetric_key_id_partial'
>> crypto/asymmetric_keys/asymmetric_type.c:176: warning: Function parameter or member 'kid2' not described in 'asymmetric_key_id_partial'
--
>> crypto/asymmetric_keys/pkcs7_trust.c:29: warning: Function parameter or member 'pkcs7' not described in 'pkcs7_validate_trust_one'
>> crypto/asymmetric_keys/pkcs7_trust.c:29: warning: Function parameter or member 'sinfo' not described in 'pkcs7_validate_trust_one'
>> crypto/asymmetric_keys/pkcs7_trust.c:29: warning: Function parameter or member 'trust_keyring' not described in 'pkcs7_validate_trust_one'
--
drivers/acpi/osl.c: In function 'acpi_os_vprintf':
drivers/acpi/osl.c:160:2: warning: function 'acpi_os_vprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
vsprintf(buffer, fmt, args);
^~~~~~~~
>> drivers/acpi/osl.c:315: warning: cannot understand function prototype: 'void __iomem *__ref acpi_os_map_iomem(acpi_physical_address phys, acpi_size size) '
--
>> drivers/acpi/utils.c:474: warning: Function parameter or member 'handle' not described in 'acpi_handle_path'
>> drivers/acpi/utils.c:496: warning: Function parameter or member 'level' not described in 'acpi_handle_printk'
>> drivers/acpi/utils.c:496: warning: Function parameter or member 'handle' not described in 'acpi_handle_printk'
>> drivers/acpi/utils.c:496: warning: Function parameter or member 'fmt' not described in 'acpi_handle_printk'
>> drivers/acpi/utils.c:525: warning: Function parameter or member 'descriptor' not described in '__acpi_handle_debug'
>> drivers/acpi/utils.c:525: warning: Function parameter or member 'handle' not described in '__acpi_handle_debug'
>> drivers/acpi/utils.c:525: warning: Function parameter or member 'fmt' not described in '__acpi_handle_debug'
--
>> drivers/acpi/nvs.c:95: warning: Function parameter or member 'start' not described in 'suspend_nvs_register'
>> drivers/acpi/nvs.c:95: warning: Function parameter or member 'size' not described in 'suspend_nvs_register'
--
>> drivers/acpi/device_sysfs.c:285: warning: Function parameter or member 'dev' not described in 'acpi_device_uevent_modalias'
>> drivers/acpi/device_sysfs.c:285: warning: Function parameter or member 'env' not described in 'acpi_device_uevent_modalias'
>> drivers/acpi/device_sysfs.c:330: warning: Function parameter or member 'dev' not described in 'acpi_device_modalias'
>> drivers/acpi/device_sysfs.c:330: warning: Function parameter or member 'buf' not described in 'acpi_device_modalias'
>> drivers/acpi/device_sysfs.c:330: warning: Function parameter or member 'size' not described in 'acpi_device_modalias'
--
>> drivers/acpi/pci_root.c:85: warning: Function parameter or member 'handle' not described in 'acpi_is_root_bridge'
--
>> drivers/acpi/acpi_apd.c:47: warning: Function parameter or member 'properties' not described in 'apd_device_desc'
>> drivers/acpi/acpi_apd.c:133: warning: Function parameter or member 'adev' not described in 'acpi_apd_create_device'
>> drivers/acpi/acpi_apd.c:133: warning: Function parameter or member 'id' not described in 'acpi_apd_create_device'
..


vim +758 arch/x86/kernel/uprobes.c

7ba6db2d688bdf Oleg Nesterov 2014-04-05 749
2b144498350860 Srikar Dronamraju 2012-02-09 750 /**
0326f5a94ddea3 Srikar Dronamraju 2012-03-13 751 * arch_uprobe_analyze_insn - instruction analysis including validity and fixups.
2b144498350860 Srikar Dronamraju 2012-02-09 752 * @mm: the probed address space.
3ff54efdfaace9 Srikar Dronamraju 2012-02-22 753 * @arch_uprobe: the probepoint information.
7eb9ba5ed312ec Ananth N Mavinakayanahalli 2012-06-08 754 * @addr: virtual address at which to install the probepoint
2b144498350860 Srikar Dronamraju 2012-02-09 755 * Return 0 on success or a -ve number on error.
2b144498350860 Srikar Dronamraju 2012-02-09 756 */
7eb9ba5ed312ec Ananth N Mavinakayanahalli 2012-06-08 757 int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, struct mm_struct *mm, unsigned long addr)
2b144498350860 Srikar Dronamraju 2012-02-09 @758 {
2b144498350860 Srikar Dronamraju 2012-02-09 759 struct insn insn;
83cd591485e558 Oleg Nesterov 2014-04-25 760 u8 fix_ip_or_call = UPROBE_FIX_IP;
ddb69f276c4af8 Oleg Nesterov 2014-03-31 761 int ret;
2b144498350860 Srikar Dronamraju 2012-02-09 762
2ae1f49ae1978f Oleg Nesterov 2014-04-19 763 ret = uprobe_init_insn(auprobe, &insn, is_64bit_mm(mm));
ddb69f276c4af8 Oleg Nesterov 2014-03-31 764 if (ret)
2b144498350860 Srikar Dronamraju 2012-02-09 765 return ret;
7b2d81d48a2d8e Ingo Molnar 2012-02-17 766
7ba6db2d688bdf Oleg Nesterov 2014-04-05 767 ret = branch_setup_xol_ops(auprobe, &insn);
7ba6db2d688bdf Oleg Nesterov 2014-04-05 768 if (ret != -ENOSYS)
7ba6db2d688bdf Oleg Nesterov 2014-04-05 769 return ret;
7ba6db2d688bdf Oleg Nesterov 2014-04-05 770
ddb69f276c4af8 Oleg Nesterov 2014-03-31 771 /*
97aa5cddbe9e01 Oleg Nesterov 2014-04-22 772 * Figure out which fixups default_post_xol_op() will need to perform,
5cdb76d6f0b657 Oleg Nesterov 2014-06-01 773 * and annotate defparam->fixups accordingly.
ddb69f276c4af8 Oleg Nesterov 2014-03-31 774 */
ddb69f276c4af8 Oleg Nesterov 2014-03-31 775 switch (OPCODE1(&insn)) {
ddb69f276c4af8 Oleg Nesterov 2014-03-31 776 case 0x9d: /* popf */
5cdb76d6f0b657 Oleg Nesterov 2014-06-01 777 auprobe->defparam.fixups |= UPROBE_FIX_SETF;
ddb69f276c4af8 Oleg Nesterov 2014-03-31 778 break;
ddb69f276c4af8 Oleg Nesterov 2014-03-31 779 case 0xc3: /* ret or lret -- ip is correct */
ddb69f276c4af8 Oleg Nesterov 2014-03-31 780 case 0xcb:
ddb69f276c4af8 Oleg Nesterov 2014-03-31 781 case 0xc2:
ddb69f276c4af8 Oleg Nesterov 2014-03-31 782 case 0xca:
83cd591485e558 Oleg Nesterov 2014-04-25 783 case 0xea: /* jmp absolute -- ip is correct */
83cd591485e558 Oleg Nesterov 2014-04-25 784 fix_ip_or_call = 0;
ddb69f276c4af8 Oleg Nesterov 2014-03-31 785 break;
ddb69f276c4af8 Oleg Nesterov 2014-03-31 786 case 0x9a: /* call absolute - Fix return addr, not ip */
83cd591485e558 Oleg Nesterov 2014-04-25 787 fix_ip_or_call = UPROBE_FIX_CALL;
ddb69f276c4af8 Oleg Nesterov 2014-03-31 788 break;
ddb69f276c4af8 Oleg Nesterov 2014-03-31 789 case 0xff:
ddb69f276c4af8 Oleg Nesterov 2014-03-31 790 switch (MODRM_REG(&insn)) {
ddb69f276c4af8 Oleg Nesterov 2014-03-31 791 case 2: case 3: /* call or lcall, indirect */
83cd591485e558 Oleg Nesterov 2014-04-25 792 fix_ip_or_call = UPROBE_FIX_CALL;
83cd591485e558 Oleg Nesterov 2014-04-25 793 break;
ddb69f276c4af8 Oleg Nesterov 2014-03-31 794 case 4: case 5: /* jmp or ljmp, indirect */
83cd591485e558 Oleg Nesterov 2014-04-25 795 fix_ip_or_call = 0;
83cd591485e558 Oleg Nesterov 2014-04-25 796 break;
ddb69f276c4af8 Oleg Nesterov 2014-03-31 797 }
e55848a4f8ee52 Oleg Nesterov 2014-03-31 798 /* fall through */
ddb69f276c4af8 Oleg Nesterov 2014-03-31 799 default:
1475ee7fadafc6 Oleg Nesterov 2014-04-27 800 riprel_analyze(auprobe, &insn);
ddb69f276c4af8 Oleg Nesterov 2014-03-31 801 }
ddb69f276c4af8 Oleg Nesterov 2014-03-31 802
5cdb76d6f0b657 Oleg Nesterov 2014-06-01 803 auprobe->defparam.ilen = insn.length;
5cdb76d6f0b657 Oleg Nesterov 2014-06-01 804 auprobe->defparam.fixups |= fix_ip_or_call;
7b2d81d48a2d8e Ingo Molnar 2012-02-17 805
8ad8e9d3fd64f1 Oleg Nesterov 2014-03-31 806 auprobe->ops = &default_xol_ops;
2b144498350860 Srikar Dronamraju 2012-02-09 807 return 0;
2b144498350860 Srikar Dronamraju 2012-02-09 808 }
0326f5a94ddea3 Srikar Dronamraju 2012-03-13 809

:::::: The code at line 758 was first introduced by commit
:::::: 2b144498350860b6ee9dc57ff27a93ad488de5dc uprobes, mm, x86: Add the ability to install and remove uprobes breakpoints

:::::: TO: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki