CC: [email protected] CC: [email protected] BCC: [email protected] CC: [email protected] TO: Arnd Bergmann <[email protected]> CC: Masahiro Yamada <[email protected]> CC: Alex Shi <[email protected]> CC: Nick Desaulniers <[email protected]> CC: Miguel Ojeda <[email protected]> CC: Nathan Chancellor <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: b2d229d4ddb17db541098b83524d901257e93845 commit: e8c07082a810fbb9db303a2b66b66b8d7e588b53 Kbuild: move to -std=gnu11 date: 5 weeks ago :::::: branch date: 12 hours ago :::::: commit date: 5 weeks ago config: x86_64-randconfig-c007-20220418 (https://download.01.org/0day-ci/archive/20220418/[email protected]/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project ef94609d6ebe981767788e6877b0b3b731d425af) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e8c07082a810fbb9db303a2b66b66b8d7e588b53 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout e8c07082a810fbb9db303a2b66b66b8d7e588b53 # save the config file to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 clang-analyzer If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> clang-analyzer warnings: (new ones prefixed by >>) 27 warnings generated. arch/x86/pci/acpi.c:355:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memcpy(bus->sysdata, &sd, sizeof(sd)); ^~~~~~ arch/x86/pci/acpi.c:355:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 memcpy(bus->sysdata, &sd, sizeof(sd)); ^~~~~~ Suppressed 26 warnings (26 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 26 warnings generated. Suppressed 26 warnings (26 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 62 warnings generated. Suppressed 62 warnings (62 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 77 warnings generated. drivers/net/wireless/marvell/libertas/debugfs.c:44:9: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] pos += snprintf(buf+pos, len-pos, "state = %s\n", ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:44:9: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 pos += snprintf(buf+pos, len-pos, "state = %s\n", ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:46:9: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] pos += snprintf(buf+pos, len-pos, "region_code = %02x\n", ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:46:9: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 pos += snprintf(buf+pos, len-pos, "region_code = %02x\n", ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:69:8: warning: Call to function 'sscanf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sscanf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] ret = sscanf(buf, "%d %d %d %d %d %d", &p1, &p2, &p3, &p4, &p5, &p6); ^~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:69:8: note: Call to function 'sscanf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sscanf_s' in case of C11 ret = sscanf(buf, "%d %d %d %d %d %d", &p1, &p2, &p3, &p4, &p5, &p6); ^~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:108:9: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] pos += snprintf(buf, len, "%d %d %d %d %d %d\n", sp.sp_error, ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:108:9: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 pos += snprintf(buf, len, "%d %d %d %d %d %d\n", sp.sp_error, ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:133:8: warning: Call to function 'sscanf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sscanf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] ret = sscanf(buf, "%d", &host_sleep); ^~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:133:8: note: Call to function 'sscanf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sscanf_s' in case of C11 ret = sscanf(buf, "%d", &host_sleep); ^~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:173:9: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] pos += snprintf(buf, len, "%d\n", priv->is_host_sleep_activated); ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:173:9: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 pos += snprintf(buf, len, "%d\n", priv->is_host_sleep_activated); ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:254:10: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] pos += snprintf(buf, len, "%d %d %d\n", value, freq, ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:254:10: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 pos += snprintf(buf, len, "%d %d %d\n", value, freq, ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:286:8: warning: Call to function 'sscanf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sscanf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] ret = sscanf(buf, "%d %d %d", &value, &freq, &new_mask); ^~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:286:8: note: Call to function 'sscanf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sscanf_s' in case of C11 ret = sscanf(buf, "%d %d %d", &value, &freq, &new_mask); ^~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:449:9: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] pos = snprintf(buf, len, "MAC[0x%x] = 0x%08x\n", ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:449:9: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 pos = snprintf(buf, len, "MAC[0x%x] = 0x%08x\n", ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:487:8: warning: Call to function 'sscanf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sscanf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] res = sscanf(buf, "%x %x", &offset, &value); ^~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:487:8: note: Call to function 'sscanf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sscanf_s' in case of C11 res = sscanf(buf, "%x %x", &offset, &value); ^~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:519:9: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] pos = snprintf(buf, len, "BBP[0x%x] = 0x%08x\n", ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:519:9: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 pos = snprintf(buf, len, "BBP[0x%x] = 0x%08x\n", ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:559:8: warning: Call to function 'sscanf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sscanf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] res = sscanf(buf, "%x %x", &offset, &value); ^~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:559:8: note: Call to function 'sscanf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sscanf_s' in case of C11 res = sscanf(buf, "%x %x", &offset, &value); ^~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:591:9: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] pos = snprintf(buf, len, "RF[0x%x] = 0x%08x\n", ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:591:9: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 pos = snprintf(buf, len, "RF[0x%x] = 0x%08x\n", ^~~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:630:8: warning: Call to function 'sscanf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sscanf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] res = sscanf(buf, "%x %x", &offset, &value); ^~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:630:8: note: Call to function 'sscanf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sscanf_s' in case of C11 res = sscanf(buf, "%x %x", &offset, &value); ^~~~~~ >> drivers/net/wireless/marvell/libertas/debugfs.c:834:10: warning: Call to >> function 'sprintf' is insecure as it does not provide bounding of the memory >> buffer or security checks introduced in the C11 standard. Replace with >> analogous functions that support length arguments or provides boundary >> checks such as 'sprintf_s' in case of C11 >> [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] pos += sprintf(p + pos, "%s=%d\n", d[i].name, val); ^~~~~~~ drivers/net/wireless/marvell/libertas/debugfs.c:834:10: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 pos += sprintf(p + pos, "%s=%d\n", d[i].name, val); ^~~~~~~ Suppressed 62 warnings (62 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 34 warnings generated. Suppressed 34 warnings (34 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 10 warnings generated. fs/configfs/item.c:60:9: warning: Call to function 'vsnprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'vsnprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] need = vsnprintf(item->ci_namebuf, limit, fmt, args); ^~~~~~~~~ fs/configfs/item.c:60:9: note: Call to function 'vsnprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'vsnprintf_s' in case of C11 need = vsnprintf(item->ci_namebuf, limit, fmt, args); ^~~~~~~~~ Suppressed 9 warnings (9 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 29 warnings generated. fs/overlayfs/super.c:1811:2: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores] err = -EINVAL; ^ ~~~~~~~ fs/overlayfs/super.c:1811:2: note: Value stored to 'err' is never read err = -EINVAL; ^ ~~~~~~~ Suppressed 28 warnings (28 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 33 warnings generated. fs/overlayfs/namei.c:51:3: warning: Call to function 'memmove' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memmove_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memmove(buf + prelen, buf, res); ^~~~~~~ fs/overlayfs/namei.c:51:3: note: Call to function 'memmove' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memmove_s' in case of C11 memmove(buf + prelen, buf, res); ^~~~~~~ fs/overlayfs/namei.c:52:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memcpy(buf, d->name.name, prelen); ^~~~~~ fs/overlayfs/namei.c:52:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 memcpy(buf, d->name.name, prelen); ^~~~~~ fs/overlayfs/namei.c:55:2: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] strcat(buf, post); ^~~~~~ fs/overlayfs/namei.c:55:2: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 strcat(buf, post); ^~~~~~ fs/overlayfs/namei.c:707:10: warning: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage] index = lookup_positive_unlocked(name.name, ofs->indexdir, name.len); ^ fs/overlayfs/namei.c:848:11: note: Assuming field 'redirect_follow' is false .last = ofs->config.redirect_follow ? false : !poe->numlower, ^~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/overlayfs/namei.c:848:11: note: '?' condition is false fs/overlayfs/namei.c:848:49: note: Assuming field 'numlower' is not equal to 0 .last = ofs->config.redirect_follow ? false : !poe->numlower, ^~~~~~~~~~~~~~ fs/overlayfs/namei.c:853:6: note: Assuming field 'len' is <= field 'namelen' if (dentry->d_name.len > ofs->namelen) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/overlayfs/namei.c:853:2: note: Taking false branch if (dentry->d_name.len > ofs->namelen) ^ fs/overlayfs/namei.c:858:6: note: Assuming 'upperdir' is null if (upperdir) { ^~~~~~~~ fs/overlayfs/namei.c:858:2: note: Taking false branch if (upperdir) { ^ fs/overlayfs/namei.c:898:9: note: Field 'stop' is false if (!d.stop && poe->numlower) { ^ fs/overlayfs/namei.c:898:6: note: Left side of '&&' is true if (!d.stop && poe->numlower) { ^ fs/overlayfs/namei.c:898:22: note: Field 'numlower' is not equal to 0 if (!d.stop && poe->numlower) { ^ fs/overlayfs/namei.c:898:2: note: Taking true branch if (!d.stop && poe->numlower) { ^ fs/overlayfs/namei.c:902:7: note: Assuming 'stack' is non-null if (!stack) ^~~~~~ fs/overlayfs/namei.c:902:3: note: Taking false branch if (!stack) ^ fs/overlayfs/namei.c:906:17: note: Field 'stop' is false for (i = 0; !d.stop && i < poe->numlower; i++) { ^ fs/overlayfs/namei.c:906:14: note: Left side of '&&' is true for (i = 0; !d.stop && i < poe->numlower; i++) { ^ fs/overlayfs/namei.c:906:25: note: 'i' is < field 'numlower' for (i = 0; !d.stop && i < poe->numlower; i++) { ^ fs/overlayfs/namei.c:906:2: note: Loop condition is true. Entering loop body for (i = 0; !d.stop && i < poe->numlower; i++) { ^ fs/overlayfs/namei.c:909:20: note: Field 'redirect_follow' is false vim +834 drivers/net/wireless/marvell/libertas/debugfs.c 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 795 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 796 /** 8973a6e770fc89 drivers/net/wireless/libertas/debugfs.c Randy Dunlap 2011-04-26 797 * lbs_debugfs_read - proc read function 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 798 * 8973a6e770fc89 drivers/net/wireless/libertas/debugfs.c Randy Dunlap 2011-04-26 799 * @file: file to read 8973a6e770fc89 drivers/net/wireless/libertas/debugfs.c Randy Dunlap 2011-04-26 800 * @userbuf: pointer to buffer 8973a6e770fc89 drivers/net/wireless/libertas/debugfs.c Randy Dunlap 2011-04-26 801 * @count: number of bytes to read 8973a6e770fc89 drivers/net/wireless/libertas/debugfs.c Randy Dunlap 2011-04-26 802 * @ppos: read data starting position 8973a6e770fc89 drivers/net/wireless/libertas/debugfs.c Randy Dunlap 2011-04-26 803 * 8973a6e770fc89 drivers/net/wireless/libertas/debugfs.c Randy Dunlap 2011-04-26 804 * returns: amount of data read or negative error code 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 805 */ 1007832103d016 drivers/net/wireless/libertas/debugfs.c Holger Schurig 2007-11-15 806 static ssize_t lbs_debugfs_read(struct file *file, char __user *userbuf, 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 807 size_t count, loff_t *ppos) 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 808 { 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 809 int val = 0; 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 810 size_t pos = 0; 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 811 ssize_t res; 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 812 char *p; 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 813 int i; 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 814 struct debug_data *d; 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 815 unsigned long addr = get_zeroed_page(GFP_KERNEL); 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 816 char *buf = (char *)addr; ad43f8bfb7b9a6 drivers/net/wireless/libertas/debugfs.c Kiran Divekar 2009-08-28 817 if (!buf) ad43f8bfb7b9a6 drivers/net/wireless/libertas/debugfs.c Kiran Divekar 2009-08-28 818 return -ENOMEM; 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 819 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 820 p = buf; 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 821 57674308d00b5e drivers/net/wireless/libertas/debugfs.c Joe Perches 2010-07-12 822 d = file->private_data; 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 823 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 824 for (i = 0; i < num_of_items; i++) { 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 825 if (d[i].size == 1) 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 826 val = *((u8 *) d[i].addr); 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 827 else if (d[i].size == 2) 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 828 val = *((u16 *) d[i].addr); 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 829 else if (d[i].size == 4) 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 830 val = *((u32 *) d[i].addr); 4269e2ad83036e drivers/net/wireless/libertas/debugfs.c Dan Williams 2007-05-10 831 else if (d[i].size == 8) 4269e2ad83036e drivers/net/wireless/libertas/debugfs.c Dan Williams 2007-05-10 832 val = *((u64 *) d[i].addr); 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 833 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 @834 pos += sprintf(p + pos, "%s=%d\n", d[i].name, val); 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 835 } 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 836 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 837 res = simple_read_from_buffer(userbuf, count, ppos, p, pos); 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 838 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 839 free_page(addr); 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 840 return res; 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 841 } 876c9d3aeb989c drivers/net/wireless/libertas/debugfs.c Marcelo Tosatti 2007-02-10 842 :::::: The code at line 834 was first introduced by commit :::::: 876c9d3aeb989cf1961f2c228d309ba5dcfb1172 [PATCH] Marvell Libertas 8388 802.11b/g USB driver :::::: TO: Marcelo Tosatti <[email protected]> :::::: CC: Jeff Garzik <[email protected]> -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
