fda              2360 drivers/android/binder.c 			struct binder_fd_array_object *fda;
fda              2379 drivers/android/binder.c 			fda = to_binder_fd_array_object(hdr);
fda              2381 drivers/android/binder.c 						     fda->parent,
fda              2390 drivers/android/binder.c 			fd_buf_size = sizeof(u32) * fda->num_fds;
fda              2391 drivers/android/binder.c 			if (fda->num_fds >= SIZE_MAX / sizeof(u32)) {
fda              2393 drivers/android/binder.c 				       debug_id, (u64)fda->num_fds);
fda              2397 drivers/android/binder.c 			    fda->parent_offset > parent->length - fd_buf_size) {
fda              2400 drivers/android/binder.c 				       debug_id, (u64)fda->num_fds);
fda              2412 drivers/android/binder.c 			    fda->parent_offset;
fda              2413 drivers/android/binder.c 			for (fd_index = 0; fd_index < fda->num_fds;
fda              2625 drivers/android/binder.c static int binder_translate_fd_array(struct binder_fd_array_object *fda,
fda              2636 drivers/android/binder.c 	fd_buf_size = sizeof(u32) * fda->num_fds;
fda              2637 drivers/android/binder.c 	if (fda->num_fds >= SIZE_MAX / sizeof(u32)) {
fda              2639 drivers/android/binder.c 				  proc->pid, thread->pid, (u64)fda->num_fds);
fda              2643 drivers/android/binder.c 	    fda->parent_offset > parent->length - fd_buf_size) {
fda              2646 drivers/android/binder.c 				  proc->pid, thread->pid, (u64)fda->num_fds);
fda              2657 drivers/android/binder.c 		fda->parent_offset;
fda              2663 drivers/android/binder.c 	for (fdi = 0; fdi < fda->num_fds; fdi++) {
fda              3315 drivers/android/binder.c 			struct binder_fd_array_object *fda =
fda              3321 drivers/android/binder.c 						    &ptr_object, fda->parent,
fda              3336 drivers/android/binder.c 						   fda->parent_offset,
fda              3346 drivers/android/binder.c 			ret = binder_translate_fd_array(fda, parent, t, thread,
fda              3356 drivers/android/binder.c 				fda->parent_offset + sizeof(u32) * fda->num_fds;
fda                12 tools/lib/api/fd/array.c void fdarray__init(struct fdarray *fda, int nr_autogrow)
fda                14 tools/lib/api/fd/array.c 	fda->entries	 = NULL;
fda                15 tools/lib/api/fd/array.c 	fda->priv	 = NULL;
fda                16 tools/lib/api/fd/array.c 	fda->nr		 = fda->nr_alloc = 0;
fda                17 tools/lib/api/fd/array.c 	fda->nr_autogrow = nr_autogrow;
fda                20 tools/lib/api/fd/array.c int fdarray__grow(struct fdarray *fda, int nr)
fda                23 tools/lib/api/fd/array.c 	int nr_alloc = fda->nr_alloc + nr;
fda                24 tools/lib/api/fd/array.c 	size_t psize = sizeof(fda->priv[0]) * nr_alloc;
fda                26 tools/lib/api/fd/array.c 	struct pollfd *entries = realloc(fda->entries, size);
fda                31 tools/lib/api/fd/array.c 	priv = realloc(fda->priv, psize);
fda                37 tools/lib/api/fd/array.c 	fda->nr_alloc = nr_alloc;
fda                38 tools/lib/api/fd/array.c 	fda->entries  = entries;
fda                39 tools/lib/api/fd/array.c 	fda->priv     = priv;
fda                45 tools/lib/api/fd/array.c 	struct fdarray *fda = calloc(1, sizeof(*fda));
fda                47 tools/lib/api/fd/array.c 	if (fda != NULL) {
fda                48 tools/lib/api/fd/array.c 		if (fdarray__grow(fda, nr_alloc)) {
fda                49 tools/lib/api/fd/array.c 			free(fda);
fda                50 tools/lib/api/fd/array.c 			fda = NULL;
fda                52 tools/lib/api/fd/array.c 			fda->nr_autogrow = nr_autogrow;
fda                56 tools/lib/api/fd/array.c 	return fda;
fda                59 tools/lib/api/fd/array.c void fdarray__exit(struct fdarray *fda)
fda                61 tools/lib/api/fd/array.c 	free(fda->entries);
fda                62 tools/lib/api/fd/array.c 	free(fda->priv);
fda                63 tools/lib/api/fd/array.c 	fdarray__init(fda, 0);
fda                66 tools/lib/api/fd/array.c void fdarray__delete(struct fdarray *fda)
fda                68 tools/lib/api/fd/array.c 	fdarray__exit(fda);
fda                69 tools/lib/api/fd/array.c 	free(fda);
fda                72 tools/lib/api/fd/array.c int fdarray__add(struct fdarray *fda, int fd, short revents)
fda                74 tools/lib/api/fd/array.c 	int pos = fda->nr;
fda                76 tools/lib/api/fd/array.c 	if (fda->nr == fda->nr_alloc &&
fda                77 tools/lib/api/fd/array.c 	    fdarray__grow(fda, fda->nr_autogrow) < 0)
fda                80 tools/lib/api/fd/array.c 	fda->entries[fda->nr].fd     = fd;
fda                81 tools/lib/api/fd/array.c 	fda->entries[fda->nr].events = revents;
fda                82 tools/lib/api/fd/array.c 	fda->nr++;
fda                86 tools/lib/api/fd/array.c int fdarray__filter(struct fdarray *fda, short revents,
fda                87 tools/lib/api/fd/array.c 		    void (*entry_destructor)(struct fdarray *fda, int fd, void *arg),
fda                92 tools/lib/api/fd/array.c 	if (fda->nr == 0)
fda                95 tools/lib/api/fd/array.c 	for (fd = 0; fd < fda->nr; ++fd) {
fda                96 tools/lib/api/fd/array.c 		if (fda->entries[fd].revents & revents) {
fda                98 tools/lib/api/fd/array.c 				entry_destructor(fda, fd, arg);
fda               104 tools/lib/api/fd/array.c 			fda->entries[nr] = fda->entries[fd];
fda               105 tools/lib/api/fd/array.c 			fda->priv[nr]	 = fda->priv[fd];
fda               111 tools/lib/api/fd/array.c 	return fda->nr = nr;
fda               114 tools/lib/api/fd/array.c int fdarray__poll(struct fdarray *fda, int timeout)
fda               116 tools/lib/api/fd/array.c 	return poll(fda->entries, fda->nr, timeout);
fda               119 tools/lib/api/fd/array.c int fdarray__fprintf(struct fdarray *fda, FILE *fp)
fda               121 tools/lib/api/fd/array.c 	int fd, printed = fprintf(fp, "%d [ ", fda->nr);
fda               123 tools/lib/api/fd/array.c 	for (fd = 0; fd < fda->nr; ++fd)
fda               124 tools/lib/api/fd/array.c 		printed += fprintf(fp, "%s%d", fd ? ", " : "", fda->entries[fd].fd);
fda                30 tools/lib/api/fd/array.h void fdarray__init(struct fdarray *fda, int nr_autogrow);
fda                31 tools/lib/api/fd/array.h void fdarray__exit(struct fdarray *fda);
fda                34 tools/lib/api/fd/array.h void fdarray__delete(struct fdarray *fda);
fda                36 tools/lib/api/fd/array.h int fdarray__add(struct fdarray *fda, int fd, short revents);
fda                37 tools/lib/api/fd/array.h int fdarray__poll(struct fdarray *fda, int timeout);
fda                38 tools/lib/api/fd/array.h int fdarray__filter(struct fdarray *fda, short revents,
fda                39 tools/lib/api/fd/array.h 		    void (*entry_destructor)(struct fdarray *fda, int fd, void *arg),
fda                41 tools/lib/api/fd/array.h int fdarray__grow(struct fdarray *fda, int extra);
fda                42 tools/lib/api/fd/array.h int fdarray__fprintf(struct fdarray *fda, FILE *fp);
fda                44 tools/lib/api/fd/array.h static inline int fdarray__available_entries(struct fdarray *fda)
fda                46 tools/lib/api/fd/array.h 	return fda->nr_alloc - fda->nr;
fda               985 tools/perf/builtin-kvm.c 		struct fdarray *fda = &kvm->evlist->core.pollfd;
fda               996 tools/perf/builtin-kvm.c 		if (fda->entries[nr_stdin].revents & POLLIN)
fda              1000 tools/perf/builtin-kvm.c 			err = fdarray__poll(fda, 100);
fda                 7 tools/perf/tests/fdarray.c static void fdarray__init_revents(struct fdarray *fda, short revents)
fda                11 tools/perf/tests/fdarray.c 	fda->nr = fda->nr_alloc;
fda                13 tools/perf/tests/fdarray.c 	for (fd = 0; fd < fda->nr; ++fd) {
fda                14 tools/perf/tests/fdarray.c 		fda->entries[fd].fd	 = fda->nr - fd;
fda                15 tools/perf/tests/fdarray.c 		fda->entries[fd].revents = revents;
fda                19 tools/perf/tests/fdarray.c static int fdarray__fprintf_prefix(struct fdarray *fda, const char *prefix, FILE *fp)
fda                27 tools/perf/tests/fdarray.c 	return printed + fdarray__fprintf(fda, fp);
fda                33 tools/perf/tests/fdarray.c 	struct fdarray *fda = fdarray__new(5, 5);
fda                35 tools/perf/tests/fdarray.c 	if (fda == NULL) {
fda                40 tools/perf/tests/fdarray.c 	fdarray__init_revents(fda, POLLIN);
fda                41 tools/perf/tests/fdarray.c 	nr_fds = fdarray__filter(fda, POLLHUP, NULL, NULL);
fda                42 tools/perf/tests/fdarray.c 	if (nr_fds != fda->nr_alloc) {
fda                44 tools/perf/tests/fdarray.c 			 nr_fds, fda->nr_alloc);
fda                48 tools/perf/tests/fdarray.c 	fdarray__init_revents(fda, POLLHUP);
fda                49 tools/perf/tests/fdarray.c 	nr_fds = fdarray__filter(fda, POLLHUP, NULL, NULL);
fda                52 tools/perf/tests/fdarray.c 			 nr_fds, fda->nr_alloc);
fda                56 tools/perf/tests/fdarray.c 	fdarray__init_revents(fda, POLLHUP);
fda                57 tools/perf/tests/fdarray.c 	fda->entries[2].revents = POLLIN;
fda                58 tools/perf/tests/fdarray.c 	expected_fd[0] = fda->entries[2].fd;
fda                61 tools/perf/tests/fdarray.c 	fdarray__fprintf_prefix(fda, "before", stderr);
fda                62 tools/perf/tests/fdarray.c 	nr_fds = fdarray__filter(fda, POLLHUP, NULL, NULL);
fda                63 tools/perf/tests/fdarray.c 	fdarray__fprintf_prefix(fda, " after", stderr);
fda                69 tools/perf/tests/fdarray.c 	if (fda->entries[0].fd != expected_fd[0]) {
fda                71 tools/perf/tests/fdarray.c 			 fda->entries[0].fd, expected_fd[0]);
fda                75 tools/perf/tests/fdarray.c 	fdarray__init_revents(fda, POLLHUP);
fda                76 tools/perf/tests/fdarray.c 	fda->entries[0].revents = POLLIN;
fda                77 tools/perf/tests/fdarray.c 	expected_fd[0] = fda->entries[0].fd;
fda                78 tools/perf/tests/fdarray.c 	fda->entries[3].revents = POLLIN;
fda                79 tools/perf/tests/fdarray.c 	expected_fd[1] = fda->entries[3].fd;
fda                82 tools/perf/tests/fdarray.c 	fdarray__fprintf_prefix(fda, "before", stderr);
fda                83 tools/perf/tests/fdarray.c 	nr_fds = fdarray__filter(fda, POLLHUP, NULL, NULL);
fda                84 tools/perf/tests/fdarray.c 	fdarray__fprintf_prefix(fda, " after", stderr);
fda                92 tools/perf/tests/fdarray.c 		if (fda->entries[fd].fd != expected_fd[fd]) {
fda                94 tools/perf/tests/fdarray.c 				 fda->entries[fd].fd, expected_fd[fd]);
fda               103 tools/perf/tests/fdarray.c 	fdarray__delete(fda);
fda               111 tools/perf/tests/fdarray.c 	struct fdarray *fda = fdarray__new(2, 2);
fda               113 tools/perf/tests/fdarray.c 	if (fda == NULL) {
fda               119 tools/perf/tests/fdarray.c 	if (fda->entries[_idx].fd != _fd) {				   \
fda               121 tools/perf/tests/fdarray.c 			 __LINE__, _idx, fda->entries[1].fd, _fd);	   \
fda               124 tools/perf/tests/fdarray.c 	if (fda->entries[_idx].events != (_revents)) {			   \
fda               126 tools/perf/tests/fdarray.c 			 __LINE__, _idx, fda->entries[_idx].fd, _revents); \
fda               131 tools/perf/tests/fdarray.c 	if (fdarray__add(fda, _fd, _revents) < 0) {			   \
fda               136 tools/perf/tests/fdarray.c 	if (fda->nr != _nr) {						   \
fda               138 tools/perf/tests/fdarray.c 			 __LINE__,_fd, _revents, fda->nr, _nr);		   \
fda               146 tools/perf/tests/fdarray.c 	fdarray__fprintf_prefix(fda, "before growing array", stderr);
fda               150 tools/perf/tests/fdarray.c 	if (fda->entries == NULL) {
fda               155 tools/perf/tests/fdarray.c 	fdarray__fprintf_prefix(fda, "after 3rd add", stderr);
fda               159 tools/perf/tests/fdarray.c 	fdarray__fprintf_prefix(fda, "after 4th add", stderr);
fda               173 tools/perf/tests/fdarray.c 	fdarray__delete(fda);
fda               406 tools/perf/util/evlist.c static void perf_evlist__munmap_filtered(struct fdarray *fda, int fd,
fda               409 tools/perf/util/evlist.c 	struct mmap *map = fda->priv[fd].ptr;
fda               160 tools/testing/selftests/net/msg_zerocopy.c 	int fda = fd;
fda               162 tools/testing/selftests/net/msg_zerocopy.c 	fd = accept(fda, NULL, NULL);
fda               165 tools/testing/selftests/net/msg_zerocopy.c 	if (close(fda))