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]
Date:	Mon, 28 Sep 2015 10:48:01 +0000
From:	Caizhiyong <caizhiyong@...ilicon.com>
To:	Shawn Lin <shawn.lin@...k-chips.com>, Jens Axboe <axboe@...nel.dk>
CC:	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Quyaxin <quyaxin@...ilicon.com>,
	"Wanli (welly)" <welly.wan@...ilicon.com>
Subject: RE: [RESEND PATCH] block: cmdline-parser: add support for hidden
 disk space

Dear Shawn Lin:

     The cmdline-parser is support skip some reserve disk space, or hidden some disk space.
  
     See Documentation/block/cmdline-partition.txt

blkdevparts=<blkdev-def>[;<blkdev-def>]
  <blkdev-def> := <blkdev-id>:<partdef>[,<partdef>]
    <partdef> := <size>[@<offset>](part-name)

    The "offset" is next partition start address, If your bootargs is 'blkdevparts=mmcblk0:1G(data0),1G@2G(data1),-;', you will reserve 1G between mmcblk0p1 and mmcblk0p2;

Looking forward to your feedback.
Best regards.
Cai Zhiyong.
http://www.huawei.com

> -----Original Message-----
> From: Shawn Lin [mailto:shawn.lin@...k-chips.com]
> Sent: Monday, September 28, 2015 5:51 PM
> To: Jens Axboe
> Cc: Caizhiyong; linux-kernel@...r.kernel.org; Shawn Lin
> Subject: [RESEND PATCH] block: cmdline-parser: add support for hidden disk
> space
> 
> cmdline-partition now only support continuous disk space taken from
> cmdline. When we need to reserve a disk space, for instance, 100m between
> mmcblk0p1 and mmcblk0p2 for special use and wouldn't let kernel space
> realize this "disk hole", we add this patch to ship adding this kind of
> "disk hole" into the partition table. For any such cases, simply append
> "hidden" to the end of subpart which is need to be reserved.
> 
> Signed-off-by: Shawn Lin <shawn.lin@...k-chips.com>
> 
> ---
> 
>  block/cmdline-parser.c         | 12 +++++++++++-
>  include/linux/cmdline-parser.h |  1 +
>  2 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/block/cmdline-parser.c b/block/cmdline-parser.c
> index 9dbc67e..fcca57d 100644
> --- a/block/cmdline-parser.c
> +++ b/block/cmdline-parser.c
> @@ -68,6 +68,11 @@ static int parse_subpart(struct cmdline_subpart
> **subpart, char *partdef)
>  		partdef += 2;
>  	}
> 
> +	if (!strncmp(partdef, "hidden", 6)) {
> +		new_subpart->flags |= PF_HIDDEN;
> +		partdef += 6;
> +	}
> +
>  	*subpart = new_subpart;
>  	return 0;
>  fail:
> @@ -128,7 +133,9 @@ static int parse_parts(struct cmdline_parts **parts,
> const char *bdevdef)
>  		if (ret)
>  			goto fail;
> 
> -		newparts->nr_subparts++;
> +		if (!((*next_subpart)->flags & PF_HIDDEN))
> +			newparts->nr_subparts++;
> +
>  		next_subpart = &(*next_subpart)->next_subpart;
>  	}
> 
> @@ -245,6 +252,9 @@ int cmdline_parts_set(struct cmdline_parts *parts,
> sector_t disk_size,
> 
>  		from += subpart->size;
> 
> +		if (subpart->flags & PF_HIDDEN)
> +			continue;
> +
>  		if (add_part(slot, subpart, param))
>  			break;
>  	}
> diff --git a/include/linux/cmdline-parser.h b/include/linux/cmdline-parser.h
> index 2e6dce6..7c1cb3c 100644
> --- a/include/linux/cmdline-parser.h
> +++ b/include/linux/cmdline-parser.h
> @@ -14,6 +14,7 @@
>  /* partition flags */
>  #define PF_RDONLY                   0x01 /* Device is read only */
>  #define PF_POWERUP_LOCK             0x02 /* Always locked after reset
> */
> +#define PF_HIDDEN                   0x04 /* Hidden from partition
> table */
> 
>  struct cmdline_subpart {
>  	char name[BDEVNAME_SIZE]; /* partition name, such as 'rootfs' */
> --
> 2.3.7
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ