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: <20160205101846.6d385471.akpm@linux-foundation.org>
Date:	Fri, 5 Feb 2016 10:18:46 -0800
From:	Andrew Morton <akpm@...ux-foundation.org>
To:	John Stultz <john.stultz@...aro.org>
Cc:	linux-kernel@...r.kernel.org, San Mehat <san@...gle.com>,
	Jens Axboe <axboe@...nel.dk>,
	Rom Lemarchand <romlem@...gle.com>,
	Android Kernel Team <kernel-team@...roid.com>,
	Jeff Moyer <jmoyer@...hat.com>, harald@...hat.com,
	Kees Cook <keescook@...omium.org>, Kay Sievers <kay@...y.org>,
	Dima Zavin <dima@...roid.com>, Greg KH <greg@...ah.com>
Subject: Re: [RESEND x2][PATCH v2] block: partition: Add partition specific
 uevent callbacks for partition info

On Fri,  5 Feb 2016 10:01:43 -0800 John Stultz <john.stultz@...aro.org> wrote:

> From: San Mehat <san@...gle.com>
> 
> This patch has been carried in the Android tree for quite some
> time and is one of the few patches required to get a mainline
> kernel up and running with an exsiting Android userspace. So I
> wanted to submit it for review and consideration if it should
> be merged.
> 
> For partitions, add new uevent parameters 'PARTN' which
> specifies the partitions index in the table, and 'PARTNAME',
> which specifies PARTNAME specifices the partition name of a
> partition device.
> 
> Android's userspace uses this for creating device node links from the
> partition name and number: ie:
> 	/dev/block/platform/soc/by-name/system
> or
> 	/dev/block/platform/soc/by-num/p1
> 
> One can see its usage here:
> https://android.googlesource.com/platform/system/core/+/master/init/devices.cpp#355
> and
> https://android.googlesource.com/platform/system/core/+/master/init/devices.cpp#494
> 
> ...
>
> --- a/block/partition-generic.c
> +++ b/block/partition-generic.c
> @@ -216,10 +216,21 @@ static void part_release(struct device *dev)
>  	kfree(p);
>  }
>  
> +static int part_uevent(struct device *dev, struct kobj_uevent_env *env)
> +{
> +	struct hd_struct *part = dev_to_part(dev);
> +
> +	add_uevent_var(env, "PARTN=%u", part->partno);
> +	if (part->info && part->info->volname[0])
> +		add_uevent_var(env, "PARTNAME=%s", part->info->volname);
> +	return 0;
> +}
> +
>  struct device_type part_type = {
>  	.name		= "partition",
>  	.groups		= part_attr_groups,
>  	.release	= part_release,
> +	.uevent		= part_uevent,
>  };
>  
>  static void delete_partition_rcu_cb(struct rcu_head *head)

Interestingly, this feature appears to already be documented in
Documentation/block/cmdline-partition.txt.  I wonder how that happened.
Maybe we used to do this but it got taken away?

It seems bad that we don't document uevents in any organized fashion. 
But the audience is very small and knows how to find kernel source code
so I guess it doesn't matter.

Anyway, please do check that the conveniently self-adding documentation
is accurate and complete.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ