Messages in this thread |  | | Date | Fri, 17 Nov 2017 09:15:46 +0800 | From | kbuild test robot <> | Subject | drivers/net/wireless/broadcom/b43legacy/debugfs.c:224:23: error: implicit declaration of function 'debugfs_real_fops' |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: cf9b0772f2e410645fece13b749bd56505b998b8 commit: 7c8d469877b16d2c1cecf101a0abb7b218db85bc debugfs: add support for more elaborate ->d_fsdata date: 9 days ago config: x86_64-randconfig-s1-11170747 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: git checkout 7c8d469877b16d2c1cecf101a0abb7b218db85bc # save the attached .config to linux build tree make ARCH=x86_64
All error/warnings (new ones prefixed by >>):
In file included from include/linux/list.h:8:0, from include/linux/wait.h:6, from include/linux/wait_bit.h:7, from include/linux/fs.h:5, from drivers/net/wireless/broadcom/b43legacy/debugfs.c:26: drivers/net/wireless/broadcom/b43legacy/debugfs.c: In function 'b43legacy_debugfs_read': >> drivers/net/wireless/broadcom/b43legacy/debugfs.c:224:23: error: implicit declaration of function 'debugfs_real_fops' [-Werror=implicit-function-declaration] dfops = container_of(debugfs_real_fops(file), ^ include/linux/kernel.h:927:26: note: in definition of macro 'container_of' void *__mptr = (void *)(ptr); \ ^~~ include/linux/kernel.h:927:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] void *__mptr = (void *)(ptr); \ ^ >> drivers/net/wireless/broadcom/b43legacy/debugfs.c:224:10: note: in expansion of macro 'container_of' dfops = container_of(debugfs_real_fops(file), ^~~~~~~~~~~~ In file included from include/linux/linkage.h:4:0, from include/linux/fs.h:4, from drivers/net/wireless/broadcom/b43legacy/debugfs.c:26: include/linux/kernel.h:928:32: error: invalid type argument of unary '*' (have 'int') BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~ include/linux/compiler.h:553:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:576:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:928:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:928:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~ >> drivers/net/wireless/broadcom/b43legacy/debugfs.c:224:10: note: in expansion of macro 'container_of' dfops = container_of(debugfs_real_fops(file), ^~~~~~~~~~~~ include/linux/kernel.h:929:18: error: invalid type argument of unary '*' (have 'int') !__same_type(*(ptr), void), \ ^~~~~~ include/linux/compiler.h:553:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:576:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:928:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:929:6: note: in expansion of macro '__same_type' !__same_type(*(ptr), void), \ ^~~~~~~~~~~ >> drivers/net/wireless/broadcom/b43legacy/debugfs.c:224:10: note: in expansion of macro 'container_of' dfops = container_of(debugfs_real_fops(file), ^~~~~~~~~~~~ In file included from include/linux/list.h:8:0, from include/linux/wait.h:6, from include/linux/wait_bit.h:7, from include/linux/fs.h:5, from drivers/net/wireless/broadcom/b43legacy/debugfs.c:26: drivers/net/wireless/broadcom/b43legacy/debugfs.c: In function 'b43legacy_debugfs_write': include/linux/kernel.h:927:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] void *__mptr = (void *)(ptr); \ ^ drivers/net/wireless/broadcom/b43legacy/debugfs.c:291:10: note: in expansion of macro 'container_of' dfops = container_of(debugfs_real_fops(file), ^~~~~~~~~~~~ In file included from include/linux/linkage.h:4:0, from include/linux/fs.h:4, from drivers/net/wireless/broadcom/b43legacy/debugfs.c:26: include/linux/kernel.h:928:32: error: invalid type argument of unary '*' (have 'int') BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~ include/linux/compiler.h:553:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:576:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:928:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:928:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~ drivers/net/wireless/broadcom/b43legacy/debugfs.c:291:10: note: in expansion of macro 'container_of' dfops = container_of(debugfs_real_fops(file), ^~~~~~~~~~~~ include/linux/kernel.h:929:18: error: invalid type argument of unary '*' (have 'int') !__same_type(*(ptr), void), \ ^~~~~~ include/linux/compiler.h:553:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:576:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:928:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:929:6: note: in expansion of macro '__same_type' !__same_type(*(ptr), void), \ ^~~~~~~~~~~ drivers/net/wireless/broadcom/b43legacy/debugfs.c:291:10: note: in expansion of macro 'container_of' dfops = container_of(debugfs_real_fops(file), ^~~~~~~~~~~~ cc1: some warnings being treated as errors
vim +/debugfs_real_fops +224 drivers/net/wireless/broadcom/b43legacy/debugfs.c
75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 25 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 @26 #include <linux/fs.h> 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 27 #include <linux/debugfs.h> 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 28 #include <linux/slab.h> 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 29 #include <linux/netdevice.h> 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 30 #include <linux/pci.h> 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 31 #include <linux/mutex.h> 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 32 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 33 #include "b43legacy.h" 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 34 #include "main.h" 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 35 #include "debugfs.h" 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 36 #include "dma.h" 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 37 #include "pio.h" 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 38 #include "xmit.h" 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 39 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 40 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 41 /* The root directory. */ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 42 static struct dentry *rootdir; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 43 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 44 struct b43legacy_debugfs_fops { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 45 ssize_t (*read)(struct b43legacy_wldev *dev, char *buf, size_t bufsize); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 46 int (*write)(struct b43legacy_wldev *dev, const char *buf, size_t count); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 47 struct file_operations fops; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 48 /* Offset of struct b43legacy_dfs_file in struct b43legacy_dfsentry */ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 49 size_t file_struct_offset; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 50 /* Take wl->irq_lock before calling read/write? */ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 51 bool take_irqlock; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 52 }; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 53 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 54 static inline 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 55 struct b43legacy_dfs_file * fops_to_dfs_file(struct b43legacy_wldev *dev, 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 56 const struct b43legacy_debugfs_fops *dfops) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 57 { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 58 void *p; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 59 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 60 p = dev->dfsentry; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 61 p += dfops->file_struct_offset; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 62 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 63 return p; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 64 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 65 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 66 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 67 #define fappend(fmt, x...) \ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 68 do { \ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 69 if (bufsize - count) \ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 70 count += snprintf(buf + count, \ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 71 bufsize - count, \ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 72 fmt , ##x); \ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 73 else \ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 74 printk(KERN_ERR "b43legacy: fappend overflow\n"); \ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 75 } while (0) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 76 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 77 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 78 /* wl->irq_lock is locked */ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 79 static ssize_t tsf_read_file(struct b43legacy_wldev *dev, char *buf, size_t bufsize) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 80 { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 81 ssize_t count = 0; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 82 u64 tsf; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 83 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 84 b43legacy_tsf_read(dev, &tsf); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 85 fappend("0x%08x%08x\n", 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 86 (unsigned int)((tsf & 0xFFFFFFFF00000000ULL) >> 32), 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 87 (unsigned int)(tsf & 0xFFFFFFFFULL)); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 88 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 89 return count; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 90 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 91 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 92 /* wl->irq_lock is locked */ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 93 static int tsf_write_file(struct b43legacy_wldev *dev, const char *buf, size_t count) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 94 { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 95 u64 tsf; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 96 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 97 if (sscanf(buf, "%llu", (unsigned long long *)(&tsf)) != 1) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 98 return -EINVAL; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 99 b43legacy_tsf_write(dev, tsf); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 100 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 101 return 0; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 102 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 103 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 104 /* wl->irq_lock is locked */ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 105 static ssize_t ucode_regs_read_file(struct b43legacy_wldev *dev, char *buf, size_t bufsize) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 106 { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 107 ssize_t count = 0; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 108 int i; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 109 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 110 for (i = 0; i < 64; i++) { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 111 fappend("r%d = 0x%04x\n", i, 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 112 b43legacy_shm_read16(dev, B43legacy_SHM_WIRELESS, i)); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 113 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 114 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 115 return count; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 116 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 117 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 118 /* wl->irq_lock is locked */ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 119 static ssize_t shm_read_file(struct b43legacy_wldev *dev, char *buf, size_t bufsize) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 120 { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 121 ssize_t count = 0; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 122 int i; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 123 u16 tmp; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 124 __le16 *le16buf = (__le16 *)buf; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 125 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 126 for (i = 0; i < 0x1000; i++) { 187a9dca3 drivers/net/wireless/b43legacy/debugfs.c Stefano Brivio 2007-11-06 127 if (bufsize < sizeof(tmp)) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 128 break; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 129 tmp = b43legacy_shm_read16(dev, B43legacy_SHM_SHARED, 2 * i); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 130 le16buf[i] = cpu_to_le16(tmp); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 131 count += sizeof(tmp); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 132 bufsize -= sizeof(tmp); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 133 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 134 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 135 return count; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 136 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 137 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 138 static ssize_t txstat_read_file(struct b43legacy_wldev *dev, char *buf, size_t bufsize) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 139 { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 140 struct b43legacy_txstatus_log *log = &dev->dfsentry->txstatlog; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 141 ssize_t count = 0; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 142 unsigned long flags; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 143 int i, idx; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 144 struct b43legacy_txstatus *stat; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 145 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 146 spin_lock_irqsave(&log->lock, flags); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 147 if (log->end < 0) { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 148 fappend("Nothing transmitted, yet\n"); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 149 goto out_unlock; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 150 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 151 fappend("b43legacy TX status reports:\n\n" 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 152 "index | cookie | seq | phy_stat | frame_count | " 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 153 "rts_count | supp_reason | pm_indicated | " 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 154 "intermediate | for_ampdu | acked\n" "---\n"); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 155 i = log->end + 1; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 156 idx = 0; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 157 while (1) { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 158 if (i == B43legacy_NR_LOGGED_TXSTATUS) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 159 i = 0; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 160 stat = &(log->log[i]); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 161 if (stat->cookie) { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 162 fappend("%03d | " 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 163 "0x%04X | 0x%04X | 0x%02X | " 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 164 "0x%X | 0x%X | " 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 165 "%u | %u | " 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 166 "%u | %u | %u\n", 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 167 idx, 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 168 stat->cookie, stat->seq, stat->phy_stat, 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 169 stat->frame_count, stat->rts_count, 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 170 stat->supp_reason, stat->pm_indicated, 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 171 stat->intermediate, stat->for_ampdu, 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 172 stat->acked); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 173 idx++; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 174 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 175 if (i == log->end) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 176 break; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 177 i++; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 178 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 179 out_unlock: 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 180 spin_unlock_irqrestore(&log->lock, flags); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 181 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 182 return count; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 183 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 184 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 185 /* wl->irq_lock is locked */ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 186 static int restart_write_file(struct b43legacy_wldev *dev, const char *buf, size_t count) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 187 { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 188 int err = 0; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 189 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 190 if (count > 0 && buf[0] == '1') { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 191 b43legacy_controller_restart(dev, "manually restarted"); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 192 } else 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 193 err = -EINVAL; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 194 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 195 return err; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 196 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 197 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 198 #undef fappend 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 199 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 200 static ssize_t b43legacy_debugfs_read(struct file *file, char __user *userbuf, 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 201 size_t count, loff_t *ppos) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 202 { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 203 struct b43legacy_wldev *dev; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 204 struct b43legacy_debugfs_fops *dfops; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 205 struct b43legacy_dfs_file *dfile; 125c5cc2c drivers/net/wireless/b43legacy/debugfs.c Frank Lichtenheld 2007-11-24 206 ssize_t uninitialized_var(ret); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 207 char *buf; d8004cb92 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2008-12-09 208 const size_t bufsize = 1024 * 16; /* 16 KiB buffer */ 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 209 const size_t buforder = get_order(bufsize); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 210 int err = 0; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 211 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 212 if (!count) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 213 return 0; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 214 dev = file->private_data; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 215 if (!dev) 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 216 return -ENODEV; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 217 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 218 mutex_lock(&dev->wl->mutex); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 219 if (b43legacy_status(dev) < B43legacy_STAT_INITIALIZED) { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 220 err = -ENODEV; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 221 goto out_unlock; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 222 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 223 9c4a45b17 drivers/net/wireless/broadcom/b43legacy/debugfs.c Christian Lamparter 2016-09-17 @224 dfops = container_of(debugfs_real_fops(file), 9c4a45b17 drivers/net/wireless/broadcom/b43legacy/debugfs.c Christian Lamparter 2016-09-17 225 struct b43legacy_debugfs_fops, fops); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 226 if (!dfops->read) { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 227 err = -ENOSYS; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 228 goto out_unlock; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 229 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 230 dfile = fops_to_dfs_file(dev, dfops); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 231 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 232 if (!dfile->buffer) { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 233 buf = (char *)__get_free_pages(GFP_KERNEL, buforder); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 234 if (!buf) { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 235 err = -ENOMEM; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 236 goto out_unlock; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 237 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 238 memset(buf, 0, bufsize); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 239 if (dfops->take_irqlock) { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 240 spin_lock_irq(&dev->wl->irq_lock); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 241 ret = dfops->read(dev, buf, bufsize); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 242 spin_unlock_irq(&dev->wl->irq_lock); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 243 } else 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 244 ret = dfops->read(dev, buf, bufsize); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 245 if (ret <= 0) { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 246 free_pages((unsigned long)buf, buforder); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 247 err = ret; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 248 goto out_unlock; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 249 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 250 dfile->data_len = ret; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 251 dfile->buffer = buf; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 252 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 253 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 254 ret = simple_read_from_buffer(userbuf, count, ppos, 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 255 dfile->buffer, 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 256 dfile->data_len); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 257 if (*ppos >= dfile->data_len) { 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 258 free_pages((unsigned long)dfile->buffer, buforder); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 259 dfile->buffer = NULL; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 260 dfile->data_len = 0; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 261 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 262 out_unlock: 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 263 mutex_unlock(&dev->wl->mutex); 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 264 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 265 return err ? err : ret; 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 266 } 75388acd0 drivers/net/wireless/b43legacy/debugfs.c Larry Finger 2007-09-25 267
:::::: The code at line 224 was first introduced by commit :::::: 9c4a45b17e094a090e96beb1138e34c2a10c6b8c b43legacy: fix debugfs crash
:::::: TO: Christian Lamparter <chunkeey@googlemail.com> :::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [unhandled content-type:application/gzip] |  |