From: Ajay Garg <ajaygargnsit@gmail.com>
To: gregkh@linuxfoundation.org, jirislaby@kernel.org,
andriy.shevchenko@linux.intel.com, kernel@esmil.dk,
linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: paskripkin@gmail.com, Ajay Garg <ajaygargnsit@gmail.com>
Subject: [PATCH v3] tty: vt: keyboard: add default switch-case, to handle smatch-warnings in method vt_do_kdgkb_ioctl
Date: Sun, 7 Nov 2021 03:33:15 +0530 [thread overview]
Message-ID: <20211106220315.392842-1-ajaygargnsit@gmail.com> (raw)
smatch-kchecker gives the following warnings when run on keyboard.c :
vt_do_kdgkb_ioctl() error: uninitialized symbol 'kbs'.
vt_do_kdgkb_ioctl() error: uninitialized symbol 'ret'.
This usually happens when switch has no default case and static
analyzers and even sometimes compilers can’t prove that all possible
values are covered.
Thus, the default switch-case has been added, which sets the values
for the two variables :
* kbs as NULL, which also nicely fits in with kfree.
* ret as -ENOIOCTLCMD (on same lines if there is no cmd
match in "vt_do_kdskled" method).
Many thanks to the following for review of previous versions :
* Pavel Skripkin <paskripkin@gmail.com>
* Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Ajay Garg <ajaygargnsit@gmail.com>
---
There were discussions previously, and the current patch is the
result.
v1 :
https://lore.kernel.org/linux-serial/YYZN30qfaKMskVwE@kroah.com/T/#t
v2 :
https://lore.kernel.org/linux-serial/CAHP4M8Vdj4Eb8q773BeHvsW9n6t=3n1WznuXAR4fZCNi1J6rOg@mail.gmail.com/T/#m18f45676feaba6b1f01ddd5fe607997b190ef4b9
Changes in v2 :
* Changes as required by scripts/checkpatch.pl
* Checking whether kbs is not NULL before kfree is not required,
as kfree(NULL) is safe. So, dropped the check.
Changes in v3 :
* Using default-switch case, and setting the variables
when there is no matching cmd.
drivers/tty/vt/keyboard.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
index c7fbbcdcc346..b83e7669658d 100644
--- a/drivers/tty/vt/keyboard.c
+++ b/drivers/tty/vt/keyboard.c
@@ -2090,6 +2090,12 @@ int vt_do_kdgkb_ioctl(int cmd, struct kbsentry __user *user_kdgkb, int perm)
ret = 0;
break;
+ default: {
+ kbs = NULL;
+ ret = -ENOIOCTLCMD;
+
+ break;
+ }
}
kfree(kbs);
--
2.30.2
next reply other threads:[~2021-11-06 22:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-06 22:03 Ajay Garg [this message]
2021-11-06 22:12 ` [PATCH v3] tty: vt: keyboard: add default switch-case, to handle smatch-warnings in method vt_do_kdgkb_ioctl Pavel Skripkin
2021-11-06 22:17 ` Ajay Garg
2021-11-06 22:25 ` Pavel Skripkin
2021-11-07 3:21 ` Ajay Garg
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=20211106220315.392842-1-ajaygargnsit@gmail.com \
--to=ajaygargnsit@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=kernel@esmil.dk \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=paskripkin@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox