[intel-lts:5.10/yocto 10621/20368] drivers/media/v4l2-core/v4l2-subdev.c:1027:1: warning: the frame size of 1336 bytes is larger than 1024 bytes
by kernel test robot
Hi Wanhui,
FYI, the error/warning still remains.
tree: https://github.com/intel/linux-intel-lts.git 5.10/yocto
head: 1941d4b82f36cc6ecc513f3e496ad62726d00514
commit: f13978177f8c57c155d53df5f2df60f519e82e4a [10621/20368] v4l: subdev: Add support for sub-streams
config: microblaze-randconfig-r001-20220113 (https://download.01.org/0day-ci/archive/20220114/202201141641.Fsrwl9vd-lk...)
compiler: microblaze-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel/linux-intel-lts/commit/f13978177f8c57c155d53df5f...
git remote add intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 5.10/yocto
git checkout f13978177f8c57c155d53df5f2df60f519e82e4a
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=microblaze SHELL=/bin/bash drivers/media/v4l2-core/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/media/v4l2-core/v4l2-subdev.c: In function 'v4l2_subdev_link_validate':
>> drivers/media/v4l2-core/v4l2-subdev.c:1027:1: warning: the frame size of 1336 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1027 | }
| ^
vim +1027 drivers/media/v4l2-core/v4l2-subdev.c
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 907
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 908 int v4l2_subdev_link_validate(struct media_link *link)
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 909 {
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 910 struct v4l2_subdev *sink;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 911 struct v4l2_subdev_route sink_routes[LINK_VALIDATE_ROUTES];
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 912 struct v4l2_subdev_routing sink_routing = {
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 913 .routes = sink_routes,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 914 .num_routes = ARRAY_SIZE(sink_routes),
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 915 };
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 916 struct v4l2_subdev_route src_routes[LINK_VALIDATE_ROUTES];
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 917 struct v4l2_subdev_routing src_routing = {
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 918 .routes = src_routes,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 919 .num_routes = ARRAY_SIZE(src_routes),
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 920 };
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 921 unsigned int i, j;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 922 int rval;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 923
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 924 sink = media_entity_to_v4l2_subdev(link->sink->entity);
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 925 if (!sink)
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 926 return -EINVAL;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 927
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 928 if (!(link->sink->flags & MEDIA_PAD_FL_MULTIPLEX &&
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 929 link->source->flags & MEDIA_PAD_FL_MULTIPLEX))
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 930 return v4l2_subdev_link_validate_one(link, link->source, 0,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 931 link->sink, 0);
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 932 /*
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 933 * multiplex link cannot proceed without route information.
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 934 */
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 935 rval = v4l2_subdev_call(sink, pad, get_routing, &sink_routing);
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 936 if (rval) {
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 937 dev_err(sink->entity.graph_obj.mdev->dev,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 938 "error %d in get_routing() on %s, sink pad %u\n", rval,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 939 sink->entity.name, link->sink->index);
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 940
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 941 return rval;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 942 }
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 943
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 944 rval = v4l2_subdev_call(media_entity_to_v4l2_subdev(
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 945 link->source->entity),
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 946 pad, get_routing, &src_routing);
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 947 if (rval) {
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 948 dev_dbg(sink->entity.graph_obj.mdev->dev,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 949 "error %d in get_routing() on %s, source pad %u\n",
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 950 rval, sink->entity.name, link->source->index);
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 951
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 952 return rval;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 953 }
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 954
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 955 dev_dbg(sink->entity.graph_obj.mdev->dev,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 956 "validating multiplexed link \"%s\":%u -> \"%s\":%u; %u/%u routes\n",
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 957 link->source->entity->name, link->source->index,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 958 sink->entity.name, link->sink->index,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 959 src_routing.num_routes, sink_routing.num_routes);
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 960
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 961 for (i = 0; i < sink_routing.num_routes; i++) {
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 962 /* Get the first active route for the sink pad. */
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 963 if (sink_routes[i].sink_pad != link->sink->index ||
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 964 !(sink_routes[i].flags & V4L2_SUBDEV_ROUTE_FL_ACTIVE)) {
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 965 dev_dbg(sink->entity.graph_obj.mdev->dev,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 966 "skipping sink route %u/%u -> %u/%u[%u]\n",
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 967 sink_routes[i].sink_pad,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 968 sink_routes[i].sink_stream,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 969 sink_routes[i].source_pad,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 970 sink_routes[i].source_stream,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 971 (bool)(sink_routes[i].flags
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 972 & V4L2_SUBDEV_ROUTE_FL_ACTIVE));
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 973 continue;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 974 }
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 975
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 976 /*
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 977 * Get the corresponding route for the source pad.
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 978 * It's ok for the source pad to have routes active
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 979 * where the sink pad does not, but the routes that
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 980 * are active on the source pad have to be active on
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 981 * the sink pad as well.
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 982 */
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 983
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 984 for (j = 0; j < src_routing.num_routes; j++) {
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 985 if (src_routes[j].source_pad == link->source->index &&
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 986 src_routes[j].source_stream
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 987 == sink_routes[i].sink_stream)
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 988 break;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 989 }
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 990
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 991 if (j == src_routing.num_routes) {
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 992 dev_err(sink->entity.graph_obj.mdev->dev,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 993 "no corresponding source found.\n");
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 994 return -EINVAL;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 995 }
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 996
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 997 /* The source route must be active. */
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 998 if (!(src_routes[j].flags & V4L2_SUBDEV_ROUTE_FL_ACTIVE)) {
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 999 dev_dbg(sink->entity.graph_obj.mdev->dev,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1000 "source route not active\n");
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1001 return -EINVAL;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1002 }
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1003
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1004 dev_dbg(sink->entity.graph_obj.mdev->dev,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1005 "validating link \"%s\": %u/%u => \"%s\" %u/%u\n",
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1006 link->source->entity->name, src_routes[j].source_pad,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1007 src_routes[j].source_stream, sink->entity.name,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1008 sink_routes[i].sink_pad, sink_routes[i].sink_stream);
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1009
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1010 rval = v4l2_subdev_link_validate_one(
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1011 link, link->source, src_routes[j].source_stream,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1012 link->sink, sink_routes[i].sink_stream);
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1013 if (rval) {
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1014 dev_dbg(sink->entity.graph_obj.mdev->dev,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1015 "error %d in link validation\n", rval);
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1016 return rval;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1017 }
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1018 }
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1019
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1020 if (i < sink_routing.num_routes) {
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1021 dev_dbg(sink->entity.graph_obj.mdev->dev,
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1022 "not all sink routes verified; out of source routes\n");
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1023 return -EINVAL;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1024 }
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1025
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 1026 return 0;
e822d33e27dd00b drivers/media/v4l2-core/v4l2-subdev.c wu xia 2016-06-13 @1027 }
8227c92b6968840 drivers/media/video/v4l2-subdev.c Sakari Ailus 2011-10-10 1028 EXPORT_SYMBOL_GPL(v4l2_subdev_link_validate);
9b02cbb3ede89b5 drivers/media/v4l2-core/v4l2-subdev.c Laurent Pinchart 2015-04-24 1029
:::::: The code at line 1027 was first introduced by commit
:::::: e822d33e27dd00bb200f0e9db1811231554ce03c v4l: Take routing info into account in link validation
:::::: TO: wu xia <xia.wu(a)intel.com>
:::::: CC: Pan, Kris <kris.pan(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
[linux-stable-rc:linux-5.4.y 2563/9999] arch/ia64/kernel/kprobes.c:401:24: error: implicit declaration of function '__kretprobe_trampoline_handler'; did you mean 'kretprobe_trampoline'?
by kernel test robot
Hi Masami,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
head: 0a4ce4977bbeea4560a1f32632650b388c834c8a
commit: 77fa5e15c933a1ec812de61ad709c00aa51e96ae [2563/9999] ia64: kprobes: Use generic kretprobe trampoline handler
config: ia64-randconfig-r002-20220112 (https://download.01.org/0day-ci/archive/20220113/202201130408.tdm9swhk-lk...)
compiler: ia64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gi...
git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc linux-5.4.y
git checkout 77fa5e15c933a1ec812de61ad709c00aa51e96ae
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=ia64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/ia64/kernel/kprobes.c: In function 'get_kprobe_inst':
arch/ia64/kernel/kprobes.c:325:22: warning: variable 'template' set but not used [-Wunused-but-set-variable]
325 | unsigned int template;
| ^~~~~~~~
arch/ia64/kernel/kprobes.c: At top level:
arch/ia64/kernel/kprobes.c:399:15: warning: no previous prototype for 'trampoline_probe_handler' [-Wmissing-prototypes]
399 | int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~~~~~~
arch/ia64/kernel/kprobes.c: In function 'trampoline_probe_handler':
>> arch/ia64/kernel/kprobes.c:401:24: error: implicit declaration of function '__kretprobe_trampoline_handler'; did you mean 'kretprobe_trampoline'? [-Werror=implicit-function-declaration]
401 | regs->cr_iip = __kretprobe_trampoline_handler(regs, kretprobe_trampoline, NULL);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| kretprobe_trampoline
cc1: some warnings being treated as errors
vim +401 arch/ia64/kernel/kprobes.c
398
399 int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs)
400 {
> 401 regs->cr_iip = __kretprobe_trampoline_handler(regs, kretprobe_trampoline, NULL);
402 /*
403 * By returning a non-zero value, we are telling
404 * kprobe_handler() that we don't want the post_handler
405 * to run (and have re-enabled preemption)
406 */
407 return 1;
408 }
409
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
[jens-wiklander-tee:testing/tuxbuild 6/13] drivers/tee/tee_shm.c:52:17: warning: no previous prototype for 'shm_alloc_helper'
by kernel test robot
tree: http://git.linaro.org/people/jens.wiklander/linux-tee testing/tuxbuild
head: 9ea0d125d4c9a4144b8641c454e97406b483722d
commit: b056eac4e504db8ee3fb03b4d13f1c9f2653bee8 [6/13] tee: replace tee_shm_alloc()
config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20220114/202201141526.DF7opbkO-lk...)
compiler: arceb-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add jens-wiklander-tee http://git.linaro.org/people/jens.wiklander/linux-tee
git fetch --no-tags jens-wiklander-tee testing/tuxbuild
git checkout b056eac4e504db8ee3fb03b4d13f1c9f2653bee8
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash drivers/tee/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/tee/tee_shm.c:52:17: warning: no previous prototype for 'shm_alloc_helper' [-Wmissing-prototypes]
52 | struct tee_shm *shm_alloc_helper(struct tee_context *ctx, size_t size,
| ^~~~~~~~~~~~~~~~
vim +/shm_alloc_helper +52 drivers/tee/tee_shm.c
51
> 52 struct tee_shm *shm_alloc_helper(struct tee_context *ctx, size_t size,
53 size_t align, u32 flags, int id)
54 {
55 struct tee_device *teedev = ctx->teedev;
56 struct tee_shm *shm;
57 void *ret;
58 int rc;
59
60 if (!tee_device_get(teedev))
61 return ERR_PTR(-EINVAL);
62
63 if (!teedev->pool) {
64 /* teedev has been detached from driver */
65 ret = ERR_PTR(-EINVAL);
66 goto err_dev_put;
67 }
68
69 shm = kzalloc(sizeof(*shm), GFP_KERNEL);
70 if (!shm) {
71 ret = ERR_PTR(-ENOMEM);
72 goto err_dev_put;
73 }
74
75 refcount_set(&shm->refcount, 1);
76 shm->flags = flags;
77 shm->id = id;
78
79 /*
80 * We're assigning this as it is needed if the shm is to be
81 * registered. If this function returns OK then the caller expected
82 * to call teedev_ctx_get() or clear shm->ctx in case it's not
83 * needed any longer.
84 */
85 shm->ctx = ctx;
86
87 rc = teedev->pool->ops->alloc(teedev->pool, shm, size, align);
88 if (rc) {
89 ret = ERR_PTR(rc);
90 goto err_kfree;
91 }
92
93 teedev_ctx_get(ctx);
94 return shm;
95 err_kfree:
96 kfree(shm);
97 err_dev_put:
98 tee_device_put(teedev);
99 return ret;
100 }
101
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week
arch/mips/mm/tlbex.c:2173 build_r4000_tlb_load_handler() warn: inconsistent indenting
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fb3b0673b7d5b477ed104949450cd511337ba3c6
commit: bc431d2153cc290573531601b5004babe7011568 MIPS: Fix fall-through warnings for Clang
date: 6 months ago
config: mips-randconfig-m031-20220113 (https://download.01.org/0day-ci/archive/20220114/202201141542.CONRbnQm-lk...)
compiler: mips64el-linux-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
New smatch warnings:
arch/mips/mm/tlbex.c:2173 build_r4000_tlb_load_handler() warn: inconsistent indenting
Old smatch warnings:
arch/mips/mm/tlbex.c:2603 check_pabits() warn: always true condition '(fillbits >= ((__builtin_constant_p(0)) ?(((0) < 2) ?0:63 - __builtin_clzll(0)):((4 <= 4)) ?__ilog2_u32(0):__ilog2_u64(0))) => (0-u32max >= 0)'
vim +2173 arch/mips/mm/tlbex.c
2114
2115 static void build_r4000_tlb_load_handler(void)
2116 {
2117 u32 *p = (u32 *)msk_isa16_mode((ulong)handle_tlbl);
2118 struct uasm_label *l = labels;
2119 struct uasm_reloc *r = relocs;
2120 struct work_registers wr;
2121
2122 memset(p, 0, handle_tlbl_end - (char *)p);
2123 memset(labels, 0, sizeof(labels));
2124 memset(relocs, 0, sizeof(relocs));
2125
2126 if (bcm1250_m3_war()) {
2127 unsigned int segbits = 44;
2128
2129 uasm_i_dmfc0(&p, K0, C0_BADVADDR);
2130 uasm_i_dmfc0(&p, K1, C0_ENTRYHI);
2131 uasm_i_xor(&p, K0, K0, K1);
2132 uasm_i_dsrl_safe(&p, K1, K0, 62);
2133 uasm_i_dsrl_safe(&p, K0, K0, 12 + 1);
2134 uasm_i_dsll_safe(&p, K0, K0, 64 + 12 + 1 - segbits);
2135 uasm_i_or(&p, K0, K0, K1);
2136 uasm_il_bnez(&p, &r, K0, label_leave);
2137 /* No need for uasm_i_nop */
2138 }
2139
2140 wr = build_r4000_tlbchange_handler_head(&p, &l, &r);
2141 build_pte_present(&p, &r, wr.r1, wr.r2, wr.r3, label_nopage_tlbl);
2142 if (m4kc_tlbp_war())
2143 build_tlb_probe_entry(&p);
2144
2145 if (cpu_has_rixi && !cpu_has_rixiex) {
2146 /*
2147 * If the page is not _PAGE_VALID, RI or XI could not
2148 * have triggered it. Skip the expensive test..
2149 */
2150 if (use_bbit_insns()) {
2151 uasm_il_bbit0(&p, &r, wr.r1, ilog2(_PAGE_VALID),
2152 label_tlbl_goaround1);
2153 } else {
2154 uasm_i_andi(&p, wr.r3, wr.r1, _PAGE_VALID);
2155 uasm_il_beqz(&p, &r, wr.r3, label_tlbl_goaround1);
2156 }
2157 uasm_i_nop(&p);
2158
2159 /*
2160 * Warn if something may race with us & replace the TLB entry
2161 * before we read it here. Everything with such races should
2162 * also have dedicated RiXi exception handlers, so this
2163 * shouldn't be hit.
2164 */
2165 WARN(cpu_has_tlbex_tlbp_race(), "Unhandled race in RiXi path");
2166
2167 uasm_i_tlbr(&p);
2168
2169 switch (current_cpu_type()) {
2170 default:
2171 if (cpu_has_mips_r2_exec_hazard) {
2172 uasm_i_ehb(&p);
> 2173 fallthrough;
2174
2175 case CPU_CAVIUM_OCTEON:
2176 case CPU_CAVIUM_OCTEON_PLUS:
2177 case CPU_CAVIUM_OCTEON2:
2178 break;
2179 }
2180 }
2181
2182 /* Examine entrylo 0 or 1 based on ptr. */
2183 if (use_bbit_insns()) {
2184 uasm_i_bbit0(&p, wr.r2, ilog2(sizeof(pte_t)), 8);
2185 } else {
2186 uasm_i_andi(&p, wr.r3, wr.r2, sizeof(pte_t));
2187 uasm_i_beqz(&p, wr.r3, 8);
2188 }
2189 /* load it in the delay slot*/
2190 UASM_i_MFC0(&p, wr.r3, C0_ENTRYLO0);
2191 /* load it if ptr is odd */
2192 UASM_i_MFC0(&p, wr.r3, C0_ENTRYLO1);
2193 /*
2194 * If the entryLo (now in wr.r3) is valid (bit 1), RI or
2195 * XI must have triggered it.
2196 */
2197 if (use_bbit_insns()) {
2198 uasm_il_bbit1(&p, &r, wr.r3, 1, label_nopage_tlbl);
2199 uasm_i_nop(&p);
2200 uasm_l_tlbl_goaround1(&l, p);
2201 } else {
2202 uasm_i_andi(&p, wr.r3, wr.r3, 2);
2203 uasm_il_bnez(&p, &r, wr.r3, label_nopage_tlbl);
2204 uasm_i_nop(&p);
2205 }
2206 uasm_l_tlbl_goaround1(&l, p);
2207 }
2208 build_make_valid(&p, &r, wr.r1, wr.r2, wr.r3);
2209 build_r4000_tlbchange_handler_tail(&p, &l, &r, wr.r1, wr.r2);
2210
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months, 1 week