* [PATCH BlueZ v3 1/2] advertising: Fix formater for size_t data type
2021-01-27 23:10 [PATCH BlueZ v3 0/2] Fix 32 bit Compiler Errors Brian Gix
@ 2021-01-27 23:10 ` Brian Gix
2021-01-27 23:44 ` Fix 32 bit Compiler Errors bluez.test.bot
2021-01-27 23:10 ` [PATCH BlueZ v3 2/2] tools/mgmt-tester: Fix formatter for size_t value Brian Gix
2021-01-28 22:20 ` [PATCH BlueZ v3 0/2] Fix 32 bit Compiler Errors Gix, Brian
2 siblings, 1 reply; 5+ messages in thread
From: Brian Gix @ 2021-01-27 23:10 UTC (permalink / raw)
To: linux-bluetooth; +Cc: luiz.dentz, brian.gix, denkenz
On some 32 bit systems sizeof does not return (unsigned long). The
size_t formater %zu handles this across architectures.
Fixes the error:
In file included from src/advertising.c:30:
src/advertising.c: In function ‘read_controller_cap_complete’:
src/log.h:60:20: error: format ‘%lu’ expects argument of type ‘long
unsigned int’, but argument 5 has type ‘unsigned int’ [-Werror=format=]
60 | btd_error(0xffff, "%s:%s() " fmt, __FILE__, __func__, ## arg)
| ^~~~~~~~~~
src/advertising.c:1757:3: note: in expansion of macro ‘error’
1757 | error("Controller capabilities malformed, size %lu != %u",
| ^~~~~
src/advertising.c:1757:52: note: format string is defined here
1757 | error("Controller capabilities malformed, size %lu != %u",
| ~~^
| |
| long unsigned int
| %u
---
src/advertising.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/advertising.c b/src/advertising.c
index 4f5123fa1..15a343e52 100644
--- a/src/advertising.c
+++ b/src/advertising.c
@@ -1754,7 +1754,7 @@ static void read_controller_cap_complete(uint8_t status, uint16_t length,
}
if (sizeof(rp->cap_len) + rp->cap_len != length) {
- error("Controller capabilities malformed, size %lu != %u",
+ error("Controller capabilities malformed, size %zu != %u",
sizeof(rp->cap_len) + rp->cap_len, length);
return;
}
--
2.25.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* RE: Fix 32 bit Compiler Errors
2021-01-27 23:10 ` [PATCH BlueZ v3 1/2] advertising: Fix formater for size_t data type Brian Gix
@ 2021-01-27 23:44 ` bluez.test.bot
0 siblings, 0 replies; 5+ messages in thread
From: bluez.test.bot @ 2021-01-27 23:44 UTC (permalink / raw)
To: linux-bluetooth, brian.gix
[-- Attachment #1: Type: text/plain, Size: 2175 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=423259
---Test result---
##############################
Test: CheckPatch - FAIL
Output:
advertising: Fix formater for size_t data type
WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#17:
unsigned int’, but argument 5 has type ‘unsigned int’ [-Werror=format=]
- total: 0 errors, 1 warnings, 8 lines checked
NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.
"[PATCH] advertising: Fix formater for size_t data type" has style problems, please review.
NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPLIT_STRING SSCANF_TO_KSTRTO
NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
tools/mgmt-tester: Fix formatter for size_t value
WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#16:
‘long unsigned int’, but argument 2 has type ‘unsigned int’ [-Werror=format=]
- total: 0 errors, 1 warnings, 8 lines checked
NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.
"[PATCH] tools/mgmt-tester: Fix formatter for size_t value" has style problems, please review.
NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPLIT_STRING SSCANF_TO_KSTRTO
NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
##############################
Test: CheckGitLint - PASS
##############################
Test: CheckBuild - PASS
##############################
Test: MakeCheck - PASS
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH BlueZ v3 2/2] tools/mgmt-tester: Fix formatter for size_t value
2021-01-27 23:10 [PATCH BlueZ v3 0/2] Fix 32 bit Compiler Errors Brian Gix
2021-01-27 23:10 ` [PATCH BlueZ v3 1/2] advertising: Fix formater for size_t data type Brian Gix
@ 2021-01-27 23:10 ` Brian Gix
2021-01-28 22:20 ` [PATCH BlueZ v3 0/2] Fix 32 bit Compiler Errors Gix, Brian
2 siblings, 0 replies; 5+ messages in thread
From: Brian Gix @ 2021-01-27 23:10 UTC (permalink / raw)
To: linux-bluetooth; +Cc: luiz.dentz, brian.gix, denkenz
On 32 bit systems, sizeof macro doesn't always return (unsigned long),
and the %zu formatter specifically handles size_t.
Fix following error:
tools/mgmt-tester.c: In function ‘read_50_controller_cap_complete’:
tools/mgmt-tester.c:9124:58: error: format ‘%lu’ expects argument of type
‘long unsigned int’, but argument 2 has type ‘unsigned int’ [-Werror=format=]
9124 | tester_warn("Controller capabilities malformed, size %lu != %u",
| ~~^
| |
| long unsigned int
| %u
9125 | sizeof(rp->cap_len) + rp->cap_len, length);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| unsigned int
---
tools/mgmt-tester.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c
index fe73a6d89..bb9fb0b9c 100644
--- a/tools/mgmt-tester.c
+++ b/tools/mgmt-tester.c
@@ -9121,7 +9121,7 @@ static void read_50_controller_cap_complete(uint8_t status, uint16_t length,
}
if (sizeof(rp->cap_len) + rp->cap_len != length) {
- tester_warn("Controller capabilities malformed, size %lu != %u",
+ tester_warn("Controller capabilities malformed, size %zu != %u",
sizeof(rp->cap_len) + rp->cap_len, length);
tester_test_failed();
}
--
2.25.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH BlueZ v3 0/2] Fix 32 bit Compiler Errors
2021-01-27 23:10 [PATCH BlueZ v3 0/2] Fix 32 bit Compiler Errors Brian Gix
2021-01-27 23:10 ` [PATCH BlueZ v3 1/2] advertising: Fix formater for size_t data type Brian Gix
2021-01-27 23:10 ` [PATCH BlueZ v3 2/2] tools/mgmt-tester: Fix formatter for size_t value Brian Gix
@ 2021-01-28 22:20 ` Gix, Brian
2 siblings, 0 replies; 5+ messages in thread
From: Gix, Brian @ 2021-01-28 22:20 UTC (permalink / raw)
To: linux-bluetooth; +Cc: luiz.dentz, denkenz
Applied
On Wed, 2021-01-27 at 15:10 -0800, Brian Gix wrote:
> In a couple places the sizeof() macro has been assumed to return a
> (long unsigned) value, and so the string formater %lu has been used to
> print out warnings derived from this assumption. While correct on 64 bit
> systems, this is an incorrect assumption on 32 bit systems.
>
> These two changes explicitly cast the sizeof return to long in the
> affected cases.
>
> v2: Fix bluez.test.bot warnings
>
> v3: Just use %zu format descriptor, which should be architecture agnostic.
>
> Brian Gix (2):
> advertising: Fix formater for size_t data type
> tools/mgmt-tester: Fix formatter for size_t value
>
> src/advertising.c | 2 +-
> tools/mgmt-tester.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
^ permalink raw reply [flat|nested] 5+ messages in thread