From: kernel test robot <lkp@intel.com>
To: Jiri Pirko <jiri@nvidia.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [jpirko-mlxsw:wip_attestation_pre_rfc_draft1 20/26] drivers/attestation/core/ctlv.c:968:5: warning: stack frame size (1344) exceeds limit (1280) in 'ctlv_attestation_mr_log_get_query'
Date: Sat, 03 Oct 2026 05:59:00 +0800 [thread overview]
Message-ID: <202610030528.9y9vbjsV-lkp@intel.com> (raw)
tree: https://github.com/jpirko/linux_mlxsw wip_attestation_pre_rfc_draft1
head: a18af4e1b514bf11f88ca42d29b7b68f3b375378
commit: 7c3e9198f02658988c2f0ea335cdfd75b93236e0 [20/26] attestation: introduce the core framework
config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20261003/202610030528.9y9vbjsV-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 5f609f950d2e80addf5566623013db68394334db)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261003/202610030528.9y9vbjsV-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610030528.9y9vbjsV-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/attestation/core/ctlv.c:968:5: warning: stack frame size (1344) exceeds limit (1280) in 'ctlv_attestation_mr_log_get_query' [-Wframe-larger-than]
968 | int ctlv_attestation_mr_log_get_query(void *priv, struct ctlv_op_ctx *ctx,
| ^
1 warning generated.
vim +/ctlv_attestation_mr_log_get_query +968 drivers/attestation/core/ctlv.c
967
> 968 int ctlv_attestation_mr_log_get_query(void *priv, struct ctlv_op_ctx *ctx,
969 const struct ctlv_cursor *request,
970 struct ctlv_cursor *reply)
971 {
972 struct attestation *att = priv;
973 struct attestation_mr_log_entry *entry;
974 struct ctlv_cursor item, nested;
975 unsigned int ids[256];
976 size_t ids_count = 0, index;
977 unsigned int start, end;
978 unsigned long xa_index;
979 u64 boundary;
980 u64 cursor = ctlv_op_query_cursor(ctx);
981 int ret;
982
983 ctlv_attestation_mr_log_get_mr_selection_for_each(&item, request) {
984 u64 id = ctlv_attestation_mr_log_get_selection_mr_id_get(&item);
985
986 if (id > UINT_MAX)
987 return -ERANGE;
988 for (index = 0; index < ids_count; index++)
989 if (ids[index] == id)
990 return -EINVAL;
991 ids[ids_count++] = id;
992 }
993 if (cursor)
994 boundary = ctlv_op_query_generation(ctx);
995 else
996 boundary = att->log->generation;
997 if (boundary > UINT_MAX || boundary > att->log->generation)
998 return -ESTALE;
999 end = boundary;
1000 if (ctlv_attestation_mr_log_get_mr_end_generation_present(request)) {
1001 u64 requested_end =
1002 ctlv_attestation_mr_log_get_mr_end_generation_get(request);
1003
1004 end = min_t(u64, end, requested_end);
1005 }
1006 start = 1;
1007 if (ctlv_attestation_mr_log_get_mr_start_generation_present(request)) {
1008 u64 value =
1009 ctlv_attestation_mr_log_get_mr_start_generation_get(request);
1010
1011 if (value > UINT_MAX)
1012 return -EINVAL;
1013 start = value;
1014 }
1015 if (att->log->generation && start > end)
1016 return -EINVAL;
1017 if (!cursor && att->log->generation) {
1018 if (!ctlv_attestation_mr_start_generation_put(reply, start) ||
1019 !ctlv_attestation_mr_end_generation_put(reply, end))
1020 return -EMSGSIZE;
1021 }
1022 xa_index = cursor ? cursor : start;
1023 entry = xa_find(&att->log->entries, &xa_index, end, XA_PRESENT);
1024 while (entry &&
1025 !attestation_log_selected(ids, ids_count, entry->mr_id))
1026 entry = xa_find_after(&att->log->entries, &xa_index, end,
1027 XA_PRESENT);
1028 if (!entry)
1029 return ctlv_op_query_done(ctx, boundary);
1030 if (!cursor)
1031 return ctlv_op_query_more(ctx, boundary,
1032 entry->mr_generation);
1033 if (!ctlv_attestation_log_entry_start(reply, &nested))
1034 return -EMSGSIZE;
1035 ret = attestation_mr_log_entry_encode(&nested, entry);
1036 ctlv_nest_end(&nested);
1037 if (ret)
1038 return ret;
1039 entry = xa_find_after(&att->log->entries, &xa_index, end, XA_PRESENT);
1040 while (entry &&
1041 !attestation_log_selected(ids, ids_count, entry->mr_id))
1042 entry = xa_find_after(&att->log->entries, &xa_index, end,
1043 XA_PRESENT);
1044 if (entry)
1045 return ctlv_op_query_more(ctx, boundary,
1046 entry->mr_generation);
1047 return ctlv_op_query_done(ctx, boundary);
1048 }
1049
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-10-02 21:59 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202610030528.9y9vbjsV-lkp@intel.com \
--to=lkp@intel.com \
--cc=jiri@nvidia.com \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox