Skip to content
Snippets Groups Projects
Commit 80456adb authored by Luis Gerhorst's avatar Luis Gerhorst
Browse files

du: Don't use file descriptor stack

parent fd2876bb
No related branches found
No related tags found
No related merge requests found
...@@ -44,7 +44,7 @@ static long iter_dir(uint32_t d_type, size_t namelen, bool match) { ...@@ -44,7 +44,7 @@ static long iter_dir(uint32_t d_type, size_t namelen, bool match) {
err = -1; err = -1;
goto end; goto end;
} }
int parent_dfd = dfd[depth]; int parent_dfd = dfd[0];
/* void *name_user = u_iterdents64_buf + depth * PATHLEN; */ /* void *name_user = u_iterdents64_buf + depth * PATHLEN; */
void *name_user = u_iterdents64_buf; void *name_user = u_iterdents64_buf;
...@@ -89,8 +89,9 @@ static long iter_dir(uint32_t d_type, size_t namelen, bool match) { ...@@ -89,8 +89,9 @@ static long iter_dir(uint32_t d_type, size_t namelen, bool match) {
void *child_name_user = name_user; void *child_name_user = name_user;
curr_depth = child_depth; curr_depth = child_depth;
dfd[curr_depth] = child_dfd; dfd[0] = child_dfd;
err = bpf_task_iterdents64(child_dfd, pdpf, child_name_user, PATHLEN); err = bpf_task_iterdents64(child_dfd, pdpf, child_name_user, PATHLEN);
dfd[0] = parent_dfd;
if (err) { if (err) {
bpf_printk("Error: iterdents64(%d, %d) = %d", child_dfd, pdpf, err); bpf_printk("Error: iterdents64(%d, %d) = %d", child_dfd, pdpf, err);
goto reset_depth; goto reset_depth;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment