Skip to content

Commit 6514bac

Browse files
author
Tzung-Bi Shih
committed
platform/chrome: cros_ec_proto: remove big stub objects from stack
sizeof(struct device) = 680 sizeof(struct cros_ec_dev) = 720 They tend to exceed the stack frame size limit in some specific environment which results in the following compilation error: >> drivers/platform/chrome/cros_ec_proto_test.c:2530:13: error: stack frame size (2128) exceeds limit (2048) in 'cros_ec_proto_test_get_sensor_count_legacy' Remove the big stub objects from stack. This is: $ sed -i 's/struct cros_ec_dev /static struct cros_ec_dev /' \ drivers/platform/chrome/cros_ec_proto_test.c Reported-by: kernel test robot <[email protected]> Signed-off-by: Tzung-Bi Shih <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 8bb233b commit 6514bac

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

drivers/platform/chrome/cros_ec_proto_test.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2371,7 +2371,7 @@ static void cros_ec_proto_test_get_host_event_normal(struct kunit *test)
23712371
static void cros_ec_proto_test_check_features_cached(struct kunit *test)
23722372
{
23732373
int ret, i;
2374-
struct cros_ec_dev ec;
2374+
static struct cros_ec_dev ec;
23752375

23762376
ec.features.flags[0] = EC_FEATURE_MASK_0(EC_FEATURE_FINGERPRINT);
23772377
ec.features.flags[1] = EC_FEATURE_MASK_0(EC_FEATURE_SCP);
@@ -2396,7 +2396,7 @@ static void cros_ec_proto_test_check_features_not_cached(struct kunit *test)
23962396
struct cros_ec_device *ec_dev = &priv->ec_dev;
23972397
struct ec_xfer_mock *mock;
23982398
int ret, i;
2399-
struct cros_ec_dev ec;
2399+
static struct cros_ec_dev ec;
24002400

24012401
ec_dev->max_request = 0xff;
24022402
ec_dev->max_response = 0xee;
@@ -2449,7 +2449,7 @@ static void cros_ec_proto_test_get_sensor_count_normal(struct kunit *test)
24492449
struct cros_ec_device *ec_dev = &priv->ec_dev;
24502450
struct ec_xfer_mock *mock;
24512451
int ret;
2452-
struct cros_ec_dev ec;
2452+
static struct cros_ec_dev ec;
24532453

24542454
ec_dev->max_request = 0xff;
24552455
ec_dev->max_response = 0xee;
@@ -2494,7 +2494,7 @@ static void cros_ec_proto_test_get_sensor_count_xfer_error(struct kunit *test)
24942494
struct cros_ec_device *ec_dev = &priv->ec_dev;
24952495
struct ec_xfer_mock *mock;
24962496
int ret;
2497-
struct cros_ec_dev ec;
2497+
static struct cros_ec_dev ec;
24982498

24992499
ec_dev->max_request = 0xff;
25002500
ec_dev->max_response = 0xee;
@@ -2534,7 +2534,7 @@ static void cros_ec_proto_test_get_sensor_count_legacy(struct kunit *test)
25342534
struct cros_ec_device *ec_dev = &priv->ec_dev;
25352535
struct ec_xfer_mock *mock;
25362536
int ret, i;
2537-
struct cros_ec_dev ec;
2537+
static struct cros_ec_dev ec;
25382538
struct {
25392539
u8 readmem_data;
25402540
int expected_result;

0 commit comments

Comments
 (0)