Commit aa384d10 authored by Eric W. Biederman's avatar Eric W. Biederman
Browse files

file: Merge __alloc_fd into alloc_fd



The function __alloc_fd was added to support binder[1].  With binder
fixed[2] there are no more users.

As alloc_fd just calls __alloc_fd with "files=current->files",
merge them together by transforming the files parameter into a
local variable initialized to current->files.

[1] dcfadfa4 ("new helper: __alloc_fd()")
[2] 44d8047f ("binder: use standard functions to allocate fds")
Acked-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
v1: https://lkml.kernel.org/r/20200817220425.9389-16-ebiederm@xmission.com
Link: https://lkml.kernel.org/r/20201120231441.29911-20-ebiederm@xmission.com


Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
parent e06b53c2
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -480,9 +480,9 @@ static unsigned int find_next_fd(struct fdtable *fdt, unsigned int start)
/*
 * allocate a file descriptor, mark it busy.
 */
int __alloc_fd(struct files_struct *files,
	       unsigned start, unsigned end, unsigned flags)
static int alloc_fd(unsigned start, unsigned end, unsigned flags)
{
	struct files_struct *files = current->files;
	unsigned int fd;
	int error;
	struct fdtable *fdt;
@@ -538,14 +538,9 @@ int __alloc_fd(struct files_struct *files,
	return error;
}

static int alloc_fd(unsigned start, unsigned end, unsigned flags)
{
	return __alloc_fd(current->files, start, end, flags);
}

int __get_unused_fd_flags(unsigned flags, unsigned long nofile)
{
	return __alloc_fd(current->files, 0, nofile, flags);
	return alloc_fd(0, nofile, flags);
}

int get_unused_fd_flags(unsigned flags)
+0 −2
Original line number Diff line number Diff line
@@ -124,8 +124,6 @@ int iterate_fd(struct files_struct *, unsigned,
		int (*)(const void *, struct file *, unsigned),
		const void *);

extern int __alloc_fd(struct files_struct *files,
		      unsigned start, unsigned end, unsigned flags);
extern int __close_fd(struct files_struct *files,
		      unsigned int fd);
extern int __close_range(unsigned int fd, unsigned int max_fd, unsigned int flags);