lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170131.125112.287960842388784953.davem@davemloft.net>
Date:   Tue, 31 Jan 2017 12:51:12 -0500 (EST)
From:   David Miller <davem@...emloft.net>
To:     sainath.grandhi@...el.com
Cc:     netdev@...r.kernel.org, mahesh@...dewar.net,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCHv3 5/7] tap: Extending tap device create/destroy APIs

From: Sainath Grandhi <sainath.grandhi@...el.com>
Date: Mon, 30 Jan 2017 11:12:00 -0800

> +	list_for_each_entry_safe(tap_major, tmp, &major_list, next) {
> +		if (tap_major->major == major) {
> +			return tap_major;
> +		}
> +	}

Single line basic blocks, such as this 'if' statement, should not be
surrounded by curly braces.

Also I see not mutual exclusion being implemented to protect this
list.  If there is, it is not obvious, so it should be documented with
a comment explaining what protects the list.

> @@ -1175,14 +1228,7 @@ int tap_create_cdev(struct cdev *tap_cdev,
>  	if (err)
>  		goto out2;
>  
> -	macvtap_major.major = MAJOR(*tap_major);
> -
> -	idr_init(&macvtap_major.minor_idr);
> -	mutex_init(&macvtap_major.minor_lock);
> -
> -	macvtap_major.device_name = device_name;
> -
> -	return err;
> +	return tap_list_add(*tap_major, device_name);
>  
>  out2:
>  	unregister_chrdev_region(*tap_major, TAP_NUM_DEVS);

If tap_list_add() fails, you will leave the chrdev region registered.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ