drivers/net/can/usb/kvaser_usb: User strscpy() to copy device name
PATCH 1/1 drivers/net/can/usb/kvaser_usb: User strscpy() to copy device name
From: David Laight <[email protected]>
---
This is one of a group of patches that remove potentially unbounded strcpy() calls.
They are mostly replaced by strscpy() or, when strlen() has just been called, with memcpy() (usually including the '\0').
Calls with copy string literals into arrays are left unchanged. They are safe and easily detected as such.
The changes were made by getting the compiler to detect the calls and then fixing the code by hand.
Note that all the changes are only compile tested.
Some Makefiles were changed to allow files to contain strcpy(). As well as 'difficult to fix' files, this included 'show' functions as they really need to use sysfs_emit() or seq_printf().
All the patches are being sent individually to avoid very long cc lists. Apologies for the terse commit messages and likely unexpected tags. (There are about 100 patches in total.)
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +1 -1
@@ -746,7 +746,7 @@ static int kvaser_usb_hydra_map_channel(struct kvaser_usb *dev, u16 transid,if (!cmd)return -ENOMEM ; -strcpy (cmd->map_ch_req.name, name); +strscpy (cmd->map_ch_req.name, name); cmd->header.cmd_no =CMD_MAP_CHANNEL_REQ ;kvaser_usb_hydra_set_cmd_dest_he (cmd,KVASER_USB_HYDRA_HE_ADDRESS_ROUTER );
Signature · 1 line
2.39.5
Vincent Mailhol
maintainerSubject [PATCH net-next] drivers/net/can/usb/kvaser_usb: User strscpy() to copy device name
^^^^
Use?
Quoted 18 lines · On 06/06/2026 at 22:26, [email protected] wrote:
From: David Laight <[email protected]>
Signed-off-by David Laight <[email protected]>---
This is one of a group of patches that remove potentially unboundedstrcpy()calls.They are mostly replaced by
strscpy()or, whenstrlen()has just been called, withmemcpy()(usually including the '\0').Calls with copy string literals into arrays are left unchanged. They are safe and easily detected as such.
The changes were made by getting the compiler to detect the calls and then fixing the code by hand.
Note that all the changes are only compile tested.
Quoted 7 lines
Some Makefiles were changed to allow files to contain
strcpy(). As well as 'difficult to fix' files, this included 'show' functions as they really need to usesysfs_emit()orseq_printf().All the patches are being sent individually to avoid very long cc lists. Apologies for the terse commit messages and likely unexpected tags. (There are about 100 patches in total.)
Indeed, this is terse. The commit body is empty (all your comments are below the --- cutter) and the subject line contains a typo.
I don't see why the fact that you are sending many fixes clears you from writing a proper commit message. And I would expect at least a small effort to customize the message: only explain the Makefile stuff for the patches which are touching a Makefile.
Quoted 8 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +0
-0
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c static int kvaser_usb_hydra_map_channel(struct kvaser_usb *dev, u16 transid, · line 752
Quoted 8 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +1
-1@@ -746,7 +746,7 @@ static int kvaser_usb_hydra_map_channel(struct kvaser_usb *dev, u16 transid,if (!cmd)return -ENOMEM ; -strcpy (cmd->map_ch_req.name, name); +strscpy (cmd->map_ch_req.name, name); cmd->header.cmd_no =CMD_MAP_CHANNEL_REQ ;kvaser_usb_hydra_set_cmd_dest_he (cmd,KVASER_USB_HYDRA_HE_ADDRESS_ROUTER );
Yours sincerely,
Vincent Mailhol
Quoted 3 lines · On Sat, 6 Jun 2026 23:16:47 +0200 Vincent Mailhol <[email protected]> wrote:
Subject [PATCH net-next]
drivers/net/can/usb/kvaser_usb: Userstrscpy()to copy device name^^^^Use?
I'd forgotten I needed to fix that typo before sending the emails. git makes it hard to change the commit text itself.
Quoted 28 lines · On 06/06/2026 at 22:26, [email protected] wrote:
Quoted 18 lines
From: David Laight <[email protected]>
Signed-off-by David Laight <[email protected]>---
This is one of a group of patches that remove potentially unboundedstrcpy()calls.They are mostly replaced by
strscpy()or, whenstrlen()has just been called, withmemcpy()(usually including the '\0').Calls with copy string literals into arrays are left unchanged. They are safe and easily detected as such.
The changes were made by getting the compiler to detect the calls and then fixing the code by hand.
Note that all the changes are only compile tested.
Quoted 7 lines
Some Makefiles were changed to allow files to contain
strcpy(). As well as 'difficult to fix' files, this included 'show' functions as they really need to usesysfs_emit()orseq_printf().All the patches are being sent individually to avoid very long cc lists. Apologies for the terse commit messages and likely unexpected tags. (There are about 100 patches in total.)
Quoted 7 lines
Indeed, this is terse. The commit body is empty (all your comments are below the --- cutter) and the subject line contains a typo.
I don't see why the fact that you are sending many fixes clears you from writing a proper commit message. And I would expect at least a small effort to customize the message: only explain the
Makefilestuff for the patches which are touching aMakefile.
Try it!
I changed about 150 files to get allmodconfig to build.
I only send patches for 45 of them (otherwise I hit a 500 email/day limit). The next 45 are 'pending' and some of the uncommited changes are less trivial. Spend 10 minutes sorting out each commit message and it is another 16 hours.
A few (like this one) are very terse - then I realised I can send slightly longer commit messages by typing a multi-line argument to -m.
-- David
Quoted 22 lines
Quoted 9 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +0
-0drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c static int kvaser_usb_hydra_map_channel(struct kvaser_usb *dev, u16 transid, · line 752
Quoted 8 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +1
-1@@ -746,7 +746,7 @@ static int kvaser_usb_hydra_map_channel(struct kvaser_usb *dev, u16 transid,if (!cmd)return -ENOMEM ; -strcpy (cmd->map_ch_req.name, name); +strscpy (cmd->map_ch_req.name, name); cmd->header.cmd_no =CMD_MAP_CHANNEL_REQ ;kvaser_usb_hydra_set_cmd_dest_he (cmd,KVASER_USB_HYDRA_HE_ADDRESS_ROUTER );Yours sincerely,
Vincent Mailhol