summaryrefslogtreecommitdiffstats
path: root/drivers/platform/goldfish
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-04-26 11:43:39 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-04-26 11:43:39 +0200
commitf563dab41733c0e73202a8a5977b441715dc9946 (patch)
treea978195ff9d0302f623990bbb7f2e677b0cfeeb7 /drivers/platform/goldfish
parentgoldfish_pipe: An implementation of more parallel pipe (diff)
downloadlinux-f563dab41733c0e73202a8a5977b441715dc9946.tar.xz
linux-f563dab41733c0e73202a8a5977b441715dc9946.zip
goldfish_pipe: fix build warning about using too much stack.
The new goldfish_pipe code used too much stack space in the transfer_max_buffers() call. As the function is serialized with a lock, let's make the buffer static to not use the stack for the large buffer. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Yurii Zubrytskyi <zyy@google.com> Cc: Jin Qian <jinqian@android.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/platform/goldfish')
-rw-r--r--drivers/platform/goldfish/goldfish_pipe.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/platform/goldfish/goldfish_pipe.c b/drivers/platform/goldfish/goldfish_pipe.c
index 9804e9e455d2..2de1e603bd2b 100644
--- a/drivers/platform/goldfish/goldfish_pipe.c
+++ b/drivers/platform/goldfish/goldfish_pipe.c
@@ -385,7 +385,7 @@ static int transfer_max_buffers(struct goldfish_pipe *pipe,
unsigned long last_page, unsigned int last_page_size,
s32 *consumed_size, int *status)
{
- struct page *pages[MAX_BUFFERS_PER_COMMAND];
+ static struct page *pages[MAX_BUFFERS_PER_COMMAND];
unsigned long first_page = address & PAGE_MASK;
unsigned int iter_last_page_size;
int pages_count = pin_user_pages(first_page, last_page,
@@ -409,10 +409,10 @@ static int transfer_max_buffers(struct goldfish_pipe *pipe,
*consumed_size = pipe->command_buffer->rw_params.consumed_size;
- mutex_unlock(&pipe->lock);
-
release_user_pages(pages, pages_count, is_write, *consumed_size);
+ mutex_unlock(&pipe->lock);
+
return 0;
}