media: go7007: avoid clang frame overflow warning with KASAN
authorArnd Bergmann <arnd@arndb.de>
Tue, 19 Feb 2019 17:01:58 +0000 (12:01 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 31 May 2019 13:46:33 +0000 (06:46 -0700)
[ Upstream commit ed713a4a1367aca5c0f2f329579465db00c17995 ]

clang-8 warns about one function here when KASAN is enabled, even
without the 'asan-stack' option:

drivers/media/usb/go7007/go7007-fw.c:1551:5: warning: stack frame size of 2656 bytes in function

I have reported this issue in the llvm bugzilla, but to make
it work with the clang-8 release, a small annotation is still
needed.

Link: https://bugs.llvm.org/show_bug.cgi?id=38809
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
[hverkuil-cisco@xs4all.nl: fix checkpatch warning]
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/usb/go7007/go7007-fw.c

index 24f5b61..dfa9f89 100644 (file)
@@ -1499,8 +1499,8 @@ static int modet_to_package(struct go7007 *go, __le16 *code, int space)
        return cnt;
 }
 
-static int do_special(struct go7007 *go, u16 type, __le16 *code, int space,
-                       int *framelen)
+static noinline_for_stack int do_special(struct go7007 *go, u16 type,
+                                        __le16 *code, int space, int *framelen)
 {
        switch (type) {
        case SPECIAL_FRM_HEAD: