All of lore.kernel.org
 help / color / mirror / Atom feed
From: asmadeus@codewreck.org (Dominique Martinet)
To: cocci@systeme.lip6.fr
Subject: [Cocci] [01/18] coccinelle: change strncpy+truncation to strlcpy
Date: Sat, 14 Jul 2018 11:16:15 +0200	[thread overview]
Message-ID: <20180714091615.GA14258@nautica> (raw)
In-Reply-To: <a35ae0ee-13d2-7ac8-99a4-488069983154@users.sourceforge.net>

SF Markus Elfring wrote on Sat, Jul 14, 2018:
> How do you think about to adjust the initial meta-data a bit more?
> 
> * SPDX identifier

Oh, right, 7/55 of the cocci scripts have one... I'll add one in a v3 of
the patch on Tuesday, I want to give a bit more time for other comments
if any come.

> * Copyright information

I left that one out on purpose, as I do not want to give the copyright
to anyone and do not particularily care for myself.
I'm doing that on my free time and this is not related to my work (as
opposed to e.g. the work I'm doing on 9P where I use my work e-mail;
which is also on my free time but relies on knowledge I owe to my work),
and I mostly see people attribute themselves copyright when related to
their work establishment.

Now I'm looking a bit closer I see this is not necessarily the case, but
I'd still rather leave this out unless there's a reason to add it.


> > the only exceptions would be if someone relied on strncpy to fill the end
> > of the buffer with zero to not leak data somewhere but that is not easy
> > to judge by itself (although I hope rare enough)
> 
> Would you dare to develop a corresponding source code search as another
> safety check?

Hmm, good question. It would be handy but will limit the matches more
than required I think.

Taking an example at random in the reports of the current patch,
cpumask in tools/accounting/getdelays.c is not zeroed out before the
strncpy so would be ruled out -- but when it's actually used, it only
sends to the network 'strlen(cpumask)+1' bytes of cpumask so the usage
made is perfectly safe.

My second argument here is a bad one (I just have to learn ;)) but while
I could easily check if dest has been memset'd/allocated with kzalloc,
I'm not sure how to express 'dest is a member of struct s, s was
allocted with kzalloc' which is probably much more common.

I'm also not sure how far back coccinelle would be able to check that?
For example in drivers/gpu/drm/i915/intel_tv.c we have 'mode_ptr =
drm_mode_create(...)' followed by 'strncpy(mode_ptr->name...), and
'drm_mode_create' did allocate with kzalloc; would coccinelle look that
far?

Thanks,
-- 
Dominique Martinet

  parent reply	other threads:[~2018-07-14  9:16 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-13  1:14 [PATCH 01/18] coccinelle: change strncpy+truncation to strlcpy Dominique Martinet
2018-07-13  1:14 ` [Cocci] " Dominique Martinet
2018-07-13  1:25 ` [PATCH 02/18] block/aoenet: " Dominique Martinet
2018-07-13  1:25   ` Dominique Martinet
2018-07-13  1:25   ` Dominique Martinet
2018-07-13 12:17   ` Ed Cashin
2018-07-13 14:16   ` Jens Axboe
2018-07-13 15:31     ` Dominique Martinet
2018-07-13  1:25 ` [PATCH 03/18] drm_property: " Dominique Martinet
2018-07-13  1:25   ` Dominique Martinet
2018-07-13  1:25 ` [PATCH 04/18] nouveau: " Dominique Martinet
2018-07-13  1:25   ` Dominique Martinet
2018-07-13  1:25 ` [PATCH 05/18] iio: " Dominique Martinet
2018-07-15 10:39   ` Jonathan Cameron
2018-07-16 11:42     ` Dominique Martinet
2018-07-22  8:13       ` Jonathan Cameron
2018-07-22  8:13         ` Jonathan Cameron
2018-07-13  1:25 ` [PATCH 06/18] mptctl: " Dominique Martinet
2018-07-13  1:25   ` Dominique Martinet
2018-07-13  1:25 ` [PATCH 07/18] hisilicon: " Dominique Martinet
2018-07-13  1:25 ` [PATCH 08/18] myricom: " Dominique Martinet
2018-07-13  1:25 ` [PATCH 09/18] qlogic/qed: " Dominique Martinet
2018-07-13  1:25 ` [PATCH 10/18] brcmsmac: " Dominique Martinet
2018-07-13  7:19   ` Arend van Spriel
2018-07-13  1:25 ` [PATCH 11/18] wireless/ti: " Dominique Martinet
2018-07-13  7:38   ` Greg Kroah-Hartman
2018-07-13  7:47     ` Arend van Spriel
2018-07-13  8:13       ` Dominique Martinet
2018-07-13 18:56     ` Rustad, Mark D
2018-07-27  9:19     ` Kalle Valo
2018-07-13  1:25 ` [PATCH 12/18] test_power: " Dominique Martinet
2018-07-13  1:25   ` Dominique Martinet
2018-07-13  1:25 ` [PATCH 13/18] ibmvscsi: " Dominique Martinet
2018-07-13  1:25   ` Dominique Martinet
2018-07-13  1:25   ` Dominique Martinet
2018-07-13  1:25 ` [PATCH 14/18] kdb_support: " Dominique Martinet
2018-07-13 10:33   ` Daniel Thompson
2018-07-13 15:18     ` Dominique Martinet
2018-07-16  8:23       ` Daniel Thompson
2018-07-13  1:26 ` [PATCH 15/18] blktrace: " Dominique Martinet
2018-07-13  1:26   ` Dominique Martinet
2019-03-15  1:37   ` Steven Rostedt
2019-03-15  2:01     ` Jens Axboe
2019-03-15  6:30       ` Dominique Martinet
2019-03-15 14:29         ` Jens Axboe
2018-07-13  1:26 ` [PATCH 16/18] tools/accounting: " Dominique Martinet
2018-07-13  1:26 ` [PATCH 17/18] perf: " Dominique Martinet
2018-07-13  1:26 ` [PATCH 18/18] cpupower: " Dominique Martinet
2018-07-13  1:26   ` Dominique Martinet
2018-07-24 16:31   ` Shuah Khan
2018-08-14 15:45   ` Daniel Díaz
2018-08-14 19:27     ` Dominique Martinet
2018-08-20 14:27       ` Shuah Khan
2018-07-13  7:44 ` [Cocci] [PATCH 01/18] coccinelle: " Himanshu Jha
2018-07-13  7:44   ` Himanshu Jha
2018-07-13  8:00   ` Dominique Martinet
2018-07-13  8:00     ` Dominique Martinet
2018-07-13  9:14     ` Himanshu Jha
2018-07-13  9:14       ` Himanshu Jha
2018-07-13  9:44       ` Julia Lawall
2018-07-13  9:44         ` Julia Lawall
2018-07-13 10:21         ` Himanshu Jha
2018-07-13 10:21           ` Himanshu Jha
2018-07-13 10:50           ` Julia Lawall
2018-07-13 10:50             ` Julia Lawall
2018-07-13 16:11       ` Dominique Martinet
2018-07-13 16:11         ` Dominique Martinet
     [not found]       ` <5e93dba5-1a57-ee59-e714-17a80b3fb031@users.sourceforge.net>
2018-07-13 16:42         ` [Cocci] Coccinelle: " Himanshu Jha
     [not found]           ` <d6fac368-bb43-f53c-0f58-b25a81156a4e@users.sourceforge.net>
2018-07-13 18:41             ` [Cocci] Coccinelle: Development challenges around software profiling Himanshu Jha
     [not found]               ` <536adc42-1680-e4be-bfee-7d01c37a239d@users.sourceforge.net>
2018-07-13 20:26                 ` Himanshu Jha
     [not found]     ` <a35ae0ee-13d2-7ac8-99a4-488069983154@users.sourceforge.net>
2018-07-14  9:16       ` Dominique Martinet [this message]
2018-07-14 11:41         ` [Cocci] [01/18] coccinelle: change strncpy+truncation to strlcpy Julia Lawall
     [not found] ` <4b9986b2-957a-081a-038e-afc5acf0bfdd@users.sourceforge.net>
2018-07-13 15:25   ` [Cocci] Coccinelle: " Dominique Martinet
2018-07-13 15:28     ` Julia Lawall
2018-07-14  8:12 ` [PATCH v2] coccinelle: strncpy+truncation by strscpy Dominique Martinet
2018-07-14  8:12   ` [Cocci] " Dominique Martinet
2018-07-14 11:54   ` Julia Lawall
2018-07-14 11:54     ` [Cocci] " Julia Lawall
     [not found]     ` <alpine.DEB.2.20.1807140743550.3356@hadrien>
2018-07-14 13:08       ` Dominique Martinet
2018-07-14 13:08         ` [Cocci] " Dominique Martinet
2018-07-14 20:36         ` Julia Lawall
2018-07-14 20:36           ` [Cocci] " Julia Lawall
2018-07-14 14:34   ` [v2] Coccinelle: Replace strncpy() + truncation by strscpy() SF Markus Elfring
2018-07-14 14:34     ` SF Markus Elfring
2018-07-20  0:36   ` [PATCH v3] coccinelle: suggest replacing strncpy+truncation by strscpy Dominique Martinet
2018-07-20  0:36     ` [Cocci] " Dominique Martinet
2018-07-20  5:33     ` Julia Lawall
2018-07-20  5:33       ` [Cocci] " Julia Lawall
2018-07-20  5:40       ` Dominique Martinet
2018-07-20  5:40         ` [Cocci] " Dominique Martinet
2018-07-20  5:49         ` Julia Lawall
2018-07-20  5:49           ` [Cocci] " Julia Lawall
2018-07-20  5:57           ` Dominique Martinet
2018-07-20  5:57             ` [Cocci] " Dominique Martinet
2018-07-20  6:03             ` Julia Lawall
2018-07-20  6:03               ` [Cocci] " Julia Lawall
2018-07-20 11:00           ` [v3] Coccinelle: " SF Markus Elfring
2018-07-20 11:00             ` SF Markus Elfring
2018-07-20  9:40     ` SF Markus Elfring
2018-07-20  9:40       ` SF Markus Elfring

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=20180714091615.GA14258@nautica \
    --to=asmadeus@codewreck.org \
    --cc=cocci@systeme.lip6.fr \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.