Re: [PATCH 04/15] task_diag: add a new interface to get information about tasks (v4)

From: kbuild test robot
Date: Mon Apr 11 2016 - 21:05:28 EST


Hi Andrey,

[auto build test ERROR on v4.6-rc3]
[also build test ERROR on next-20160411]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url: https://github.com/0day-ci/linux/commits/Andrey-Vagin/task_diag-add-a-new-interface-to-get-information-about-processes-v3/20160412-074109
config: microblaze-allmodconfig (attached as .config)
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=microblaze

Note: the linux-review/Andrey-Vagin/task_diag-add-a-new-interface-to-get-information-about-processes-v3/20160412-074109 HEAD 2e0f174ce7e6fddc8fdd89f3dbb8d990626358a0 builds fine.
It only hurts bisectibility.

All errors (new ones prefixed by >>):

>> fs/proc/task_diag.c:139:19: error: field 'tgid' has incomplete type
struct tgid_iter tgid;
^
fs/proc/task_diag.c: In function 'iter_start':
>> fs/proc/task_diag.c:187:3: error: implicit declaration of function 'next_tgid' [-Werror=implicit-function-declaration]
iter->tgid = next_tgid(iter->ns, iter->tgid);
^
cc1: some warnings being treated as errors

vim +/tgid +139 fs/proc/task_diag.c

133 struct task_diag_pid req;
134 struct pid_namespace *ns;
135 struct task_struct *parent;
136
137 struct task_diag_cb *cb;
138
> 139 struct tgid_iter tgid;
140 unsigned int pos;
141 struct task_struct *task;
142 };
143
144 static void iter_stop(struct task_iter *iter)
145 {
146 struct task_struct *task;
147
148 if (iter->parent)
149 put_task_struct(iter->parent);
150
151 switch (iter->req.dump_strategy) {
152 case TASK_DIAG_DUMP_ALL:
153 task = iter->tgid.task;
154 break;
155 default:
156 task = iter->task;
157 }
158 if (task)
159 put_task_struct(task);
160 }
161
162 static struct task_struct *iter_start(struct task_iter *iter)
163 {
164 if (iter->req.pid > 0) {
165 rcu_read_lock();
166 iter->parent = find_task_by_pid_ns(iter->req.pid, iter->ns);
167 if (iter->parent)
168 get_task_struct(iter->parent);
169 rcu_read_unlock();
170 }
171
172 switch (iter->req.dump_strategy) {
173 case TASK_DIAG_DUMP_ONE:
174 if (iter->parent == NULL)
175 return ERR_PTR(-ESRCH);
176 iter->pos = iter->cb->pos;
177 if (iter->pos == 0) {
178 iter->task = iter->parent;
179 iter->parent = NULL;
180 } else
181 iter->task = NULL;
182 return iter->task;
183
184 case TASK_DIAG_DUMP_ALL:
185 iter->tgid.tgid = iter->cb->pid;
186 iter->tgid.task = NULL;
> 187 iter->tgid = next_tgid(iter->ns, iter->tgid);
188 return iter->tgid.task;
189 }
190

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: Binary data