diff mbox series

[v2,1/3] rpmsg: qcom: glink: replace strncpy() with strscpy_pad()

Message ID 20220519073330.7187-1-krzysztof.kozlowski@linaro.org (mailing list archive)
State Accepted
Headers show
Series [v2,1/3] rpmsg: qcom: glink: replace strncpy() with strscpy_pad() | expand

Commit Message

Krzysztof Kozlowski May 19, 2022, 7:33 a.m. UTC
The use of strncpy() is considered deprecated for NUL-terminated
strings[1]. Replace strncpy() with strscpy_pad(), to keep existing
pad-behavior of strncpy, similarly to commit 08de420a8014 ("rpmsg:
glink: Replace strncpy() with strscpy_pad()").  This fixes W=1 warning:

  In function ‘qcom_glink_rx_close’,
    inlined from ‘qcom_glink_work’ at ../drivers/rpmsg/qcom_glink_native.c:1638:4:
  drivers/rpmsg/qcom_glink_native.c:1549:17: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
   1549 |                 strncpy(chinfo.name, channel->name, sizeof(chinfo.name));

[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

---

Changes since v1:
1. Split series per subsystem.
---
 drivers/rpmsg/qcom_glink_native.c | 2 +-
 drivers/rpmsg/qcom_smd.c          | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

Comments

Stephen Boyd May 19, 2022, 10:13 p.m. UTC | #1
Quoting Krzysztof Kozlowski (2022-05-19 00:33:28)
> The use of strncpy() is considered deprecated for NUL-terminated
> strings[1]. Replace strncpy() with strscpy_pad(), to keep existing
> pad-behavior of strncpy, similarly to commit 08de420a8014 ("rpmsg:
> glink: Replace strncpy() with strscpy_pad()").  This fixes W=1 warning:
> 
>   In function ‘qcom_glink_rx_close’,
>     inlined from ‘qcom_glink_work’ at ../drivers/rpmsg/qcom_glink_native.c:1638:4:
>   drivers/rpmsg/qcom_glink_native.c:1549:17: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
>    1549 |                 strncpy(chinfo.name, channel->name, sizeof(chinfo.name));
> 
> [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> ---

Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Krzysztof Kozlowski June 9, 2022, 8:56 a.m. UTC | #2
On 19/05/2022 09:33, Krzysztof Kozlowski wrote:
> The use of strncpy() is considered deprecated for NUL-terminated
> strings[1]. Replace strncpy() with strscpy_pad(), to keep existing
> pad-behavior of strncpy, similarly to commit 08de420a8014 ("rpmsg:
> glink: Replace strncpy() with strscpy_pad()").  This fixes W=1 warning:
> 
>   In function ‘qcom_glink_rx_close’,
>     inlined from ‘qcom_glink_work’ at ../drivers/rpmsg/qcom_glink_native.c:1638:4:
>   drivers/rpmsg/qcom_glink_native.c:1549:17: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
>    1549 |                 strncpy(chinfo.name, channel->name, sizeof(chinfo.name));
> 
> [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> ---
> 
> Changes since v1:
> 1. Split series per subsystem.

Any comments on these?

Best regards,
Krzysztof
Krzysztof Kozlowski June 20, 2022, 6:37 p.m. UTC | #3
On 09/06/2022 10:56, Krzysztof Kozlowski wrote:
> On 19/05/2022 09:33, Krzysztof Kozlowski wrote:
>> The use of strncpy() is considered deprecated for NUL-terminated
>> strings[1]. Replace strncpy() with strscpy_pad(), to keep existing
>> pad-behavior of strncpy, similarly to commit 08de420a8014 ("rpmsg:
>> glink: Replace strncpy() with strscpy_pad()").  This fixes W=1 warning:
>>
>>   In function ‘qcom_glink_rx_close’,
>>     inlined from ‘qcom_glink_work’ at ../drivers/rpmsg/qcom_glink_native.c:1638:4:
>>   drivers/rpmsg/qcom_glink_native.c:1549:17: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
>>    1549 |                 strncpy(chinfo.name, channel->name, sizeof(chinfo.name));
>>
>> [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>
>> ---
>>
>> Changes since v1:
>> 1. Split series per subsystem.
> 
> Any comments on these?

I sent first iteration in May, then on 19th of May. There is review from
Stephen.

On 9th of June I pinged but the patchset is still waiting. Anyone minds
me taking these?

Best regards,
Krzysztof
Krzysztof Kozlowski July 5, 2022, 12:14 p.m. UTC | #4
On 20/06/2022 20:37, Krzysztof Kozlowski wrote:
> On 09/06/2022 10:56, Krzysztof Kozlowski wrote:
>> On 19/05/2022 09:33, Krzysztof Kozlowski wrote:
>>> The use of strncpy() is considered deprecated for NUL-terminated
>>> strings[1]. Replace strncpy() with strscpy_pad(), to keep existing
>>> pad-behavior of strncpy, similarly to commit 08de420a8014 ("rpmsg:
>>> glink: Replace strncpy() with strscpy_pad()").  This fixes W=1 warning:
>>>
>>>   In function ‘qcom_glink_rx_close’,
>>>     inlined from ‘qcom_glink_work’ at ../drivers/rpmsg/qcom_glink_native.c:1638:4:
>>>   drivers/rpmsg/qcom_glink_native.c:1549:17: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
>>>    1549 |                 strncpy(chinfo.name, channel->name, sizeof(chinfo.name));
>>>
>>> [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings
>>>
>>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>>
>>> ---
>>>
>>> Changes since v1:
>>> 1. Split series per subsystem.
>>
>> Any comments on these?
> 
> I sent first iteration in May, then on 19th of May. There is review from
> Stephen.
> 
> On 9th of June I pinged but the patchset is still waiting. Anyone minds
> me taking these?

Hmmm... These are all fixes but wait for quite a long time. Shall we
make the rpmsg subsystem orphaned?

Best regards,
Krzysztof
Mathieu Poirier July 5, 2022, 3:06 p.m. UTC | #5
On Tue, 5 Jul 2022 at 06:14, Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 20/06/2022 20:37, Krzysztof Kozlowski wrote:
> > On 09/06/2022 10:56, Krzysztof Kozlowski wrote:
> >> On 19/05/2022 09:33, Krzysztof Kozlowski wrote:
> >>> The use of strncpy() is considered deprecated for NUL-terminated
> >>> strings[1]. Replace strncpy() with strscpy_pad(), to keep existing
> >>> pad-behavior of strncpy, similarly to commit 08de420a8014 ("rpmsg:
> >>> glink: Replace strncpy() with strscpy_pad()").  This fixes W=1 warning:
> >>>
> >>>   In function ‘qcom_glink_rx_close’,
> >>>     inlined from ‘qcom_glink_work’ at ../drivers/rpmsg/qcom_glink_native.c:1638:4:
> >>>   drivers/rpmsg/qcom_glink_native.c:1549:17: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
> >>>    1549 |                 strncpy(chinfo.name, channel->name, sizeof(chinfo.name));
> >>>
> >>> [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings
> >>>
> >>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> >>>
> >>> ---
> >>>
> >>> Changes since v1:
> >>> 1. Split series per subsystem.
> >>
> >> Any comments on these?
> >
> > I sent first iteration in May, then on 19th of May. There is review from
> > Stephen.
> >
> > On 9th of June I pinged but the patchset is still waiting. Anyone minds
> > me taking these?
>
> Hmmm... These are all fixes but wait for quite a long time. Shall we
> make the rpmsg subsystem orphaned?

Bjorn handles all Qcom patches for the remoteproc/rpmsg subsystems.

>
> Best regards,
> Krzysztof
Bjorn Andersson July 18, 2022, 10:59 p.m. UTC | #6
On Thu, 19 May 2022 09:33:28 +0200, Krzysztof Kozlowski wrote:
> The use of strncpy() is considered deprecated for NUL-terminated
> strings[1]. Replace strncpy() with strscpy_pad(), to keep existing
> pad-behavior of strncpy, similarly to commit 08de420a8014 ("rpmsg:
> glink: Replace strncpy() with strscpy_pad()").  This fixes W=1 warning:
> 
>   In function ‘qcom_glink_rx_close’,
>     inlined from ‘qcom_glink_work’ at ../drivers/rpmsg/qcom_glink_native.c:1638:4:
>   drivers/rpmsg/qcom_glink_native.c:1549:17: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
>    1549 |                 strncpy(chinfo.name, channel->name, sizeof(chinfo.name));
> 
> [...]

Applied, thanks!

[1/3] rpmsg: qcom: glink: replace strncpy() with strscpy_pad()
      commit: 766279a8f85df32345dbda03b102ca1ee3d5ddea
[2/3] rpmsg: qcom: glink: remove unused name
      commit: 6c3ebc96ffefbc48297d7c2fd266e9cb78e6941e
[3/3] rpmsg: qcom: correct kerneldoc
      commit: 101042f4c0eb2daa331b4f7ce32c6d547114830a

Best regards,
diff mbox series

Patch

diff --git a/drivers/rpmsg/qcom_glink_native.c b/drivers/rpmsg/qcom_glink_native.c
index 07586514991f..5bc5a0a6a8a7 100644
--- a/drivers/rpmsg/qcom_glink_native.c
+++ b/drivers/rpmsg/qcom_glink_native.c
@@ -1546,7 +1546,7 @@  static void qcom_glink_rx_close(struct qcom_glink *glink, unsigned int rcid)
 	cancel_work_sync(&channel->intent_work);
 
 	if (channel->rpdev) {
-		strncpy(chinfo.name, channel->name, sizeof(chinfo.name));
+		strscpy_pad(chinfo.name, channel->name, sizeof(chinfo.name));
 		chinfo.src = RPMSG_ADDR_ANY;
 		chinfo.dst = RPMSG_ADDR_ANY;
 
diff --git a/drivers/rpmsg/qcom_smd.c b/drivers/rpmsg/qcom_smd.c
index 6ccfa12abd10..7c8c29f6c91d 100644
--- a/drivers/rpmsg/qcom_smd.c
+++ b/drivers/rpmsg/qcom_smd.c
@@ -1089,7 +1089,7 @@  static int qcom_smd_create_device(struct qcom_smd_channel *channel)
 
 	/* Assign public information to the rpmsg_device */
 	rpdev = &qsdev->rpdev;
-	strncpy(rpdev->id.name, channel->name, RPMSG_NAME_SIZE);
+	strscpy_pad(rpdev->id.name, channel->name, RPMSG_NAME_SIZE);
 	rpdev->src = RPMSG_ADDR_ANY;
 	rpdev->dst = RPMSG_ADDR_ANY;
 
@@ -1323,7 +1323,7 @@  static void qcom_channel_state_worker(struct work_struct *work)
 
 		spin_unlock_irqrestore(&edge->channels_lock, flags);
 
-		strncpy(chinfo.name, channel->name, sizeof(chinfo.name));
+		strscpy_pad(chinfo.name, channel->name, sizeof(chinfo.name));
 		chinfo.src = RPMSG_ADDR_ANY;
 		chinfo.dst = RPMSG_ADDR_ANY;
 		rpmsg_unregister_device(&edge->dev, &chinfo);