[dm-devel] [PATCH] dm-lc.c: fix for a potential NULL pointer dereference
Akira Hayakawa
ruby.wktk at gmail.com
Wed Jul 31 13:04:09 UTC 2013
Thanks, Kumar.
Your patch is applied.
resume_cache,
a routine to build in-memory data structures
by reading metadata on cache device,
is so complicated in the code and the logic
to thoroughly implement the error checks.
I am wondering how I should face this problem.
Only caring about lines
that allocates large-sized memories
and forget about anything else
is what I am thinking now.
But it is clear that
it is not a way kernel module should be.
Do you guys have some thoughts on this problem?
On 7/31/13 9:09 PM, Kumar Amit Mehta wrote:
> Memory allocation may fail, hence add a check before dereferencing
> the pointer.
>
> Signed-off-by: Kumar Amit Mehta <gmate.amit at gmail.com>
> ---
> Driver/dm-lc.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Driver/dm-lc.c b/Driver/dm-lc.c
> index 4a65042..e00fb27 100644
> --- a/Driver/dm-lc.c
> +++ b/Driver/dm-lc.c
> @@ -2671,6 +2671,8 @@ static int lc_mgr_message(struct dm_target *ti, unsigned int argc, char **argv)
> */
> if (!strcasecmp(cmd, "resume_cache")) {
> struct lc_cache *cache = kzalloc(sizeof(*cache), GFP_KERNEL);
> + if (!cache)
> + return -ENOMEM;
>
> struct dm_dev *dev;
> if (dm_get_device(ti, argv[1], dm_table_get_mode(ti->table),
>
More information about the dm-devel
mailing list