* Re: [PATCH v5 2/4] resource: Use list_head to link sibling resource
@ 2018-06-12 15:10 Julia Lawall
2018-06-13 6:55 ` Baoquan He
0 siblings, 1 reply; 5+ messages in thread
From: Julia Lawall @ 2018-06-12 15:10 UTC (permalink / raw)
To: Baoquan He
Cc: brijesh.singh-5C7GfCeVMHo, thomas.lendacky-5C7GfCeVMHo,
airlied-cv59FeDIM0c, linux-pci-u79uwXL29TY76Z2rM5mHXA,
richard.weiyang-Re5JQEeQqe8AvxtiuMwx3w,
keith.busch-ral2JQCrhuEAvxtiuMwx3w,
jcmvbkbc-Re5JQEeQqe8AvxtiuMwx3w,
baiyaowei-0p4V/sDNsUmm0O/7XYngnFaTQe2KTcn/,
frowand.list-Re5JQEeQqe8AvxtiuMwx3w,
lorenzo.pieralisi-5wv7dgnIgG8, sthemmin-0li6OtcxBFHby3iVrkZq2A,
Baoquan He, linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw,
patrik.r.jakobsson-Re5JQEeQqe8AvxtiuMwx3w,
linux-input-u79uwXL29TY76Z2rM5mHXA,
gustavo-THi1TnShQwVAfugRpC6u6w, dyoung-H+wXaHxf7aLQT0dZR+AlfA,
kbuild-all-JC7UmRfGjtg, devicetree-u79uwXL29TY76Z2rM5mHXA,
haiyangz-0li6OtcxBFHby3iVrkZq2A,
maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA,
jglisse-H+wXaHxf7aLQT0dZR+AlfA, seanpaul-F7+t8E8rja9g9hUCZPvPmw,
bhelgaas-hpIqsD4AKlfQT0dZR+AlfA, tglx-hfZtesqFncYOwBW4kG4KsQ,
yinghai-DgEjT+Ai2ygdnm+yROfE0A,
jonathan.derrick-ral2JQCrhuEAvxtiuMwx3w,
chris-YvXeqwSYzG2sTnJN9+BGXg, monstr-pSz03upnqPeHXe+LvDLADg,
linux-parisc-u79uwXL29TY76Z2rM5mHXA,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w,
kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
ebiederm-aS9lmoZGLiVWk0Htik3J/w,
devel-tBiZLqfeLfOHmIFyCCdPziST3g8Odh+X, linuxppc-dev
This looks wrong. After a list iterator, the index variable points to a
dummy structure.
julia
url: https://github.com/0day-ci/linux/commits/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180612-113600
:::::: branch date: 7 hours ago
:::::: commit date: 7 hours ago
>> kernel/resource.c:265:17-20: ERROR: invalid reference to the index variable of the iterator on line 253
# https://github.com/0day-ci/linux/commit/e906f15906750a86913ba2b1f08bad99129d3dfc
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout e906f15906750a86913ba2b1f08bad99129d3dfc
vim +265 kernel/resource.c
^1da177e4 Linus Torvalds 2005-04-16 247
5eeec0ec9 Yinghai Lu 2009-12-22 248 static void __release_child_resources(struct resource *r)
5eeec0ec9 Yinghai Lu 2009-12-22 249 {
e906f1590 Baoquan He 2018-06-12 250 struct resource *tmp, *next;
5eeec0ec9 Yinghai Lu 2009-12-22 251 resource_size_t size;
5eeec0ec9 Yinghai Lu 2009-12-22 252
e906f1590 Baoquan He 2018-06-12 @253 list_for_each_entry_safe(tmp, next, &r->child, sibling) {
5eeec0ec9 Yinghai Lu 2009-12-22 254 tmp->parent = NULL;
e906f1590 Baoquan He 2018-06-12 255 INIT_LIST_HEAD(&tmp->sibling);
5eeec0ec9 Yinghai Lu 2009-12-22 256 __release_child_resources(tmp);
5eeec0ec9 Yinghai Lu 2009-12-22 257
5eeec0ec9 Yinghai Lu 2009-12-22 258 printk(KERN_DEBUG "release child resource %pR\n", tmp);
5eeec0ec9 Yinghai Lu 2009-12-22 259 /* need to restore size, and keep flags */
5eeec0ec9 Yinghai Lu 2009-12-22 260 size = resource_size(tmp);
5eeec0ec9 Yinghai Lu 2009-12-22 261 tmp->start = 0;
5eeec0ec9 Yinghai Lu 2009-12-22 262 tmp->end = size - 1;
5eeec0ec9 Yinghai Lu 2009-12-22 263 }
e906f1590 Baoquan He 2018-06-12 264
e906f1590 Baoquan He 2018-06-12 @265 INIT_LIST_HEAD(&tmp->child);
5eeec0ec9 Yinghai Lu 2009-12-22 266 }
5eeec0ec9 Yinghai Lu 2009-12-22 267
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH v5 2/4] resource: Use list_head to link sibling resource 2018-06-12 15:10 [PATCH v5 2/4] resource: Use list_head to link sibling resource Julia Lawall @ 2018-06-13 6:55 ` Baoquan He 0 siblings, 0 replies; 5+ messages in thread From: Baoquan He @ 2018-06-13 6:55 UTC (permalink / raw) To: Julia Lawall Cc: brijesh.singh-5C7GfCeVMHo, thomas.lendacky-5C7GfCeVMHo, airlied-cv59FeDIM0c, linux-pci-u79uwXL29TY76Z2rM5mHXA, richard.weiyang-Re5JQEeQqe8AvxtiuMwx3w, keith.busch-ral2JQCrhuEAvxtiuMwx3w, jcmvbkbc-Re5JQEeQqe8AvxtiuMwx3w, baiyaowei-0p4V/sDNsUmm0O/7XYngnFaTQe2KTcn/, frowand.list-Re5JQEeQqe8AvxtiuMwx3w, lorenzo.pieralisi-5wv7dgnIgG8, sthemmin-0li6OtcxBFHby3iVrkZq2A, linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw, patrik.r.jakobsson-Re5JQEeQqe8AvxtiuMwx3w, linux-input-u79uwXL29TY76Z2rM5mHXA, gustavo-THi1TnShQwVAfugRpC6u6w, dyoung-H+wXaHxf7aLQT0dZR+AlfA, kbuild-all-JC7UmRfGjtg, devicetree-u79uwXL29TY76Z2rM5mHXA, haiyangz-0li6OtcxBFHby3iVrkZq2A, maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA, jglisse-H+wXaHxf7aLQT0dZR+AlfA, seanpaul-F7+t8E8rja9g9hUCZPvPmw, bhelgaas-hpIqsD4AKlfQT0dZR+AlfA, tglx-hfZtesqFncYOwBW4kG4KsQ, yinghai-DgEjT+Ai2ygdnm+yROfE0A, jonathan.derrick-ral2JQCrhuEAvxtiuMwx3w, chris-YvXeqwSYzG2sTnJN9+BGXg, monstr-pSz03upnqPeHXe+LvDLADg, linux-parisc-u79uwXL29TY76Z2rM5mHXA, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w, kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, ebiederm-aS9lmoZGLiVWk0Htik3J/w, devel-tBiZLqfeLfOHmIFyCCdPziST3g8Odh+X, linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ, davem-fT/PcQaiUtJq0hI55+XSNA On 06/12/18 at 05:10pm, Julia Lawall wrote: > This looks wrong. After a list iterator, the index variable points to a > dummy structure. > > julia > > url: https://github.com/0day-ci/linux/commits/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180612-113600 > :::::: branch date: 7 hours ago > :::::: commit date: 7 hours ago > > >> kernel/resource.c:265:17-20: ERROR: invalid reference to the index variable of the iterator on line 253 > > # https://github.com/0day-ci/linux/commit/e906f15906750a86913ba2b1f08bad99129d3dfc > git remote add linux-review https://github.com/0day-ci/linux > git remote update linux-review > git checkout e906f15906750a86913ba2b1f08bad99129d3dfc > vim +265 kernel/resource.c > > ^1da177e4 Linus Torvalds 2005-04-16 247 > 5eeec0ec9 Yinghai Lu 2009-12-22 248 static void __release_child_resources(struct resource *r) > 5eeec0ec9 Yinghai Lu 2009-12-22 249 { > e906f1590 Baoquan He 2018-06-12 250 struct resource *tmp, *next; > 5eeec0ec9 Yinghai Lu 2009-12-22 251 resource_size_t size; > 5eeec0ec9 Yinghai Lu 2009-12-22 252 > e906f1590 Baoquan He 2018-06-12 @253 list_for_each_entry_safe(tmp, next, &r->child, sibling) { > 5eeec0ec9 Yinghai Lu 2009-12-22 254 tmp->parent = NULL; > e906f1590 Baoquan He 2018-06-12 255 INIT_LIST_HEAD(&tmp->sibling); list_del_init(&tmp->sibling); Thanks, Julia. Here I should use list_del_init(&op->list) to replace INIT_LIST_HEAD(&tmp->sibling). > 5eeec0ec9 Yinghai Lu 2009-12-22 256 __release_child_resources(tmp); > 5eeec0ec9 Yinghai Lu 2009-12-22 257 > 5eeec0ec9 Yinghai Lu 2009-12-22 258 printk(KERN_DEBUG "release child resource %pR\n", tmp); > 5eeec0ec9 Yinghai Lu 2009-12-22 259 /* need to restore size, and keep flags */ > 5eeec0ec9 Yinghai Lu 2009-12-22 260 size = resource_size(tmp); > 5eeec0ec9 Yinghai Lu 2009-12-22 261 tmp->start = 0; > 5eeec0ec9 Yinghai Lu 2009-12-22 262 tmp->end = size - 1; > 5eeec0ec9 Yinghai Lu 2009-12-22 263 } > e906f1590 Baoquan He 2018-06-12 264 > e906f1590 Baoquan He 2018-06-12 @265 INIT_LIST_HEAD(&tmp->child); > 5eeec0ec9 Yinghai Lu 2009-12-22 266 } > 5eeec0ec9 Yinghai Lu 2009-12-22 267 > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v5 0/4] resource: Use list_head to link sibling resource
@ 2018-06-12 3:28 Baoquan He
[not found] ` <20180612032831.29747-1-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Baoquan He @ 2018-06-12 3:28 UTC (permalink / raw)
To: linux-kernel-u79uwXL29TY76Z2rM5mHXA,
akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
dan.j.williams-ral2JQCrhuEAvxtiuMwx3w,
nicolas.pitre-QSEj5FYQhm4dnm+yROfE0A, josh-iaAMLnmF4UmaiuxdJuQwMA,
fengguang.wu-ral2JQCrhuEAvxtiuMwx3w, bp-l3A5Bk7waGM
Cc: brijesh.singh-5C7GfCeVMHo, devicetree-u79uwXL29TY76Z2rM5mHXA,
airlied-cv59FeDIM0c, linux-pci-u79uwXL29TY76Z2rM5mHXA,
richard.weiyang-Re5JQEeQqe8AvxtiuMwx3w,
keith.busch-ral2JQCrhuEAvxtiuMwx3w,
jcmvbkbc-Re5JQEeQqe8AvxtiuMwx3w,
baiyaowei-0p4V/sDNsUmm0O/7XYngnFaTQe2KTcn/,
kys-0li6OtcxBFHby3iVrkZq2A, frowand.list-Re5JQEeQqe8AvxtiuMwx3w,
lorenzo.pieralisi-5wv7dgnIgG8, sthemmin-0li6OtcxBFHby3iVrkZq2A,
Baoquan He, linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw,
patrik.r.jakobsson-Re5JQEeQqe8AvxtiuMwx3w,
linux-input-u79uwXL29TY76Z2rM5mHXA,
gustavo-THi1TnShQwVAfugRpC6u6w, dyoung-H+wXaHxf7aLQT0dZR+AlfA,
thomas.lendacky-5C7GfCeVMHo, haiyangz-0li6OtcxBFHby3iVrkZq2A,
maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA,
jglisse-H+wXaHxf7aLQT0dZR+AlfA, seanpaul-F7+t8E8rja9g9hUCZPvPmw,
bhelgaas-hpIqsD4AKlfQT0dZR+AlfA, tglx-hfZtesqFncYOwBW4kG4KsQ,
yinghai-DgEjT+Ai2ygdnm+yROfE0A,
jonathan.derrick-ral2JQCrhuEAvxtiuMwx3w,
chris-YvXeqwSYzG2sTnJN9+BGXg, monstr-pSz03upnqPeHXe+LvDLADg,
linux-parisc-u79uwXL29TY76Z2rM5mHXA,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w,
kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
ebiederm-aS9lmoZGLiVWk0Htik3J/w,
devel-tBiZLqfeLfOHmIFyCCdPziST3g8Odh+X, linuxppc-dev
This patchset is doing:
1) Replace struct resource's sibling list from singly linked list to
list_head. Clearing out those pointer operation within singly linked
list for better code readability.
2) Based on list_head replacement, add a new function
walk_system_ram_res_rev() which can does reversed iteration on
iomem_resource's siblings.
3) Change kexec_file loading to search system RAM top down for kernel
loadin, using walk_system_ram_res_rev().
Note:
This patchset passed testing on my kvm guest, x86_64 arch with network
enabling. The thing we need pay attetion to is that a root resource's
child member need be initialized specifically with LIST_HEAD_INIT() if
statically defined or INIT_LIST_HEAD() for dynamically definition. Here
Just like we do for iomem_resource/ioport_resource, or the change in
get_pci_domain_busn_res().
Links of the old post (Boris pointed out that we should use
https://lkml.kernel.org/r/Message-ID, while it can't be opened from
my side, so paste all of them here.):
v4:
https://lkml.kernel.org/r/20180507063224.24229-1-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
https://lkml.org/lkml/2018/5/7/36
v3:
https://lkml.kernel.org/r/20180419001848.3041-1-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
https://lkml.org/lkml/2018/4/18/767
v2:
https://lkml.kernel.org/r/20180408024724.16812-1-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
https://lkml.org/lkml/2018/4/7/169
v1:
https://lkml.kernel.org/r/20180322033722.9279-1-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
https://lkml.org/lkml/2018/3/21/952
Changelog:
v4->v5:
Add new patch 0001 to move duplicated reparent_resources() to
kernel/resource.c to make it be shared by different ARCH-es.
Fix several code bugs reported by test robot on ARCH powerpc and
microblaze.
v3->v4:
Fix several bugs test robot reported. Rewrite cover letter and patch
log according to reviewer's comment.
v2->v3:
Rename resource functions first_child() and sibling() to
resource_first_chils() and resource_sibling(). Dan suggested this.
Move resource_first_chils() and resource_sibling() to linux/ioport.h
and make them as inline function. Rob suggested this. Accordingly add
linux/list.h including in linux/ioport.h, please help review if this
bring efficiency degradation or code redundancy.
The change on struct resource {} bring two pointers of size increase,
mention this in git log to make it more specifically, Rob suggested
this.
v1->v2:
Use list_head instead to link resource siblings. This is suggested by
Andrew.
Rewrite walk_system_ram_res_rev() after list_head is taken to link
resouce siblings.
Baoquan He (4):
resource: Move reparent_resources() to kernel/resource.c and make it
public
resource: Use list_head to link sibling resource
resource: add walk_system_ram_res_rev()
kexec_file: Load kernel at top of system RAM if required
arch/arm/plat-samsung/pm-check.c | 6 +-
arch/microblaze/pci/pci-common.c | 41 +----
arch/powerpc/kernel/pci-common.c | 39 +----
arch/sparc/kernel/ioport.c | 2 +-
arch/xtensa/include/asm/pci-bridge.h | 4 +-
drivers/eisa/eisa-bus.c | 2 +
drivers/gpu/drm/drm_memory.c | 3 +-
drivers/gpu/drm/gma500/gtt.c | 5 +-
drivers/hv/vmbus_drv.c | 52 +++---
drivers/input/joystick/iforce/iforce-main.c | 4 +-
drivers/nvdimm/namespace_devs.c | 6 +-
drivers/nvdimm/nd.h | 5 +-
drivers/of/address.c | 4 +-
drivers/parisc/lba_pci.c | 4 +-
drivers/pci/host/vmd.c | 8 +-
drivers/pci/probe.c | 2 +
drivers/pci/setup-bus.c | 2 +-
include/linux/ioport.h | 21 ++-
kernel/kexec_file.c | 2 +
kernel/resource.c | 259 ++++++++++++++++++----------
20 files changed, 244 insertions(+), 227 deletions(-)
--
2.13.6
^ permalink raw reply [flat|nested] 5+ messages in thread[parent not found: <20180612032831.29747-1-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* [PATCH v5 2/4] resource: Use list_head to link sibling resource [not found] ` <20180612032831.29747-1-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> @ 2018-06-12 3:28 ` Baoquan He [not found] ` <20180612032831.29747-3-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Baoquan He @ 2018-06-12 3:28 UTC (permalink / raw) To: linux-kernel-u79uwXL29TY76Z2rM5mHXA, akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, dan.j.williams-ral2JQCrhuEAvxtiuMwx3w, nicolas.pitre-QSEj5FYQhm4dnm+yROfE0A, josh-iaAMLnmF4UmaiuxdJuQwMA, fengguang.wu-ral2JQCrhuEAvxtiuMwx3w, bp-l3A5Bk7waGM Cc: brijesh.singh-5C7GfCeVMHo, devicetree-u79uwXL29TY76Z2rM5mHXA, airlied-cv59FeDIM0c, linux-pci-u79uwXL29TY76Z2rM5mHXA, richard.weiyang-Re5JQEeQqe8AvxtiuMwx3w, keith.busch-ral2JQCrhuEAvxtiuMwx3w, jcmvbkbc-Re5JQEeQqe8AvxtiuMwx3w, baiyaowei-0p4V/sDNsUmm0O/7XYngnFaTQe2KTcn/, kys-0li6OtcxBFHby3iVrkZq2A, frowand.list-Re5JQEeQqe8AvxtiuMwx3w, lorenzo.pieralisi-5wv7dgnIgG8, sthemmin-0li6OtcxBFHby3iVrkZq2A, Baoquan He, linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw, patrik.r.jakobsson-Re5JQEeQqe8AvxtiuMwx3w, linux-input-u79uwXL29TY76Z2rM5mHXA, gustavo-THi1TnShQwVAfugRpC6u6w, dyoung-H+wXaHxf7aLQT0dZR+AlfA, thomas.lendacky-5C7GfCeVMHo, haiyangz-0li6OtcxBFHby3iVrkZq2A, maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA, jglisse-H+wXaHxf7aLQT0dZR+AlfA, seanpaul-F7+t8E8rja9g9hUCZPvPmw, bhelgaas-hpIqsD4AKlfQT0dZR+AlfA, tglx-hfZtesqFncYOwBW4kG4KsQ, yinghai-DgEjT+Ai2ygdnm+yROfE0A, jonathan.derrick-ral2JQCrhuEAvxtiuMwx3w, chris-YvXeqwSYzG2sTnJN9+BGXg, monstr-pSz03upnqPeHXe+LvDLADg, linux-parisc-u79uwXL29TY76Z2rM5mHXA, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w, kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, ebiederm-aS9lmoZGLiVWk0Htik3J/w, devel-tBiZLqfeLfOHmIFyCCdPziST3g8Odh+X, linuxppc-dev VGhlIHN0cnVjdCByZXNvdXJjZSB1c2VzIHNpbmdseSBsaW5rZWQgbGlzdCB0byBsaW5rIHNpYmxp bmdzLCBpbXBsZW1lbnRlZApieSBwb2ludGVyIG9wZXJhdGlvbi4gUmVwbGFjZSBpdCB3aXRoIGxp c3RfaGVhZCBmb3IgYmV0dGVyIGNvZGUgcmVhZGFiaWxpdHkuCgpCYXNlZCBvbiB0aGlzIGxpc3Rf aGVhZCByZXBsYWNlbWVudCwgaXQgd2lsbCBiZSB2ZXJ5IGVhc3kgdG8gZG8gcmV2ZXJzZQppdGVy YXRpb24gb24gaW9tZW1fcmVzb3VyY2UncyBzaWJsaW5nIGxpc3QgaW4gbGF0ZXIgcGF0Y2guCgpC ZXNpZGVzLCB0eXBlIG9mIG1lbWJlciB2YXJpYWJsZXMgb2Ygc3RydWN0IHJlc291cmNlLCBzaWJs aW5nIGFuZCBjaGlsZCwgYXJlCmNoYW5nZWQgZnJvbSAnc3RydWN0IHJlc291cmNlIConIHRvICdz dHJ1Y3QgbGlzdF9oZWFkJy4gVGhpcyBicmluZ3MgdHdvCnBvaW50ZXJzIG9mIHNpemUgaW5jcmVh c2UuCgpTdWdnZXN0ZWQtYnk6IEFuZHJldyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlvbi5v cmc+ClNpZ25lZC1vZmYtYnk6IEJhb3F1YW4gSGUgPGJoZUByZWRoYXQuY29tPgpDYzogUGF0cmlr IEpha29ic3NvbiA8cGF0cmlrLnIuamFrb2Jzc29uQGdtYWlsLmNvbT4KQ2M6IERhdmlkIEFpcmxp ZSA8YWlybGllZEBsaW51eC5pZT4KQ2M6ICJLLiBZLiBTcmluaXZhc2FuIiA8a3lzQG1pY3Jvc29m dC5jb20+CkNjOiBIYWl5YW5nIFpoYW5nIDxoYWl5YW5nekBtaWNyb3NvZnQuY29tPgpDYzogU3Rl cGhlbiBIZW1taW5nZXIgPHN0aGVtbWluQG1pY3Jvc29mdC5jb20+CkNjOiBEbWl0cnkgVG9yb2to b3YgPGRtaXRyeS50b3Jva2hvdkBnbWFpbC5jb20+CkNjOiBEYW4gV2lsbGlhbXMgPGRhbi5qLndp bGxpYW1zQGludGVsLmNvbT4KQ2M6IFJvYiBIZXJyaW5nIDxyb2JoK2R0QGtlcm5lbC5vcmc+CkNj OiBGcmFuayBSb3dhbmQgPGZyb3dhbmQubGlzdEBnbWFpbC5jb20+CkNjOiBLZWl0aCBCdXNjaCA8 a2VpdGguYnVzY2hAaW50ZWwuY29tPgpDYzogSm9uYXRoYW4gRGVycmljayA8am9uYXRoYW4uZGVy cmlja0BpbnRlbC5jb20+CkNjOiBMb3JlbnpvIFBpZXJhbGlzaSA8bG9yZW56by5waWVyYWxpc2lA YXJtLmNvbT4KQ2M6IEJqb3JuIEhlbGdhYXMgPGJoZWxnYWFzQGdvb2dsZS5jb20+CkNjOiBUaG9t YXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KQ2M6IEJyaWplc2ggU2luZ2ggPGJyaWpl c2guc2luZ2hAYW1kLmNvbT4KQ2M6ICJKw6lyw7RtZSBHbGlzc2UiIDxqZ2xpc3NlQHJlZGhhdC5j b20+CkNjOiBCb3Jpc2xhdiBQZXRrb3YgPGJwQHN1c2UuZGU+CkNjOiBUb20gTGVuZGFja3kgPHRo b21hcy5sZW5kYWNreUBhbWQuY29tPgpDYzogR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVna2hAbGlu dXhmb3VuZGF0aW9uLm9yZz4KQ2M6IFlhb3dlaSBCYWkgPGJhaXlhb3dlaUBjbXNzLmNoaW5hbW9i aWxlLmNvbT4KQ2M6IFdlaSBZYW5nIDxyaWNoYXJkLndlaXlhbmdAZ21haWwuY29tPgpDYzogZGV2 ZWxAbGludXhkcml2ZXJwcm9qZWN0Lm9yZwpDYzogbGludXgtaW5wdXRAdmdlci5rZXJuZWwub3Jn CkNjOiBsaW51eC1udmRpbW1AbGlzdHMuMDEub3JnCkNjOiBkZXZpY2V0cmVlQHZnZXIua2VybmVs Lm9yZwpDYzogbGludXgtcGNpQHZnZXIua2VybmVsLm9yZwotLS0KIGFyY2gvYXJtL3BsYXQtc2Ft c3VuZy9wbS1jaGVjay5jICAgICAgICAgICAgfCAgIDYgKy0KIGFyY2gvbWljcm9ibGF6ZS9wY2kv cGNpLWNvbW1vbi5jICAgICAgICAgICAgfCAgIDQgKy0KIGFyY2gvcG93ZXJwYy9rZXJuZWwvcGNp LWNvbW1vbi5jICAgICAgICAgICAgfCAgIDQgKy0KIGFyY2gvc3BhcmMva2VybmVsL2lvcG9ydC5j ICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIGFyY2gveHRlbnNhL2luY2x1ZGUvYXNtL3BjaS1i cmlkZ2UuaCAgICAgICAgfCAgIDQgKy0KIGRyaXZlcnMvZWlzYS9laXNhLWJ1cy5jICAgICAgICAg ICAgICAgICAgICAgfCAgIDIgKwogZHJpdmVycy9ncHUvZHJtL2RybV9tZW1vcnkuYyAgICAgICAg ICAgICAgICB8ICAgMyArLQogZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9ndHQuYyAgICAgICAgICAg ICAgICB8ICAgNSArLQogZHJpdmVycy9odi92bWJ1c19kcnYuYyAgICAgICAgICAgICAgICAgICAg ICB8ICA1MiArKystLS0tCiBkcml2ZXJzL2lucHV0L2pveXN0aWNrL2lmb3JjZS9pZm9yY2UtbWFp bi5jIHwgICA0ICstCiBkcml2ZXJzL252ZGltbS9uYW1lc3BhY2VfZGV2cy5jICAgICAgICAgICAg IHwgICA2ICstCiBkcml2ZXJzL252ZGltbS9uZC5oICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICA1ICstCiBkcml2ZXJzL29mL2FkZHJlc3MuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0 ICstCiBkcml2ZXJzL3BhcmlzYy9sYmFfcGNpLmMgICAgICAgICAgICAgICAgICAgIHwgICA0ICst CiBkcml2ZXJzL3BjaS9ob3N0L3ZtZC5jICAgICAgICAgICAgICAgICAgICAgIHwgICA4ICstCiBk cml2ZXJzL3BjaS9wcm9iZS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICsKIGRyaXZl cnMvcGNpL3NldHVwLWJ1cy5jICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIGluY2x1ZGUv bGludXgvaW9wb3J0LmggICAgICAgICAgICAgICAgICAgICAgfCAgMTcgKystCiBrZXJuZWwvcmVz b3VyY2UuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjExICsrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0KIDE5IGZpbGVzIGNoYW5nZWQsIDE3NiBpbnNlcnRpb25zKCspLCAxNjkgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1zYW1zdW5nL3BtLWNoZWNrLmMg Yi9hcmNoL2FybS9wbGF0LXNhbXN1bmcvcG0tY2hlY2suYwppbmRleCBjZDJjMDJjNjhiYzMuLjU0 OTQzNTViMWM0OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1zYW1zdW5nL3BtLWNoZWNrLmMK KysrIGIvYXJjaC9hcm0vcGxhdC1zYW1zdW5nL3BtLWNoZWNrLmMKQEAgLTQ2LDggKzQ2LDggQEAg dHlwZWRlZiB1MzIgKihydW5fZm5fdCkoc3RydWN0IHJlc291cmNlICpwdHIsIHUzMiAqYXJnKTsK IHN0YXRpYyB2b2lkIHMzY19wbV9ydW5fcmVzKHN0cnVjdCByZXNvdXJjZSAqcHRyLCBydW5fZm5f dCBmbiwgdTMyICphcmcpCiB7CiAJd2hpbGUgKHB0ciAhPSBOVUxMKSB7Ci0JCWlmIChwdHItPmNo aWxkICE9IE5VTEwpCi0JCQlzM2NfcG1fcnVuX3JlcyhwdHItPmNoaWxkLCBmbiwgYXJnKTsKKwkJ aWYgKCFsaXN0X2VtcHR5KCZwdHItPmNoaWxkKSkKKwkJCXMzY19wbV9ydW5fcmVzKHJlc291cmNl X2ZpcnN0X2NoaWxkKCZwdHItPmNoaWxkKSwgZm4sIGFyZyk7CiAKIAkJaWYgKChwdHItPmZsYWdz ICYgSU9SRVNPVVJDRV9TWVNURU1fUkFNKQogCQkJCT09IElPUkVTT1VSQ0VfU1lTVEVNX1JBTSkg ewpAQCAtNTcsNyArNTcsNyBAQCBzdGF0aWMgdm9pZCBzM2NfcG1fcnVuX3JlcyhzdHJ1Y3QgcmVz b3VyY2UgKnB0ciwgcnVuX2ZuX3QgZm4sIHUzMiAqYXJnKQogCQkJYXJnID0gKGZuKShwdHIsIGFy Zyk7CiAJCX0KIAotCQlwdHIgPSBwdHItPnNpYmxpbmc7CisJCXB0ciA9IHJlc291cmNlX3NpYmxp bmcocHRyKTsKIAl9CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvbWljcm9ibGF6ZS9wY2kvcGNpLWNv bW1vbi5jIGIvYXJjaC9taWNyb2JsYXplL3BjaS9wY2ktY29tbW9uLmMKaW5kZXggNzg5OWJhZmFi MDY0Li4yYmY3M2UyN2UyMzEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWljcm9ibGF6ZS9wY2kvcGNpLWNv bW1vbi5jCisrKyBiL2FyY2gvbWljcm9ibGF6ZS9wY2kvcGNpLWNvbW1vbi5jCkBAIC01MzMsNyAr NTMzLDkgQEAgdm9pZCBwY2lfcHJvY2Vzc19icmlkZ2VfT0ZfcmFuZ2VzKHN0cnVjdCBwY2lfY29u dHJvbGxlciAqaG9zZSwKIAkJCXJlcy0+ZmxhZ3MgPSByYW5nZS5mbGFnczsKIAkJCXJlcy0+c3Rh cnQgPSByYW5nZS5jcHVfYWRkcjsKIAkJCXJlcy0+ZW5kID0gcmFuZ2UuY3B1X2FkZHIgKyByYW5n ZS5zaXplIC0gMTsKLQkJCXJlcy0+cGFyZW50ID0gcmVzLT5jaGlsZCA9IHJlcy0+c2libGluZyA9 IE5VTEw7CisJCQlyZXMtPnBhcmVudCA9IE5VTEw7CisJCQlJTklUX0xJU1RfSEVBRCgmcmVzLT5j aGlsZCk7CisJCQlJTklUX0xJU1RfSEVBRCgmcmVzLT5zaWJsaW5nKTsKIAkJfQogCX0KIApkaWZm IC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9wY2ktY29tbW9uLmMgYi9hcmNoL3Bvd2VycGMv a2VybmVsL3BjaS1jb21tb24uYwppbmRleCA5MjYwMzViYjM3OGQuLjI4ZmJlODNjOWRhZiAxMDA2 NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9wY2ktY29tbW9uLmMKKysrIGIvYXJjaC9wb3dl cnBjL2tlcm5lbC9wY2ktY29tbW9uLmMKQEAgLTc2MSw3ICs3NjEsOSBAQCB2b2lkIHBjaV9wcm9j ZXNzX2JyaWRnZV9PRl9yYW5nZXMoc3RydWN0IHBjaV9jb250cm9sbGVyICpob3NlLAogCQkJcmVz LT5mbGFncyA9IHJhbmdlLmZsYWdzOwogCQkJcmVzLT5zdGFydCA9IHJhbmdlLmNwdV9hZGRyOwog CQkJcmVzLT5lbmQgPSByYW5nZS5jcHVfYWRkciArIHJhbmdlLnNpemUgLSAxOwotCQkJcmVzLT5w YXJlbnQgPSByZXMtPmNoaWxkID0gcmVzLT5zaWJsaW5nID0gTlVMTDsKKwkJCXJlcy0+cGFyZW50 ID0gTlVMTDsKKwkJCUlOSVRfTElTVF9IRUFEKCZyZXMtPmNoaWxkKTsKKwkJCUlOSVRfTElTVF9I RUFEKCZyZXMtPnNpYmxpbmcpOwogCQl9CiAJfQogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYy9r ZXJuZWwvaW9wb3J0LmMgYi9hcmNoL3NwYXJjL2tlcm5lbC9pb3BvcnQuYwppbmRleCBjY2E5MTM0 Y2ZhN2QuLjk5ZWZlNGU5OGIxNiAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYy9rZXJuZWwvaW9wb3J0 LmMKKysrIGIvYXJjaC9zcGFyYy9rZXJuZWwvaW9wb3J0LmMKQEAgLTY2OSw3ICs2NjksNyBAQCBz dGF0aWMgaW50IHNwYXJjX2lvX3Byb2Nfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYp CiAJc3RydWN0IHJlc291cmNlICpyb290ID0gbS0+cHJpdmF0ZSwgKnI7CiAJY29uc3QgY2hhciAq bm07CiAKLQlmb3IgKHIgPSByb290LT5jaGlsZDsgciAhPSBOVUxMOyByID0gci0+c2libGluZykg eworCWxpc3RfZm9yX2VhY2hfZW50cnkociwgJnJvb3QtPmNoaWxkLCBzaWJsaW5nKSB7CiAJCWlm ICgobm0gPSByLT5uYW1lKSA9PSBOVUxMKSBubSA9ICI/Pz8iOwogCQlzZXFfcHJpbnRmKG0sICIl MDE2bGx4LSUwMTZsbHg6ICVzXG4iLAogCQkJCSh1bnNpZ25lZCBsb25nIGxvbmcpci0+c3RhcnQs CmRpZmYgLS1naXQgYS9hcmNoL3h0ZW5zYS9pbmNsdWRlL2FzbS9wY2ktYnJpZGdlLmggYi9hcmNo L3h0ZW5zYS9pbmNsdWRlL2FzbS9wY2ktYnJpZGdlLmgKaW5kZXggMGI2OGM3NmVjMWU2Li5mNDg3 YjA2ODE3ZGYgMTAwNjQ0Ci0tLSBhL2FyY2gveHRlbnNhL2luY2x1ZGUvYXNtL3BjaS1icmlkZ2Uu aAorKysgYi9hcmNoL3h0ZW5zYS9pbmNsdWRlL2FzbS9wY2ktYnJpZGdlLmgKQEAgLTcxLDggKzcx LDggQEAgc3RhdGljIGlubGluZSB2b2lkIHBjaWJpb3NfaW5pdF9yZXNvdXJjZShzdHJ1Y3QgcmVz b3VyY2UgKnJlcywKIAlyZXMtPmZsYWdzID0gZmxhZ3M7CiAJcmVzLT5uYW1lID0gbmFtZTsKIAly ZXMtPnBhcmVudCA9IE5VTEw7Ci0JcmVzLT5zaWJsaW5nID0gTlVMTDsKLQlyZXMtPmNoaWxkID0g TlVMTDsKKwlJTklUX0xJU1RfSEVBRCgmcmVzLT5jaGlsZCk7CisJSU5JVF9MSVNUX0hFQUQoJnJl cy0+c2libGluZyk7CiB9CiAKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9laXNhL2Vpc2EtYnVzLmMg Yi9kcml2ZXJzL2Vpc2EvZWlzYS1idXMuYwppbmRleCAxZTgwNjJmNmRiZmMuLmRiYTc4Zjc1ZmQw NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9laXNhL2Vpc2EtYnVzLmMKKysrIGIvZHJpdmVycy9laXNh L2Vpc2EtYnVzLmMKQEAgLTQwOCw2ICs0MDgsOCBAQCBzdGF0aWMgc3RydWN0IHJlc291cmNlIGVp c2Ffcm9vdF9yZXMgPSB7CiAJLnN0YXJ0ID0gMCwKIAkuZW5kICAgPSAweGZmZmZmZmZmLAogCS5m bGFncyA9IElPUkVTT1VSQ0VfSU8sCisJLnNpYmxpbmcgPSBMSVNUX0hFQURfSU5JVChlaXNhX3Jv b3RfcmVzLnNpYmxpbmcpLAorCS5jaGlsZCAgPSBMSVNUX0hFQURfSU5JVChlaXNhX3Jvb3RfcmVz LmNoaWxkKSwKIH07CiAKIHN0YXRpYyBpbnQgZWlzYV9idXNfY291bnQ7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX21lbW9yeS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tZW1vcnku YwppbmRleCAzYzU0MDQ0MjE0ZGIuLjUzZTMwMGE5OTNkYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9tZW1vcnkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21lbW9yeS5jCkBA IC0xNTUsOSArMTU1LDggQEAgdTY0IGRybV9nZXRfbWF4X2lvbWVtKHZvaWQpCiAJc3RydWN0IHJl c291cmNlICp0bXA7CiAJcmVzb3VyY2Vfc2l6ZV90IG1heF9pb21lbSA9IDA7CiAKLQlmb3IgKHRt cCA9IGlvbWVtX3Jlc291cmNlLmNoaWxkOyB0bXA7IHRtcCA9IHRtcC0+c2libGluZykgeworCWxp c3RfZm9yX2VhY2hfZW50cnkodG1wLCAmaW9tZW1fcmVzb3VyY2UuY2hpbGQsIHNpYmxpbmcpCiAJ CW1heF9pb21lbSA9IG1heChtYXhfaW9tZW0sICB0bXAtPmVuZCk7Ci0JfQogCiAJcmV0dXJuIG1h eF9pb21lbTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvZ3R0LmMgYi9k cml2ZXJzL2dwdS9kcm0vZ21hNTAwL2d0dC5jCmluZGV4IDM5NDliMDk5MDkxNi4uYWRkZDNiYzAw OWFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2d0dC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9nbWE1MDAvZ3R0LmMKQEAgLTU2NSw3ICs1NjUsNyBAQCBpbnQgcHNiX2d0dF9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCByZXN1bWUpCiBpbnQgcHNiX2d0dF9yZXN0 b3JlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRybV9wc2JfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwotCXN0cnVjdCByZXNvdXJjZSAqciA9IGRldl9w cml2LT5ndHRfbWVtLT5jaGlsZDsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7CiAJc3RydWN0IGd0dF9y YW5nZSAqcmFuZ2U7CiAJdW5zaWduZWQgaW50IHJlc3RvcmVkID0gMCwgdG90YWwgPSAwLCBzaXpl ID0gMDsKIApAQCAtNTczLDE0ICs1NzMsMTMgQEAgaW50IHBzYl9ndHRfcmVzdG9yZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCW11dGV4X2xvY2soJmRldl9wcml2LT5ndHRfbXV0ZXgpOwogCXBz Yl9ndHRfaW5pdChkZXYsIDEpOwogCi0Jd2hpbGUgKHIgIT0gTlVMTCkgeworCWxpc3RfZm9yX2Vh Y2hfZW50cnkociwgJmRldl9wcml2LT5ndHRfbWVtLT5jaGlsZCwgc2libGluZykgewogCQlyYW5n ZSA9IGNvbnRhaW5lcl9vZihyLCBzdHJ1Y3QgZ3R0X3JhbmdlLCByZXNvdXJjZSk7CiAJCWlmIChy YW5nZS0+cGFnZXMpIHsKIAkJCXBzYl9ndHRfaW5zZXJ0KGRldiwgcmFuZ2UsIDEpOwogCQkJc2l6 ZSArPSByYW5nZS0+cmVzb3VyY2UuZW5kIC0gcmFuZ2UtPnJlc291cmNlLnN0YXJ0OwogCQkJcmVz dG9yZWQrKzsKIAkJfQotCQlyID0gci0+c2libGluZzsKIAkJdG90YWwrKzsKIAl9CiAJbXV0ZXhf dW5sb2NrKCZkZXZfcHJpdi0+Z3R0X211dGV4KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHYvdm1i dXNfZHJ2LmMgYi9kcml2ZXJzL2h2L3ZtYnVzX2Rydi5jCmluZGV4IGIxMGZlMjZjNDg5MS4uZDg3 ZWM1YTFiYzRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2h2L3ZtYnVzX2Rydi5jCisrKyBiL2RyaXZl cnMvaHYvdm1idXNfZHJ2LmMKQEAgLTE0MTIsOSArMTQxMiw4IEBAIHN0YXRpYyBhY3BpX3N0YXR1 cyB2bWJ1c193YWxrX3Jlc291cmNlcyhzdHJ1Y3QgYWNwaV9yZXNvdXJjZSAqcmVzLCB2b2lkICpj dHgpCiB7CiAJcmVzb3VyY2Vfc2l6ZV90IHN0YXJ0ID0gMDsKIAlyZXNvdXJjZV9zaXplX3QgZW5k ID0gMDsKLQlzdHJ1Y3QgcmVzb3VyY2UgKm5ld19yZXM7CisJc3RydWN0IHJlc291cmNlICpuZXdf cmVzLCAqdG1wOwogCXN0cnVjdCByZXNvdXJjZSAqKm9sZF9yZXMgPSAmaHlwZXJ2X21taW87Ci0J c3RydWN0IHJlc291cmNlICoqcHJldl9yZXMgPSBOVUxMOwogCiAJc3dpdGNoIChyZXMtPnR5cGUp IHsKIApAQCAtMTQ2MSw0NCArMTQ2MCwzNiBAQCBzdGF0aWMgYWNwaV9zdGF0dXMgdm1idXNfd2Fs a19yZXNvdXJjZXMoc3RydWN0IGFjcGlfcmVzb3VyY2UgKnJlcywgdm9pZCAqY3R4KQogCS8qCiAJ ICogSWYgdHdvIHJhbmdlcyBhcmUgYWRqYWNlbnQsIG1lcmdlIHRoZW0uCiAJICovCi0JZG8gewot CQlpZiAoISpvbGRfcmVzKSB7Ci0JCQkqb2xkX3JlcyA9IG5ld19yZXM7Ci0JCQlicmVhazsKLQkJ fQotCi0JCWlmICgoKCpvbGRfcmVzKS0+ZW5kICsgMSkgPT0gbmV3X3Jlcy0+c3RhcnQpIHsKLQkJ CSgqb2xkX3JlcyktPmVuZCA9IG5ld19yZXMtPmVuZDsKKwlpZiAoISpvbGRfcmVzKSB7CisJCSpv bGRfcmVzID0gbmV3X3JlczsKKwkJcmV0dXJuIEFFX09LOworCX0KKwl0bXAgPSAqb2xkX3JlczsK KwlsaXN0X2Zvcl9lYWNoX2VudHJ5X2Zyb20odG1wLCAmdG1wLT5wYXJlbnQtPmNoaWxkLCBzaWJs aW5nKSB7CisJCWlmICgodG1wLT5lbmQgKyAxKSA9PSBuZXdfcmVzLT5zdGFydCkgeworCQkJdG1w LT5lbmQgPSBuZXdfcmVzLT5lbmQ7CiAJCQlrZnJlZShuZXdfcmVzKTsKIAkJCWJyZWFrOwogCQl9 CiAKLQkJaWYgKCgqb2xkX3JlcyktPnN0YXJ0ID09IG5ld19yZXMtPmVuZCArIDEpIHsKLQkJCSgq b2xkX3JlcyktPnN0YXJ0ID0gbmV3X3Jlcy0+c3RhcnQ7CisJCWlmICh0bXAtPnN0YXJ0ID09IG5l d19yZXMtPmVuZCArIDEpIHsKKwkJCXRtcC0+c3RhcnQgPSBuZXdfcmVzLT5zdGFydDsKIAkJCWtm cmVlKG5ld19yZXMpOwogCQkJYnJlYWs7CiAJCX0KIAotCQlpZiAoKCpvbGRfcmVzKS0+c3RhcnQg PiBuZXdfcmVzLT5lbmQpIHsKLQkJCW5ld19yZXMtPnNpYmxpbmcgPSAqb2xkX3JlczsKLQkJCWlm IChwcmV2X3JlcykKLQkJCQkoKnByZXZfcmVzKS0+c2libGluZyA9IG5ld19yZXM7Ci0JCQkqb2xk X3JlcyA9IG5ld19yZXM7CisJCWlmICh0bXAtPnN0YXJ0ID4gbmV3X3Jlcy0+ZW5kKSB7CisJCQls aXN0X2FkZCgmbmV3X3Jlcy0+c2libGluZywgdG1wLT5zaWJsaW5nLnByZXYpOwogCQkJYnJlYWs7 CiAJCX0KLQotCQlwcmV2X3JlcyA9IG9sZF9yZXM7Ci0JCW9sZF9yZXMgPSAmKCpvbGRfcmVzKS0+ c2libGluZzsKLQotCX0gd2hpbGUgKDEpOworCX0KIAogCXJldHVybiBBRV9PSzsKIH0KIAogc3Rh dGljIGludCB2bWJ1c19hY3BpX3JlbW92ZShzdHJ1Y3QgYWNwaV9kZXZpY2UgKmRldmljZSkKIHsK LQlzdHJ1Y3QgcmVzb3VyY2UgKmN1cl9yZXM7Ci0Jc3RydWN0IHJlc291cmNlICpuZXh0X3JlczsK KwlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKIAogCWlmIChoeXBlcnZfbW1pbykgewogCQlpZiAoZmJf bW1pbykgewpAQCAtMTUwNywxMCArMTQ5OCw5IEBAIHN0YXRpYyBpbnQgdm1idXNfYWNwaV9yZW1v dmUoc3RydWN0IGFjcGlfZGV2aWNlICpkZXZpY2UpCiAJCQlmYl9tbWlvID0gTlVMTDsKIAkJfQog Ci0JCWZvciAoY3VyX3JlcyA9IGh5cGVydl9tbWlvOyBjdXJfcmVzOyBjdXJfcmVzID0gbmV4dF9y ZXMpIHsKLQkJCW5leHRfcmVzID0gY3VyX3Jlcy0+c2libGluZzsKLQkJCWtmcmVlKGN1cl9yZXMp OwotCQl9CisJCXJlcyA9IGh5cGVydl9tbWlvOworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X2Zyb20o cmVzLCAmcmVzLT5wYXJlbnQtPmNoaWxkLCBzaWJsaW5nKQorCQkJa2ZyZWUocmVzKTsKIAl9CiAK IAlyZXR1cm4gMDsKQEAgLTE1OTYsNyArMTU4Niw4IEBAIGludCB2bWJ1c19hbGxvY2F0ZV9tbWlv KHN0cnVjdCByZXNvdXJjZSAqKm5ldywgc3RydWN0IGh2X2RldmljZSAqZGV2aWNlX29iaiwKIAkJ fQogCX0KIAotCWZvciAoaXRlciA9IGh5cGVydl9tbWlvOyBpdGVyOyBpdGVyID0gaXRlci0+c2li bGluZykgeworCWl0ZXIgPSBoeXBlcnZfbW1pbzsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X2Zyb20o aXRlciwgJml0ZXItPnBhcmVudC0+Y2hpbGQsIHNpYmxpbmcpIHsKIAkJaWYgKChpdGVyLT5zdGFy dCA+PSBtYXgpIHx8IChpdGVyLT5lbmQgPD0gbWluKSkKIAkJCWNvbnRpbnVlOwogCkBAIC0xNjM5 LDcgKzE2MzAsOCBAQCB2b2lkIHZtYnVzX2ZyZWVfbW1pbyhyZXNvdXJjZV9zaXplX3Qgc3RhcnQs IHJlc291cmNlX3NpemVfdCBzaXplKQogCXN0cnVjdCByZXNvdXJjZSAqaXRlcjsKIAogCWRvd24o Jmh5cGVydl9tbWlvX2xvY2spOwotCWZvciAoaXRlciA9IGh5cGVydl9tbWlvOyBpdGVyOyBpdGVy ID0gaXRlci0+c2libGluZykgeworCWl0ZXIgPSBoeXBlcnZfbW1pbzsKKwlsaXN0X2Zvcl9lYWNo X2VudHJ5X2Zyb20oaXRlciwgJml0ZXItPnBhcmVudC0+Y2hpbGQsIHNpYmxpbmcpIHsKIAkJaWYg KChpdGVyLT5zdGFydCA+PSBzdGFydCArIHNpemUpIHx8IChpdGVyLT5lbmQgPD0gc3RhcnQpKQog CQkJY29udGludWU7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvam95c3RpY2svaWZvcmNl L2lmb3JjZS1tYWluLmMgYi9kcml2ZXJzL2lucHV0L2pveXN0aWNrL2lmb3JjZS9pZm9yY2UtbWFp bi5jCmluZGV4IGRhZWViNGM3ZTNiMC4uNWMwYmUyN2IzM2ZmIDEwMDY0NAotLS0gYS9kcml2ZXJz L2lucHV0L2pveXN0aWNrL2lmb3JjZS9pZm9yY2UtbWFpbi5jCisrKyBiL2RyaXZlcnMvaW5wdXQv am95c3RpY2svaWZvcmNlL2lmb3JjZS1tYWluLmMKQEAgLTMwNSw4ICszMDUsOCBAQCBpbnQgaWZv cmNlX2luaXRfZGV2aWNlKHN0cnVjdCBpZm9yY2UgKmlmb3JjZSkKIAlpZm9yY2UtPmRldmljZV9t ZW1vcnkuZW5kID0gMjAwOwogCWlmb3JjZS0+ZGV2aWNlX21lbW9yeS5mbGFncyA9IElPUkVTT1VS Q0VfTUVNOwogCWlmb3JjZS0+ZGV2aWNlX21lbW9yeS5wYXJlbnQgPSBOVUxMOwotCWlmb3JjZS0+ ZGV2aWNlX21lbW9yeS5jaGlsZCA9IE5VTEw7Ci0JaWZvcmNlLT5kZXZpY2VfbWVtb3J5LnNpYmxp bmcgPSBOVUxMOworCUlOSVRfTElTVF9IRUFEKCZpZm9yY2UtPmRldmljZV9tZW1vcnkuY2hpbGQp OworCUlOSVRfTElTVF9IRUFEKCZpZm9yY2UtPmRldmljZV9tZW1vcnkuc2libGluZyk7CiAKIC8q CiAgKiBXYWl0IHVudGlsIGRldmljZSByZWFkeSAtIHVudGlsIGl0IHNlbmRzIGl0cyBmaXJzdCBy ZXNwb25zZS4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbnZkaW1tL25hbWVzcGFjZV9kZXZzLmMgYi9k cml2ZXJzL252ZGltbS9uYW1lc3BhY2VfZGV2cy5jCmluZGV4IDI4YWZkZDY2ODkwNS4uZjUzZDQx MGQ5OTgxIDEwMDY0NAotLS0gYS9kcml2ZXJzL252ZGltbS9uYW1lc3BhY2VfZGV2cy5jCisrKyBi L2RyaXZlcnMvbnZkaW1tL25hbWVzcGFjZV9kZXZzLmMKQEAgLTYzNyw3ICs2MzcsNyBAQCBzdGF0 aWMgcmVzb3VyY2Vfc2l6ZV90IHNjYW5fYWxsb2NhdGUoc3RydWN0IG5kX3JlZ2lvbiAqbmRfcmVn aW9uLAogIHJldHJ5OgogCWZpcnN0ID0gMDsKIAlmb3JfZWFjaF9kcGFfcmVzb3VyY2UobmRkLCBy ZXMpIHsKLQkJc3RydWN0IHJlc291cmNlICpuZXh0ID0gcmVzLT5zaWJsaW5nLCAqbmV3X3JlcyA9 IE5VTEw7CisJCXN0cnVjdCByZXNvdXJjZSAqbmV4dCA9IHJlc291cmNlX3NpYmxpbmcocmVzKSwg Km5ld19yZXMgPSBOVUxMOwogCQlyZXNvdXJjZV9zaXplX3QgYWxsb2NhdGUsIGF2YWlsYWJsZSA9 IDA7CiAJCWVudW0gYWxsb2NfbG9jIGxvYyA9IEFMTE9DX0VSUjsKIAkJY29uc3QgY2hhciAqYWN0 aW9uOwpAQCAtNzYzLDcgKzc2Myw3IEBAIHN0YXRpYyByZXNvdXJjZV9zaXplX3Qgc2Nhbl9hbGxv Y2F0ZShzdHJ1Y3QgbmRfcmVnaW9uICpuZF9yZWdpb24sCiAJICogYW4gaW5pdGlhbCAicG1lbS1y ZXNlcnZlIHBhc3MiLiAgT25seSBkbyBhbiBpbml0aWFsIEJMSyBhbGxvY2F0aW9uCiAJICogd2hl biBub25lIG9mIHRoZSBEUEEgc3BhY2UgaXMgcmVzZXJ2ZWQuCiAJICovCi0JaWYgKChpc19wbWVt IHx8ICFuZGQtPmRwYS5jaGlsZCkgJiYgbiA9PSB0b19hbGxvY2F0ZSkKKwlpZiAoKGlzX3BtZW0g fHwgbGlzdF9lbXB0eSgmbmRkLT5kcGEuY2hpbGQpKSAmJiBuID09IHRvX2FsbG9jYXRlKQogCQly ZXR1cm4gaW5pdF9kcGFfYWxsb2NhdGlvbihsYWJlbF9pZCwgbmRfcmVnaW9uLCBuZF9tYXBwaW5n LCBuKTsKIAlyZXR1cm4gbjsKIH0KQEAgLTc3OSw3ICs3NzksNyBAQCBzdGF0aWMgaW50IG1lcmdl X2RwYShzdHJ1Y3QgbmRfcmVnaW9uICpuZF9yZWdpb24sCiAgcmV0cnk6CiAJZm9yX2VhY2hfZHBh X3Jlc291cmNlKG5kZCwgcmVzKSB7CiAJCWludCByYzsKLQkJc3RydWN0IHJlc291cmNlICpuZXh0 ID0gcmVzLT5zaWJsaW5nOworCQlzdHJ1Y3QgcmVzb3VyY2UgKm5leHQgPSByZXNvdXJjZV9zaWJs aW5nKHJlcyk7CiAJCXJlc291cmNlX3NpemVfdCBlbmQgPSByZXMtPnN0YXJ0ICsgcmVzb3VyY2Vf c2l6ZShyZXMpOwogCiAJCWlmICghbmV4dCB8fCBzdHJjbXAocmVzLT5uYW1lLCBsYWJlbF9pZC0+ aWQpICE9IDAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbnZkaW1tL25kLmggYi9kcml2ZXJzL252ZGlt bS9uZC5oCmluZGV4IDMyZTAzNjRiNDhiOS4uZGE3ZGExNWUwM2U3IDEwMDY0NAotLS0gYS9kcml2 ZXJzL252ZGltbS9uZC5oCisrKyBiL2RyaXZlcnMvbnZkaW1tL25kLmgKQEAgLTEwMiwxMSArMTAy LDEwIEBAIHVuc2lnbmVkIHNpemVvZl9uYW1lc3BhY2VfbGFiZWwoc3RydWN0IG52ZGltbV9kcnZk YXRhICpuZGQpOwogCQkodW5zaWduZWQgbG9uZyBsb25nKSAocmVzID8gcmVzLT5zdGFydCA6IDAp LCAjI2FyZykKIAogI2RlZmluZSBmb3JfZWFjaF9kcGFfcmVzb3VyY2UobmRkLCByZXMpIFwKLQlm b3IgKHJlcyA9IChuZGQpLT5kcGEuY2hpbGQ7IHJlczsgcmVzID0gcmVzLT5zaWJsaW5nKQorCWxp c3RfZm9yX2VhY2hfZW50cnkocmVzLCAmKG5kZCktPmRwYS5jaGlsZCwgc2libGluZykKIAogI2Rl ZmluZSBmb3JfZWFjaF9kcGFfcmVzb3VyY2Vfc2FmZShuZGQsIHJlcywgbmV4dCkgXAotCWZvciAo cmVzID0gKG5kZCktPmRwYS5jaGlsZCwgbmV4dCA9IHJlcyA/IHJlcy0+c2libGluZyA6IE5VTEw7 IFwKLQkJCXJlczsgcmVzID0gbmV4dCwgbmV4dCA9IG5leHQgPyBuZXh0LT5zaWJsaW5nIDogTlVM TCkKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmVzLCBuZXh0LCAmKG5kZCktPmRwYS5jaGls ZCwgc2libGluZykKIAogc3RydWN0IG5kX3BlcmNwdV9sYW5lIHsKIAlpbnQgY291bnQ7CmRpZmYg LS1naXQgYS9kcml2ZXJzL29mL2FkZHJlc3MuYyBiL2RyaXZlcnMvb2YvYWRkcmVzcy5jCmluZGV4 IDUzMzQ5OTEyYWM3NS4uZTJlMjU3MTlhYjUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL29mL2FkZHJl c3MuYworKysgYi9kcml2ZXJzL29mL2FkZHJlc3MuYwpAQCAtMzMwLDcgKzMzMCw5IEBAIGludCBv Zl9wY2lfcmFuZ2VfdG9fcmVzb3VyY2Uoc3RydWN0IG9mX3BjaV9yYW5nZSAqcmFuZ2UsCiB7CiAJ aW50IGVycjsKIAlyZXMtPmZsYWdzID0gcmFuZ2UtPmZsYWdzOwotCXJlcy0+cGFyZW50ID0gcmVz LT5jaGlsZCA9IHJlcy0+c2libGluZyA9IE5VTEw7CisJcmVzLT5wYXJlbnQgPSBOVUxMOworCUlO SVRfTElTVF9IRUFEKCZyZXMtPmNoaWxkKTsKKwlJTklUX0xJU1RfSEVBRCgmcmVzLT5zaWJsaW5n KTsKIAlyZXMtPm5hbWUgPSBucC0+ZnVsbF9uYW1lOwogCiAJaWYgKHJlcy0+ZmxhZ3MgJiBJT1JF U09VUkNFX0lPKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BhcmlzYy9sYmFfcGNpLmMgYi9kcml2 ZXJzL3BhcmlzYy9sYmFfcGNpLmMKaW5kZXggNjliZDk4NDIxZWIxLi43NDgyYmRmZDE5NTkgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvcGFyaXNjL2xiYV9wY2kuYworKysgYi9kcml2ZXJzL3BhcmlzYy9s YmFfcGNpLmMKQEAgLTE3MCw4ICsxNzAsOCBAQCBsYmFfZHVtcF9yZXMoc3RydWN0IHJlc291cmNl ICpyLCBpbnQgZCkKIAlmb3IgKGkgPSBkOyBpIDsgLS1pKSBwcmludGsoIiAiKTsKIAlwcmludGso S0VSTl9ERUJVRyAiJXAgWyVseCwlbHhdLyVseFxuIiwgciwKIAkJKGxvbmcpci0+c3RhcnQsIChs b25nKXItPmVuZCwgci0+ZmxhZ3MpOwotCWxiYV9kdW1wX3JlcyhyLT5jaGlsZCwgZCsyKTsKLQls YmFfZHVtcF9yZXMoci0+c2libGluZywgZCk7CisJbGJhX2R1bXBfcmVzKHJlc291cmNlX2ZpcnN0 X2NoaWxkKCZyLT5jaGlsZCksIGQrMik7CisJbGJhX2R1bXBfcmVzKHJlc291cmNlX3NpYmxpbmco ciksIGQpOwogfQogCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2hvc3Qvdm1kLmMgYi9kcml2 ZXJzL3BjaS9ob3N0L3ZtZC5jCmluZGV4IDk0MmI2NGZjN2YxZi4uZTNhY2UyMDM0NWM3IDEwMDY0 NAotLS0gYS9kcml2ZXJzL3BjaS9ob3N0L3ZtZC5jCisrKyBiL2RyaXZlcnMvcGNpL2hvc3Qvdm1k LmMKQEAgLTU0MiwxNCArNTQyLDE0IEBAIHN0YXRpYyBzdHJ1Y3QgcGNpX29wcyB2bWRfb3BzID0g ewogCiBzdGF0aWMgdm9pZCB2bWRfYXR0YWNoX3Jlc291cmNlcyhzdHJ1Y3Qgdm1kX2RldiAqdm1k KQogewotCXZtZC0+ZGV2LT5yZXNvdXJjZVtWTURfTUVNQkFSMV0uY2hpbGQgPSAmdm1kLT5yZXNv dXJjZXNbMV07Ci0Jdm1kLT5kZXYtPnJlc291cmNlW1ZNRF9NRU1CQVIyXS5jaGlsZCA9ICZ2bWQt PnJlc291cmNlc1syXTsKKwlsaXN0X2FkZCgmdm1kLT5yZXNvdXJjZXNbMV0uc2libGluZywgJnZt ZC0+ZGV2LT5yZXNvdXJjZVtWTURfTUVNQkFSMV0uY2hpbGQpOworCWxpc3RfYWRkKCZ2bWQtPnJl c291cmNlc1syXS5zaWJsaW5nLCAmdm1kLT5kZXYtPnJlc291cmNlW1ZNRF9NRU1CQVIyXS5jaGls ZCk7CiB9CiAKIHN0YXRpYyB2b2lkIHZtZF9kZXRhY2hfcmVzb3VyY2VzKHN0cnVjdCB2bWRfZGV2 ICp2bWQpCiB7Ci0Jdm1kLT5kZXYtPnJlc291cmNlW1ZNRF9NRU1CQVIxXS5jaGlsZCA9IE5VTEw7 Ci0Jdm1kLT5kZXYtPnJlc291cmNlW1ZNRF9NRU1CQVIyXS5jaGlsZCA9IE5VTEw7CisJSU5JVF9M SVNUX0hFQUQoJnZtZC0+ZGV2LT5yZXNvdXJjZVtWTURfTUVNQkFSMV0uY2hpbGQpOworCUlOSVRf TElTVF9IRUFEKCZ2bWQtPmRldi0+cmVzb3VyY2VbVk1EX01FTUJBUjJdLmNoaWxkKTsKIH0KIAog LyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3Byb2JlLmMgYi9kcml2ZXJzL3BjaS9wcm9iZS5j CmluZGV4IGFjODc2ZTMyZGU0Yi4uOTYyNGRkMWRmZDQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Bj aS9wcm9iZS5jCisrKyBiL2RyaXZlcnMvcGNpL3Byb2JlLmMKQEAgLTU5LDYgKzU5LDggQEAgc3Rh dGljIHN0cnVjdCByZXNvdXJjZSAqZ2V0X3BjaV9kb21haW5fYnVzbl9yZXMoaW50IGRvbWFpbl9u cikKIAlyLT5yZXMuc3RhcnQgPSAwOwogCXItPnJlcy5lbmQgPSAweGZmOwogCXItPnJlcy5mbGFn cyA9IElPUkVTT1VSQ0VfQlVTIHwgSU9SRVNPVVJDRV9QQ0lfRklYRUQ7CisJSU5JVF9MSVNUX0hF QUQoJnItPnJlcy5jaGlsZCk7CisJSU5JVF9MSVNUX0hFQUQoJnItPnJlcy5zaWJsaW5nKTsKIAog CWxpc3RfYWRkX3RhaWwoJnItPmxpc3QsICZwY2lfZG9tYWluX2J1c25fcmVzX2xpc3QpOwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9zZXR1cC1idXMuYyBiL2RyaXZlcnMvcGNpL3NldHVwLWJ1 cy5jCmluZGV4IDc5YjE4MjRlODNiNC4uOGU2ODVhZjg5MzhkIDEwMDY0NAotLS0gYS9kcml2ZXJz L3BjaS9zZXR1cC1idXMuYworKysgYi9kcml2ZXJzL3BjaS9zZXR1cC1idXMuYwpAQCAtMjEwNyw3 ICsyMTA3LDcgQEAgaW50IHBjaV9yZWFzc2lnbl9icmlkZ2VfcmVzb3VyY2VzKHN0cnVjdCBwY2lf ZGV2ICpicmlkZ2UsIHVuc2lnbmVkIGxvbmcgdHlwZSkKIAkJCQljb250aW51ZTsKIAogCQkJLyog SWdub3JlIEJBUnMgd2hpY2ggYXJlIHN0aWxsIGluIHVzZSAqLwotCQkJaWYgKHJlcy0+Y2hpbGQp CisJCQlpZiAoIWxpc3RfZW1wdHkoJnJlcy0+Y2hpbGQpKQogCQkJCWNvbnRpbnVlOwogCiAJCQly ZXQgPSBhZGRfdG9fbGlzdCgmc2F2ZWQsIGJyaWRnZSwgcmVzLCAwLCAwKTsKZGlmZiAtLWdpdCBh L2luY2x1ZGUvbGludXgvaW9wb3J0LmggYi9pbmNsdWRlL2xpbnV4L2lvcG9ydC5oCmluZGV4IGRm ZGNkMGJmZTU0ZS4uYjc0NTZhZTg4OWRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2lvcG9y dC5oCisrKyBiL2luY2x1ZGUvbGludXgvaW9wb3J0LmgKQEAgLTEyLDYgKzEyLDcgQEAKICNpZm5k ZWYgX19BU1NFTUJMWV9fCiAjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KICNpbmNsdWRlIDxs aW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KIC8qCiAgKiBSZXNvdXJjZXMg YXJlIHRyZWUtbGlrZSwgYWxsb3dpbmcKICAqIG5lc3RpbmcgZXRjLi4KQEAgLTIyLDcgKzIzLDgg QEAgc3RydWN0IHJlc291cmNlIHsKIAljb25zdCBjaGFyICpuYW1lOwogCXVuc2lnbmVkIGxvbmcg ZmxhZ3M7CiAJdW5zaWduZWQgbG9uZyBkZXNjOwotCXN0cnVjdCByZXNvdXJjZSAqcGFyZW50LCAq c2libGluZywgKmNoaWxkOworCXN0cnVjdCBsaXN0X2hlYWQgY2hpbGQsIHNpYmxpbmc7CisJc3Ry dWN0IHJlc291cmNlICpwYXJlbnQ7CiB9OwogCiAvKgpAQCAtMjE2LDcgKzIxOCw2IEBAIHN0YXRp YyBpbmxpbmUgYm9vbCByZXNvdXJjZV9jb250YWlucyhzdHJ1Y3QgcmVzb3VyY2UgKnIxLCBzdHJ1 Y3QgcmVzb3VyY2UgKnIyKQogCXJldHVybiByMS0+c3RhcnQgPD0gcjItPnN0YXJ0ICYmIHIxLT5l bmQgPj0gcjItPmVuZDsKIH0KIAotCiAvKiBDb252ZW5pZW5jZSBzaG9ydGhhbmQgd2l0aCBhbGxv Y2F0aW9uICovCiAjZGVmaW5lIHJlcXVlc3RfcmVnaW9uKHN0YXJ0LG4sbmFtZSkJCV9fcmVxdWVz dF9yZWdpb24oJmlvcG9ydF9yZXNvdXJjZSwgKHN0YXJ0KSwgKG4pLCAobmFtZSksIDApCiAjZGVm aW5lIHJlcXVlc3RfbXV4ZWRfcmVnaW9uKHN0YXJ0LG4sbmFtZSkJX19yZXF1ZXN0X3JlZ2lvbigm aW9wb3J0X3Jlc291cmNlLCAoc3RhcnQpLCAobiksIChuYW1lKSwgSU9SRVNPVVJDRV9NVVhFRCkK QEAgLTI4Nyw2ICsyODgsMTggQEAgc3RhdGljIGlubGluZSBib29sIHJlc291cmNlX292ZXJsYXBz KHN0cnVjdCByZXNvdXJjZSAqcjEsIHN0cnVjdCByZXNvdXJjZSAqcjIpCiAgICAgICAgcmV0dXJu IChyMS0+c3RhcnQgPD0gcjItPmVuZCAmJiByMS0+ZW5kID49IHIyLT5zdGFydCk7CiB9CiAKK3N0 YXRpYyBpbmxpbmUgc3RydWN0IHJlc291cmNlICpyZXNvdXJjZV9zaWJsaW5nKHN0cnVjdCByZXNv dXJjZSAqcmVzKQoreworCWlmIChyZXMtPnBhcmVudCAmJiAhbGlzdF9pc19sYXN0KCZyZXMtPnNp YmxpbmcsICZyZXMtPnBhcmVudC0+Y2hpbGQpKQorCQlyZXR1cm4gbGlzdF9uZXh0X2VudHJ5KHJl cywgc2libGluZyk7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IHJl c291cmNlICpyZXNvdXJjZV9maXJzdF9jaGlsZChzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQorewor CXJldHVybiBsaXN0X2ZpcnN0X2VudHJ5X29yX251bGwoaGVhZCwgc3RydWN0IHJlc291cmNlLCBz aWJsaW5nKTsKK30KKwogCiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCiAjZW5kaWYJLyogX0xJ TlVYX0lPUE9SVF9IICovCmRpZmYgLS1naXQgYS9rZXJuZWwvcmVzb3VyY2UuYyBiL2tlcm5lbC9y ZXNvdXJjZS5jCmluZGV4IDVlN2M1NmQ1ZDgzOC4uZWY5YTIwYjc1MjM0IDEwMDY0NAotLS0gYS9r ZXJuZWwvcmVzb3VyY2UuYworKysgYi9rZXJuZWwvcmVzb3VyY2UuYwpAQCAtMzEsNiArMzEsOCBA QCBzdHJ1Y3QgcmVzb3VyY2UgaW9wb3J0X3Jlc291cmNlID0gewogCS5zdGFydAk9IDAsCiAJLmVu ZAk9IElPX1NQQUNFX0xJTUlULAogCS5mbGFncwk9IElPUkVTT1VSQ0VfSU8sCisJLnNpYmxpbmcg PSBMSVNUX0hFQURfSU5JVChpb3BvcnRfcmVzb3VyY2Uuc2libGluZyksCisJLmNoaWxkICA9IExJ U1RfSEVBRF9JTklUKGlvcG9ydF9yZXNvdXJjZS5jaGlsZCksCiB9OwogRVhQT1JUX1NZTUJPTChp b3BvcnRfcmVzb3VyY2UpOwogCkBAIC0zOSw2ICs0MSw4IEBAIHN0cnVjdCByZXNvdXJjZSBpb21l bV9yZXNvdXJjZSA9IHsKIAkuc3RhcnQJPSAwLAogCS5lbmQJPSAtMSwKIAkuZmxhZ3MJPSBJT1JF U09VUkNFX01FTSwKKwkuc2libGluZyA9IExJU1RfSEVBRF9JTklUKGlvbWVtX3Jlc291cmNlLnNp YmxpbmcpLAorCS5jaGlsZCAgPSBMSVNUX0hFQURfSU5JVChpb21lbV9yZXNvdXJjZS5jaGlsZCks CiB9OwogRVhQT1JUX1NZTUJPTChpb21lbV9yZXNvdXJjZSk7CiAKQEAgLTU3LDIwICs2MSwyMCBA QCBzdGF0aWMgREVGSU5FX1JXTE9DSyhyZXNvdXJjZV9sb2NrKTsKICAqIGJ5IGJvb3QgbWVtIGFm dGVyIHRoZSBzeXN0ZW0gaXMgdXAuIFNvIGZvciByZXVzaW5nIHRoZSByZXNvdXJjZSBlbnRyeQog ICogd2UgbmVlZCB0byByZW1lbWJlciB0aGUgcmVzb3VyY2UuCiAgKi8KLXN0YXRpYyBzdHJ1Y3Qg cmVzb3VyY2UgKmJvb3RtZW1fcmVzb3VyY2VfZnJlZTsKK3N0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFk IGJvb3RtZW1fcmVzb3VyY2VfZnJlZSA9IExJU1RfSEVBRF9JTklUKGJvb3RtZW1fcmVzb3VyY2Vf ZnJlZSk7CiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGJvb3RtZW1fcmVzb3VyY2VfbG9jayk7CiAK IHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgKm5leHRfcmVzb3VyY2Uoc3RydWN0IHJlc291cmNlICpw LCBib29sIHNpYmxpbmdfb25seSkKIHsKIAkvKiBDYWxsZXIgd2FudHMgdG8gdHJhdmVyc2UgdGhy b3VnaCBzaWJsaW5ncyBvbmx5ICovCiAJaWYgKHNpYmxpbmdfb25seSkKLQkJcmV0dXJuIHAtPnNp Ymxpbmc7CisJCXJldHVybiByZXNvdXJjZV9zaWJsaW5nKHApOwogCi0JaWYgKHAtPmNoaWxkKQot CQlyZXR1cm4gcC0+Y2hpbGQ7Ci0Jd2hpbGUgKCFwLT5zaWJsaW5nICYmIHAtPnBhcmVudCkKKwlp ZiAoIWxpc3RfZW1wdHkoJnAtPmNoaWxkKSkKKwkJcmV0dXJuIHJlc291cmNlX2ZpcnN0X2NoaWxk KCZwLT5jaGlsZCk7CisJd2hpbGUgKCFyZXNvdXJjZV9zaWJsaW5nKHApICYmIHAtPnBhcmVudCkK IAkJcCA9IHAtPnBhcmVudDsKLQlyZXR1cm4gcC0+c2libGluZzsKKwlyZXR1cm4gcmVzb3VyY2Vf c2libGluZyhwKTsKIH0KIAogc3RhdGljIHZvaWQgKnJfbmV4dChzdHJ1Y3Qgc2VxX2ZpbGUgKm0s IHZvaWQgKnYsIGxvZmZfdCAqcG9zKQpAQCAtOTAsNyArOTQsNyBAQCBzdGF0aWMgdm9pZCAqcl9z dGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGxvZmZfdCAqcG9zKQogCXN0cnVjdCByZXNvdXJjZSAq cCA9IFBERV9EQVRBKGZpbGVfaW5vZGUobS0+ZmlsZSkpOwogCWxvZmZfdCBsID0gMDsKIAlyZWFk X2xvY2soJnJlc291cmNlX2xvY2spOwotCWZvciAocCA9IHAtPmNoaWxkOyBwICYmIGwgPCAqcG9z OyBwID0gcl9uZXh0KG0sIHAsICZsKSkKKwlmb3IgKHAgPSByZXNvdXJjZV9maXJzdF9jaGlsZCgm cC0+Y2hpbGQpOyBwICYmIGwgPCAqcG9zOyBwID0gcl9uZXh0KG0sIHAsICZsKSkKIAkJOwogCXJl dHVybiBwOwogfQpAQCAtMTUzLDggKzE1Nyw3IEBAIHN0YXRpYyB2b2lkIGZyZWVfcmVzb3VyY2Uo c3RydWN0IHJlc291cmNlICpyZXMpCiAKIAlpZiAoIVBhZ2VTbGFiKHZpcnRfdG9faGVhZF9wYWdl KHJlcykpKSB7CiAJCXNwaW5fbG9jaygmYm9vdG1lbV9yZXNvdXJjZV9sb2NrKTsKLQkJcmVzLT5z aWJsaW5nID0gYm9vdG1lbV9yZXNvdXJjZV9mcmVlOwotCQlib290bWVtX3Jlc291cmNlX2ZyZWUg PSByZXM7CisJCWxpc3RfYWRkKCZyZXMtPnNpYmxpbmcsICZib290bWVtX3Jlc291cmNlX2ZyZWUp OwogCQlzcGluX3VubG9jaygmYm9vdG1lbV9yZXNvdXJjZV9sb2NrKTsKIAl9IGVsc2UgewogCQlr ZnJlZShyZXMpOwpAQCAtMTY2LDEwICsxNjksOSBAQCBzdGF0aWMgc3RydWN0IHJlc291cmNlICph bGxvY19yZXNvdXJjZShnZnBfdCBmbGFncykKIAlzdHJ1Y3QgcmVzb3VyY2UgKnJlcyA9IE5VTEw7 CiAKIAlzcGluX2xvY2soJmJvb3RtZW1fcmVzb3VyY2VfbG9jayk7Ci0JaWYgKGJvb3RtZW1fcmVz b3VyY2VfZnJlZSkgewotCQlyZXMgPSBib290bWVtX3Jlc291cmNlX2ZyZWU7Ci0JCWJvb3RtZW1f cmVzb3VyY2VfZnJlZSA9IHJlcy0+c2libGluZzsKLQl9CisJcmVzID0gcmVzb3VyY2VfZmlyc3Rf Y2hpbGQoJmJvb3RtZW1fcmVzb3VyY2VfZnJlZSk7CisJaWYgKHJlcykKKwkJbGlzdF9kZWwoJnJl cy0+c2libGluZyk7CiAJc3Bpbl91bmxvY2soJmJvb3RtZW1fcmVzb3VyY2VfbG9jayk7CiAKIAlp ZiAocmVzKQpAQCAtMTc3LDYgKzE3OSw4IEBAIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgKmFsbG9j X3Jlc291cmNlKGdmcF90IGZsYWdzKQogCWVsc2UKIAkJcmVzID0ga3phbGxvYyhzaXplb2Yoc3Ry dWN0IHJlc291cmNlKSwgZmxhZ3MpOwogCisJSU5JVF9MSVNUX0hFQUQoJnJlcy0+Y2hpbGQpOwor CUlOSVRfTElTVF9IRUFEKCZyZXMtPnNpYmxpbmcpOwogCXJldHVybiByZXM7CiB9CiAKQEAgLTE4 NSw3ICsxODksNyBAQCBzdGF0aWMgc3RydWN0IHJlc291cmNlICogX19yZXF1ZXN0X3Jlc291cmNl KHN0cnVjdCByZXNvdXJjZSAqcm9vdCwgc3RydWN0IHJlc291cgogewogCXJlc291cmNlX3NpemVf dCBzdGFydCA9IG5ldy0+c3RhcnQ7CiAJcmVzb3VyY2Vfc2l6ZV90IGVuZCA9IG5ldy0+ZW5kOwot CXN0cnVjdCByZXNvdXJjZSAqdG1wLCAqKnA7CisJc3RydWN0IHJlc291cmNlICp0bXA7CiAKIAlp ZiAoZW5kIDwgc3RhcnQpCiAJCXJldHVybiByb290OwpAQCAtMTkzLDY0ICsxOTcsNjIgQEAgc3Rh dGljIHN0cnVjdCByZXNvdXJjZSAqIF9fcmVxdWVzdF9yZXNvdXJjZShzdHJ1Y3QgcmVzb3VyY2Ug KnJvb3QsIHN0cnVjdCByZXNvdXIKIAkJcmV0dXJuIHJvb3Q7CiAJaWYgKGVuZCA+IHJvb3QtPmVu ZCkKIAkJcmV0dXJuIHJvb3Q7Ci0JcCA9ICZyb290LT5jaGlsZDsKLQlmb3IgKDs7KSB7Ci0JCXRt cCA9ICpwOwotCQlpZiAoIXRtcCB8fCB0bXAtPnN0YXJ0ID4gZW5kKSB7Ci0JCQluZXctPnNpYmxp bmcgPSB0bXA7Ci0JCQkqcCA9IG5ldzsKKworCWlmIChsaXN0X2VtcHR5KCZyb290LT5jaGlsZCkp IHsKKwkJbGlzdF9hZGQoJm5ldy0+c2libGluZywgJnJvb3QtPmNoaWxkKTsKKwkJbmV3LT5wYXJl bnQgPSByb290OworCQlJTklUX0xJU1RfSEVBRCgmbmV3LT5jaGlsZCk7CisJCXJldHVybiBOVUxM OworCX0KKworCWxpc3RfZm9yX2VhY2hfZW50cnkodG1wLCAmcm9vdC0+Y2hpbGQsIHNpYmxpbmcp IHsKKwkJaWYgKHRtcC0+c3RhcnQgPiBlbmQpIHsKKwkJCWxpc3RfYWRkKCZuZXctPnNpYmxpbmcs IHRtcC0+c2libGluZy5wcmV2KTsKIAkJCW5ldy0+cGFyZW50ID0gcm9vdDsKKwkJCUlOSVRfTElT VF9IRUFEKCZuZXctPmNoaWxkKTsKIAkJCXJldHVybiBOVUxMOwogCQl9Ci0JCXAgPSAmdG1wLT5z aWJsaW5nOwogCQlpZiAodG1wLT5lbmQgPCBzdGFydCkKIAkJCWNvbnRpbnVlOwogCQlyZXR1cm4g dG1wOwogCX0KKworCWxpc3RfYWRkX3RhaWwoJm5ldy0+c2libGluZywgJnJvb3QtPmNoaWxkKTsK KwluZXctPnBhcmVudCA9IHJvb3Q7CisJSU5JVF9MSVNUX0hFQUQoJm5ldy0+Y2hpbGQpOworCXJl dHVybiBOVUxMOwogfQogCiBzdGF0aWMgaW50IF9fcmVsZWFzZV9yZXNvdXJjZShzdHJ1Y3QgcmVz b3VyY2UgKm9sZCwgYm9vbCByZWxlYXNlX2NoaWxkKQogewotCXN0cnVjdCByZXNvdXJjZSAqdG1w LCAqKnAsICpjaGQ7CisJc3RydWN0IHJlc291cmNlICp0bXAsICpuZXh0LCAqY2hkOwogCi0JcCA9 ICZvbGQtPnBhcmVudC0+Y2hpbGQ7Ci0JZm9yICg7OykgewotCQl0bXAgPSAqcDsKLQkJaWYgKCF0 bXApCi0JCQlicmVhazsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodG1wLCBuZXh0LCAmb2xk LT5wYXJlbnQtPmNoaWxkLCBzaWJsaW5nKSB7CiAJCWlmICh0bXAgPT0gb2xkKSB7Ci0JCQlpZiAo cmVsZWFzZV9jaGlsZCB8fCAhKHRtcC0+Y2hpbGQpKSB7Ci0JCQkJKnAgPSB0bXAtPnNpYmxpbmc7 CisJCQlpZiAocmVsZWFzZV9jaGlsZCB8fCBsaXN0X2VtcHR5KCZ0bXAtPmNoaWxkKSkgeworCQkJ CWxpc3RfZGVsKCZ0bXAtPnNpYmxpbmcpOwogCQkJfSBlbHNlIHsKLQkJCQlmb3IgKGNoZCA9IHRt cC0+Y2hpbGQ7OyBjaGQgPSBjaGQtPnNpYmxpbmcpIHsKKwkJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5 KGNoZCwgJnRtcC0+Y2hpbGQsIHNpYmxpbmcpCiAJCQkJCWNoZC0+cGFyZW50ID0gdG1wLT5wYXJl bnQ7Ci0JCQkJCWlmICghKGNoZC0+c2libGluZykpCi0JCQkJCQlicmVhazsKLQkJCQl9Ci0JCQkJ KnAgPSB0bXAtPmNoaWxkOwotCQkJCWNoZC0+c2libGluZyA9IHRtcC0+c2libGluZzsKKwkJCQls aXN0X3NwbGljZSgmdG1wLT5jaGlsZCwgdG1wLT5zaWJsaW5nLnByZXYpOworCQkJCWxpc3RfZGVs KCZ0bXAtPnNpYmxpbmcpOwogCQkJfQorCiAJCQlvbGQtPnBhcmVudCA9IE5VTEw7CiAJCQlyZXR1 cm4gMDsKIAkJfQotCQlwID0gJnRtcC0+c2libGluZzsKIAl9CiAJcmV0dXJuIC1FSU5WQUw7CiB9 CiAKIHN0YXRpYyB2b2lkIF9fcmVsZWFzZV9jaGlsZF9yZXNvdXJjZXMoc3RydWN0IHJlc291cmNl ICpyKQogewotCXN0cnVjdCByZXNvdXJjZSAqdG1wLCAqcDsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnRt cCwgKm5leHQ7CiAJcmVzb3VyY2Vfc2l6ZV90IHNpemU7CiAKLQlwID0gci0+Y2hpbGQ7Ci0Jci0+ Y2hpbGQgPSBOVUxMOwotCXdoaWxlIChwKSB7Ci0JCXRtcCA9IHA7Ci0JCXAgPSBwLT5zaWJsaW5n OwotCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHRtcCwgbmV4dCwgJnItPmNoaWxkLCBzaWJs aW5nKSB7CiAJCXRtcC0+cGFyZW50ID0gTlVMTDsKLQkJdG1wLT5zaWJsaW5nID0gTlVMTDsKKwkJ SU5JVF9MSVNUX0hFQUQoJnRtcC0+c2libGluZyk7CiAJCV9fcmVsZWFzZV9jaGlsZF9yZXNvdXJj ZXModG1wKTsKIAogCQlwcmludGsoS0VSTl9ERUJVRyAicmVsZWFzZSBjaGlsZCByZXNvdXJjZSAl cFJcbiIsIHRtcCk7CkBAIC0yNTksNiArMjYxLDggQEAgc3RhdGljIHZvaWQgX19yZWxlYXNlX2No aWxkX3Jlc291cmNlcyhzdHJ1Y3QgcmVzb3VyY2UgKnIpCiAJCXRtcC0+c3RhcnQgPSAwOwogCQl0 bXAtPmVuZCA9IHNpemUgLSAxOwogCX0KKworCUlOSVRfTElTVF9IRUFEKCZ0bXAtPmNoaWxkKTsK IH0KIAogdm9pZCByZWxlYXNlX2NoaWxkX3Jlc291cmNlcyhzdHJ1Y3QgcmVzb3VyY2UgKnIpCkBA IC0zNDMsNyArMzQ3LDggQEAgc3RhdGljIGludCBmaW5kX25leHRfaW9tZW1fcmVzKHN0cnVjdCBy ZXNvdXJjZSAqcmVzLCB1bnNpZ25lZCBsb25nIGRlc2MsCiAKIAlyZWFkX2xvY2soJnJlc291cmNl X2xvY2spOwogCi0JZm9yIChwID0gaW9tZW1fcmVzb3VyY2UuY2hpbGQ7IHA7IHAgPSBuZXh0X3Jl c291cmNlKHAsIHNpYmxpbmdfb25seSkpIHsKKwlmb3IgKHAgPSByZXNvdXJjZV9maXJzdF9jaGls ZCgmaW9tZW1fcmVzb3VyY2UuY2hpbGQpOyBwOworCQkJcCA9IG5leHRfcmVzb3VyY2UocCwgc2li bGluZ19vbmx5KSkgewogCQlpZiAoKHAtPmZsYWdzICYgcmVzLT5mbGFncykgIT0gcmVzLT5mbGFn cykKIAkJCWNvbnRpbnVlOwogCQlpZiAoKGRlc2MgIT0gSU9SRVNfREVTQ19OT05FKSAmJiAoZGVz YyAhPSBwLT5kZXNjKSkKQEAgLTUzMiw3ICs1MzcsNyBAQCBpbnQgcmVnaW9uX2ludGVyc2VjdHMo cmVzb3VyY2Vfc2l6ZV90IHN0YXJ0LCBzaXplX3Qgc2l6ZSwgdW5zaWduZWQgbG9uZyBmbGFncywK IAlzdHJ1Y3QgcmVzb3VyY2UgKnA7CiAKIAlyZWFkX2xvY2soJnJlc291cmNlX2xvY2spOwotCWZv ciAocCA9IGlvbWVtX3Jlc291cmNlLmNoaWxkOyBwIDsgcCA9IHAtPnNpYmxpbmcpIHsKKwlsaXN0 X2Zvcl9lYWNoX2VudHJ5KHAsICZpb21lbV9yZXNvdXJjZS5jaGlsZCwgc2libGluZykgewogCQli b29sIGlzX3R5cGUgPSAoKChwLT5mbGFncyAmIGZsYWdzKSA9PSBmbGFncykgJiYKIAkJCQkoKGRl c2MgPT0gSU9SRVNfREVTQ19OT05FKSB8fAogCQkJCSAoZGVzYyA9PSBwLT5kZXNjKSkpOwpAQCAt NTg2LDcgKzU5MSw3IEBAIHN0YXRpYyBpbnQgX19maW5kX3Jlc291cmNlKHN0cnVjdCByZXNvdXJj ZSAqcm9vdCwgc3RydWN0IHJlc291cmNlICpvbGQsCiAJCQkgcmVzb3VyY2Vfc2l6ZV90ICBzaXpl LAogCQkJIHN0cnVjdCByZXNvdXJjZV9jb25zdHJhaW50ICpjb25zdHJhaW50KQogewotCXN0cnVj dCByZXNvdXJjZSAqdGhpcyA9IHJvb3QtPmNoaWxkOworCXN0cnVjdCByZXNvdXJjZSAqdGhpcyA9 IHJlc291cmNlX2ZpcnN0X2NoaWxkKCZyb290LT5jaGlsZCk7CiAJc3RydWN0IHJlc291cmNlIHRt cCA9ICpuZXcsIGF2YWlsLCBhbGxvYzsKIAogCXRtcC5zdGFydCA9IHJvb3QtPnN0YXJ0OwpAQCAt NTk2LDcgKzYwMSw3IEBAIHN0YXRpYyBpbnQgX19maW5kX3Jlc291cmNlKHN0cnVjdCByZXNvdXJj ZSAqcm9vdCwgc3RydWN0IHJlc291cmNlICpvbGQsCiAJICovCiAJaWYgKHRoaXMgJiYgdGhpcy0+ c3RhcnQgPT0gcm9vdC0+c3RhcnQpIHsKIAkJdG1wLnN0YXJ0ID0gKHRoaXMgPT0gb2xkKSA/IG9s ZC0+c3RhcnQgOiB0aGlzLT5lbmQgKyAxOwotCQl0aGlzID0gdGhpcy0+c2libGluZzsKKwkJdGhp cyA9IHJlc291cmNlX3NpYmxpbmcodGhpcyk7CiAJfQogCWZvcig7OykgewogCQlpZiAodGhpcykK QEAgLTYzMiw3ICs2MzcsNyBAQCBuZXh0OgkJaWYgKCF0aGlzIHx8IHRoaXMtPmVuZCA9PSByb290 LT5lbmQpCiAKIAkJaWYgKHRoaXMgIT0gb2xkKQogCQkJdG1wLnN0YXJ0ID0gdGhpcy0+ZW5kICsg MTsKLQkJdGhpcyA9IHRoaXMtPnNpYmxpbmc7CisJCXRoaXMgPSByZXNvdXJjZV9zaWJsaW5nKHRo aXMpOwogCX0KIAlyZXR1cm4gLUVCVVNZOwogfQpAQCAtNjc2LDcgKzY4MSw3IEBAIHN0YXRpYyBp bnQgcmVhbGxvY2F0ZV9yZXNvdXJjZShzdHJ1Y3QgcmVzb3VyY2UgKnJvb3QsIHN0cnVjdCByZXNv dXJjZSAqb2xkLAogCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAob2xkLT5jaGlsZCkgeworCWlmICgh bGlzdF9lbXB0eSgmb2xkLT5jaGlsZCkpIHsKIAkJZXJyID0gLUVCVVNZOwogCQlnb3RvIG91dDsK IAl9CkBAIC03NTcsNyArNzYyLDcgQEAgc3RydWN0IHJlc291cmNlICpsb29rdXBfcmVzb3VyY2Uo c3RydWN0IHJlc291cmNlICpyb290LCByZXNvdXJjZV9zaXplX3Qgc3RhcnQpCiAJc3RydWN0IHJl c291cmNlICpyZXM7CiAKIAlyZWFkX2xvY2soJnJlc291cmNlX2xvY2spOwotCWZvciAocmVzID0g cm9vdC0+Y2hpbGQ7IHJlczsgcmVzID0gcmVzLT5zaWJsaW5nKSB7CisJbGlzdF9mb3JfZWFjaF9l bnRyeShyZXMsICZyb290LT5jaGlsZCwgc2libGluZykgewogCQlpZiAocmVzLT5zdGFydCA9PSBz dGFydCkKIAkJCWJyZWFrOwogCX0KQEAgLTc5MCwzMiArNzk1LDI3IEBAIHN0YXRpYyBzdHJ1Y3Qg cmVzb3VyY2UgKiBfX2luc2VydF9yZXNvdXJjZShzdHJ1Y3QgcmVzb3VyY2UgKnBhcmVudCwgc3Ry dWN0IHJlc291CiAJCQlicmVhazsKIAl9CiAKLQlmb3IgKG5leHQgPSBmaXJzdDsgOyBuZXh0ID0g bmV4dC0+c2libGluZykgeworCWZvciAobmV4dCA9IGZpcnN0OyA7IG5leHQgPSByZXNvdXJjZV9z aWJsaW5nKG5leHQpKSB7CiAJCS8qIFBhcnRpYWwgb3ZlcmxhcD8gQmFkLCBhbmQgdW5maXhhYmxl ICovCiAJCWlmIChuZXh0LT5zdGFydCA8IG5ldy0+c3RhcnQgfHwgbmV4dC0+ZW5kID4gbmV3LT5l bmQpCiAJCQlyZXR1cm4gbmV4dDsKLQkJaWYgKCFuZXh0LT5zaWJsaW5nKQorCQlpZiAoIXJlc291 cmNlX3NpYmxpbmcobmV4dCkpCiAJCQlicmVhazsKLQkJaWYgKG5leHQtPnNpYmxpbmctPnN0YXJ0 ID4gbmV3LT5lbmQpCisJCWlmIChyZXNvdXJjZV9zaWJsaW5nKG5leHQpLT5zdGFydCA+IG5ldy0+ ZW5kKQogCQkJYnJlYWs7CiAJfQotCiAJbmV3LT5wYXJlbnQgPSBwYXJlbnQ7Ci0JbmV3LT5zaWJs aW5nID0gbmV4dC0+c2libGluZzsKLQluZXctPmNoaWxkID0gZmlyc3Q7CisJbGlzdF9hZGQoJm5l dy0+c2libGluZywgJm5leHQtPnNpYmxpbmcpOworCUlOSVRfTElTVF9IRUFEKCZuZXctPmNoaWxk KTsKIAotCW5leHQtPnNpYmxpbmcgPSBOVUxMOwotCWZvciAobmV4dCA9IGZpcnN0OyBuZXh0OyBu ZXh0ID0gbmV4dC0+c2libGluZykKKwkvKgorCSAqIEZyb20gZmlyc3QgdG8gbmV4dCwgdGhleSBh bGwgZmFsbCBpbnRvIG5ldydzIHJlZ2lvbiwgc28gY2hhbmdlIHRoZW0KKwkgKiBhcyBuZXcncyBj aGlsZHJlbi4KKwkgKi8KKwlsaXN0X2N1dF9wb3NpdGlvbigmbmV3LT5jaGlsZCwgZmlyc3QtPnNp YmxpbmcucHJldiwgJm5leHQtPnNpYmxpbmcpOworCWxpc3RfZm9yX2VhY2hfZW50cnkobmV4dCwg Jm5ldy0+Y2hpbGQsIHNpYmxpbmcpCiAJCW5leHQtPnBhcmVudCA9IG5ldzsKIAotCWlmIChwYXJl bnQtPmNoaWxkID09IGZpcnN0KSB7Ci0JCXBhcmVudC0+Y2hpbGQgPSBuZXc7Ci0JfSBlbHNlIHsK LQkJbmV4dCA9IHBhcmVudC0+Y2hpbGQ7Ci0JCXdoaWxlIChuZXh0LT5zaWJsaW5nICE9IGZpcnN0 KQotCQkJbmV4dCA9IG5leHQtPnNpYmxpbmc7Ci0JCW5leHQtPnNpYmxpbmcgPSBuZXc7Ci0JfQog CXJldHVybiBOVUxMOwogfQogCkBAIC05MzcsMTkgKzkzNywxNyBAQCBzdGF0aWMgaW50IF9fYWRq dXN0X3Jlc291cmNlKHN0cnVjdCByZXNvdXJjZSAqcmVzLCByZXNvdXJjZV9zaXplX3Qgc3RhcnQs CiAJaWYgKChzdGFydCA8IHBhcmVudC0+c3RhcnQpIHx8IChlbmQgPiBwYXJlbnQtPmVuZCkpCiAJ CWdvdG8gb3V0OwogCi0JaWYgKHJlcy0+c2libGluZyAmJiAocmVzLT5zaWJsaW5nLT5zdGFydCA8 PSBlbmQpKQorCWlmIChyZXNvdXJjZV9zaWJsaW5nKHJlcykgJiYgKHJlc291cmNlX3NpYmxpbmco cmVzKS0+c3RhcnQgPD0gZW5kKSkKIAkJZ290byBvdXQ7CiAKLQl0bXAgPSBwYXJlbnQtPmNoaWxk OwotCWlmICh0bXAgIT0gcmVzKSB7Ci0JCXdoaWxlICh0bXAtPnNpYmxpbmcgIT0gcmVzKQotCQkJ dG1wID0gdG1wLT5zaWJsaW5nOworCWlmIChyZXMtPnNpYmxpbmcucHJldiAhPSAmcGFyZW50LT5j aGlsZCkgeworCQl0bXAgPSBsaXN0X3ByZXZfZW50cnkocmVzLCBzaWJsaW5nKTsKIAkJaWYgKHN0 YXJ0IDw9IHRtcC0+ZW5kKQogCQkJZ290byBvdXQ7CiAJfQogCiBza2lwOgotCWZvciAodG1wID0g cmVzLT5jaGlsZDsgdG1wOyB0bXAgPSB0bXAtPnNpYmxpbmcpCisJbGlzdF9mb3JfZWFjaF9lbnRy eSh0bXAsICZyZXMtPmNoaWxkLCBzaWJsaW5nKQogCQlpZiAoKHRtcC0+c3RhcnQgPCBzdGFydCkg fHwgKHRtcC0+ZW5kID4gZW5kKSkKIAkJCWdvdG8gb3V0OwogCkBAIC05ODcsMzEgKzk4NSwzMyBA QCBFWFBPUlRfU1lNQk9MKGFkanVzdF9yZXNvdXJjZSk7CiAgKiBSZXBhcmVudCByZXNvdXJjZSBj aGlsZHJlbiBvZiBwciB0aGF0IGNvbmZsaWN0IHdpdGggcmVzCiAgKiB1bmRlciByZXMsIGFuZCBt YWtlIHJlcyByZXBsYWNlIHRob3NlIGNoaWxkcmVuLgogICovCi1zdGF0aWMgaW50IHJlcGFyZW50 X3Jlc291cmNlcyhzdHJ1Y3QgcmVzb3VyY2UgKnBhcmVudCwKLQkJCQkgICAgIHN0cnVjdCByZXNv dXJjZSAqcmVzKQoraW50IHJlcGFyZW50X3Jlc291cmNlcyhzdHJ1Y3QgcmVzb3VyY2UgKnBhcmVu dCwgc3RydWN0IHJlc291cmNlICpyZXMpCiB7Ci0Jc3RydWN0IHJlc291cmNlICpwLCAqKnBwOwot CXN0cnVjdCByZXNvdXJjZSAqKmZpcnN0cHAgPSBOVUxMOworCXN0cnVjdCByZXNvdXJjZSAqcCwg KmZpcnN0ID0gTlVMTDsKIAotCWZvciAocHAgPSAmcGFyZW50LT5jaGlsZDsgKHAgPSAqcHApICE9 IE5VTEw7IHBwID0gJnAtPnNpYmxpbmcpIHsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHAsICZwYXJl bnQtPmNoaWxkLCBzaWJsaW5nKSB7CiAJCWlmIChwLT5lbmQgPCByZXMtPnN0YXJ0KQogCQkJY29u dGludWU7CiAJCWlmIChyZXMtPmVuZCA8IHAtPnN0YXJ0KQogCQkJYnJlYWs7CiAJCWlmIChwLT5z dGFydCA8IHJlcy0+c3RhcnQgfHwgcC0+ZW5kID4gcmVzLT5lbmQpCiAJCQlyZXR1cm4gLTE7CS8q IG5vdCBjb21wbGV0ZWx5IGNvbnRhaW5lZCAqLwotCQlpZiAoZmlyc3RwcCA9PSBOVUxMKQotCQkJ Zmlyc3RwcCA9IHBwOworCQlpZiAoZmlyc3QgPT0gTlVMTCkKKwkJCWZpcnN0ID0gcDsKIAl9Ci0J aWYgKGZpcnN0cHAgPT0gTlVMTCkKKwlpZiAoZmlyc3QgPT0gTlVMTCkKIAkJcmV0dXJuIC0xOwkv KiBkaWRuJ3QgZmluZCBhbnkgY29uZmxpY3RpbmcgZW50cmllcz8gKi8KIAlyZXMtPnBhcmVudCA9 IHBhcmVudDsKLQlyZXMtPmNoaWxkID0gKmZpcnN0cHA7Ci0JcmVzLT5zaWJsaW5nID0gKnBwOwot CSpmaXJzdHBwID0gcmVzOwotCSpwcCA9IE5VTEw7Ci0JZm9yIChwID0gcmVzLT5jaGlsZDsgcCAh PSBOVUxMOyBwID0gcC0+c2libGluZykgewotCQlwLT5wYXJlbnQgPSByZXM7CisJbGlzdF9hZGQo JnJlcy0+c2libGluZywgJnAtPnNpYmxpbmcucHJldik7CisJSU5JVF9MSVNUX0hFQUQoJnJlcy0+ Y2hpbGQpOworCisJLyoKKwkgKiBGcm9tIGZpcnN0IHRvIHAncyBwcmV2aW91cyBzaWJsaW5nLCB0 aGV5IGFsbCBmYWxsIGludG8KKwkgKiByZXMncyByZWdpb24sIGNoYW5nZSB0aGVtIGFzIHJlcydz IGNoaWxkcmVuLgorCSAqLworCWxpc3RfY3V0X3Bvc2l0aW9uKCZyZXMtPmNoaWxkLCBmaXJzdC0+ c2libGluZy5wcmV2LCByZXMtPnNpYmxpbmcucHJldik7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShw LCAmbmV3LT5jaGlsZCwgc2libGluZykgeworICAgICAgICAgICAgICAgIHAtPnBhcmVudCA9IG5l dzsKIAkJcHJfZGVidWcoIlBDSTogUmVwYXJlbnRlZCAlcyAlcFIgdW5kZXIgJXNcbiIsCiAJCQkg cC0+bmFtZSwgcCwgcmVzLT5uYW1lKTsKIAl9CkBAIC0xMjEwLDM0ICsxMjEwLDMyIEBAIEVYUE9S VF9TWU1CT0woX19yZXF1ZXN0X3JlZ2lvbik7CiB2b2lkIF9fcmVsZWFzZV9yZWdpb24oc3RydWN0 IHJlc291cmNlICpwYXJlbnQsIHJlc291cmNlX3NpemVfdCBzdGFydCwKIAkJCXJlc291cmNlX3Np emVfdCBuKQogewotCXN0cnVjdCByZXNvdXJjZSAqKnA7CisJc3RydWN0IHJlc291cmNlICpyZXM7 CiAJcmVzb3VyY2Vfc2l6ZV90IGVuZDsKIAotCXAgPSAmcGFyZW50LT5jaGlsZDsKKwlyZXMgPSBy ZXNvdXJjZV9maXJzdF9jaGlsZCgmcGFyZW50LT5jaGlsZCk7CiAJZW5kID0gc3RhcnQgKyBuIC0g MTsKIAogCXdyaXRlX2xvY2soJnJlc291cmNlX2xvY2spOwogCiAJZm9yICg7OykgewotCQlzdHJ1 Y3QgcmVzb3VyY2UgKnJlcyA9ICpwOwotCiAJCWlmICghcmVzKQogCQkJYnJlYWs7CiAJCWlmIChy ZXMtPnN0YXJ0IDw9IHN0YXJ0ICYmIHJlcy0+ZW5kID49IGVuZCkgewogCQkJaWYgKCEocmVzLT5m bGFncyAmIElPUkVTT1VSQ0VfQlVTWSkpIHsKLQkJCQlwID0gJnJlcy0+Y2hpbGQ7CisJCQkJcmVz ID0gcmVzb3VyY2VfZmlyc3RfY2hpbGQoJnJlcy0+Y2hpbGQpOwogCQkJCWNvbnRpbnVlOwogCQkJ fQogCQkJaWYgKHJlcy0+c3RhcnQgIT0gc3RhcnQgfHwgcmVzLT5lbmQgIT0gZW5kKQogCQkJCWJy ZWFrOwotCQkJKnAgPSByZXMtPnNpYmxpbmc7CisJCQlsaXN0X2RlbCgmcmVzLT5zaWJsaW5nKTsK IAkJCXdyaXRlX3VubG9jaygmcmVzb3VyY2VfbG9jayk7CiAJCQlpZiAocmVzLT5mbGFncyAmIElP UkVTT1VSQ0VfTVVYRUQpCiAJCQkJd2FrZV91cCgmbXV4ZWRfcmVzb3VyY2Vfd2FpdCk7CiAJCQlm cmVlX3Jlc291cmNlKHJlcyk7CiAJCQlyZXR1cm47CiAJCX0KLQkJcCA9ICZyZXMtPnNpYmxpbmc7 CisJCXJlcyA9IHJlc291cmNlX3NpYmxpbmcocmVzKTsKIAl9CiAKIAl3cml0ZV91bmxvY2soJnJl c291cmNlX2xvY2spOwpAQCAtMTI3Miw5ICsxMjcwLDcgQEAgRVhQT1JUX1NZTUJPTChfX3JlbGVh c2VfcmVnaW9uKTsKIGludCByZWxlYXNlX21lbV9yZWdpb25fYWRqdXN0YWJsZShzdHJ1Y3QgcmVz b3VyY2UgKnBhcmVudCwKIAkJCXJlc291cmNlX3NpemVfdCBzdGFydCwgcmVzb3VyY2Vfc2l6ZV90 IHNpemUpCiB7Ci0Jc3RydWN0IHJlc291cmNlICoqcDsKLQlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsK LQlzdHJ1Y3QgcmVzb3VyY2UgKm5ld19yZXM7CisJc3RydWN0IHJlc291cmNlICpyZXMsICpuZXdf cmVzOwogCXJlc291cmNlX3NpemVfdCBlbmQ7CiAJaW50IHJldCA9IC1FSU5WQUw7CiAKQEAgLTEy ODUsMTYgKzEyODEsMTYgQEAgaW50IHJlbGVhc2VfbWVtX3JlZ2lvbl9hZGp1c3RhYmxlKHN0cnVj dCByZXNvdXJjZSAqcGFyZW50LAogCS8qIFRoZSBhbGxvY19yZXNvdXJjZSgpIHJlc3VsdCBnZXRz IGNoZWNrZWQgbGF0ZXIgKi8KIAluZXdfcmVzID0gYWxsb2NfcmVzb3VyY2UoR0ZQX0tFUk5FTCk7 CiAKLQlwID0gJnBhcmVudC0+Y2hpbGQ7CisJcmVzID0gcmVzb3VyY2VfZmlyc3RfY2hpbGQoJnBh cmVudC0+Y2hpbGQpOwogCXdyaXRlX2xvY2soJnJlc291cmNlX2xvY2spOwogCi0Jd2hpbGUgKChy ZXMgPSAqcCkpIHsKKwl3aGlsZSAoKHJlcykpIHsKIAkJaWYgKHJlcy0+c3RhcnQgPj0gZW5kKQog CQkJYnJlYWs7CiAKIAkJLyogbG9vayBmb3IgdGhlIG5leHQgcmVzb3VyY2UgaWYgaXQgZG9lcyBu b3QgZml0IGludG8gKi8KIAkJaWYgKHJlcy0+c3RhcnQgPiBzdGFydCB8fCByZXMtPmVuZCA8IGVu ZCkgewotCQkJcCA9ICZyZXMtPnNpYmxpbmc7CisJCQlyZXMgPSByZXNvdXJjZV9zaWJsaW5nKHJl cyk7CiAJCQljb250aW51ZTsKIAkJfQogCkBAIC0xMzAyLDE0ICsxMjk4LDE0IEBAIGludCByZWxl YXNlX21lbV9yZWdpb25fYWRqdXN0YWJsZShzdHJ1Y3QgcmVzb3VyY2UgKnBhcmVudCwKIAkJCWJy ZWFrOwogCiAJCWlmICghKHJlcy0+ZmxhZ3MgJiBJT1JFU09VUkNFX0JVU1kpKSB7Ci0JCQlwID0g JnJlcy0+Y2hpbGQ7CisJCQlyZXMgPSByZXNvdXJjZV9maXJzdF9jaGlsZCgmcmVzLT5jaGlsZCk7 CiAJCQljb250aW51ZTsKIAkJfQogCiAJCS8qIGZvdW5kIHRoZSB0YXJnZXQgcmVzb3VyY2U7IGxl dCdzIGFkanVzdCBhY2NvcmRpbmdseSAqLwogCQlpZiAocmVzLT5zdGFydCA9PSBzdGFydCAmJiBy ZXMtPmVuZCA9PSBlbmQpIHsKIAkJCS8qIGZyZWUgdGhlIHdob2xlIGVudHJ5ICovCi0JCQkqcCA9 IHJlcy0+c2libGluZzsKKwkJCWxpc3RfZGVsKCZyZXMtPnNpYmxpbmcpOwogCQkJZnJlZV9yZXNv dXJjZShyZXMpOwogCQkJcmV0ID0gMDsKIAkJfSBlbHNlIGlmIChyZXMtPnN0YXJ0ID09IHN0YXJ0 ICYmIHJlcy0+ZW5kICE9IGVuZCkgewpAQCAtMTMzMiwxNCArMTMyOCwxMyBAQCBpbnQgcmVsZWFz ZV9tZW1fcmVnaW9uX2FkanVzdGFibGUoc3RydWN0IHJlc291cmNlICpwYXJlbnQsCiAJCQluZXdf cmVzLT5mbGFncyA9IHJlcy0+ZmxhZ3M7CiAJCQluZXdfcmVzLT5kZXNjID0gcmVzLT5kZXNjOwog CQkJbmV3X3Jlcy0+cGFyZW50ID0gcmVzLT5wYXJlbnQ7Ci0JCQluZXdfcmVzLT5zaWJsaW5nID0g cmVzLT5zaWJsaW5nOwotCQkJbmV3X3Jlcy0+Y2hpbGQgPSBOVUxMOworCQkJSU5JVF9MSVNUX0hF QUQoJm5ld19yZXMtPmNoaWxkKTsKIAogCQkJcmV0ID0gX19hZGp1c3RfcmVzb3VyY2UocmVzLCBy ZXMtPnN0YXJ0LAogCQkJCQkJc3RhcnQgLSByZXMtPnN0YXJ0KTsKIAkJCWlmIChyZXQpCiAJCQkJ YnJlYWs7Ci0JCQlyZXMtPnNpYmxpbmcgPSBuZXdfcmVzOworCQkJbGlzdF9hZGQoJm5ld19yZXMt PnNpYmxpbmcsICZyZXMtPnNpYmxpbmcpOwogCQkJbmV3X3JlcyA9IE5VTEw7CiAJCX0KIApAQCAt MTUyMCw3ICsxNTE1LDcgQEAgc3RhdGljIGludCBfX2luaXQgcmVzZXJ2ZV9zZXR1cChjaGFyICpz dHIpCiAJCQlyZXMtPmVuZCA9IGlvX3N0YXJ0ICsgaW9fbnVtIC0gMTsKIAkJCXJlcy0+ZmxhZ3Mg fD0gSU9SRVNPVVJDRV9CVVNZOwogCQkJcmVzLT5kZXNjID0gSU9SRVNfREVTQ19OT05FOwotCQkJ cmVzLT5jaGlsZCA9IE5VTEw7CisJCQlJTklUX0xJU1RfSEVBRCgmcmVzLT5jaGlsZCk7CiAJCQlp ZiAocmVxdWVzdF9yZXNvdXJjZShwYXJlbnQsIHJlcykgPT0gMCkKIAkJCQlyZXNlcnZlZCA9IHgr MTsKIAkJfQpAQCAtMTU0MCw3ICsxNTM1LDcgQEAgaW50IGlvbWVtX21hcF9zYW5pdHlfY2hlY2so cmVzb3VyY2Vfc2l6ZV90IGFkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKIAlsb2ZmX3QgbDsKIAog CXJlYWRfbG9jaygmcmVzb3VyY2VfbG9jayk7Ci0JZm9yIChwID0gcC0+Y2hpbGQ7IHAgOyBwID0g cl9uZXh0KE5VTEwsIHAsICZsKSkgeworCWZvciAocCA9IHJlc291cmNlX2ZpcnN0X2NoaWxkKCZw LT5jaGlsZCk7IHA7IHAgPSByX25leHQoTlVMTCwgcCwgJmwpKSB7CiAJCS8qCiAJCSAqIFdlIGNh biBwcm9iYWJseSBza2lwIHRoZSByZXNvdXJjZXMgd2l0aG91dAogCQkgKiBJT1JFU09VUkNFX0lP IGF0dHJpYnV0ZT8KQEAgLTE1OTYsNyArMTU5MSw3IEBAIGJvb2wgaW9tZW1faXNfZXhjbHVzaXZl KHU2NCBhZGRyKQogCWFkZHIgPSBhZGRyICYgUEFHRV9NQVNLOwogCiAJcmVhZF9sb2NrKCZyZXNv dXJjZV9sb2NrKTsKLQlmb3IgKHAgPSBwLT5jaGlsZDsgcCA7IHAgPSByX25leHQoTlVMTCwgcCwg JmwpKSB7CisJZm9yIChwID0gcmVzb3VyY2VfZmlyc3RfY2hpbGQoJnAtPmNoaWxkKTsgcDsgcCA9 IHJfbmV4dChOVUxMLCBwLCAmbCkpIHsKIAkJLyoKIAkJICogV2UgY2FuIHByb2JhYmx5IHNraXAg dGhlIHJlc291cmNlcyB3aXRob3V0CiAJCSAqIElPUkVTT1VSQ0VfSU8gYXR0cmlidXRlPwotLSAK Mi4xMy42CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpM aW51eC1udmRpbW0gbWFpbGluZyBsaXN0CkxpbnV4LW52ZGltbUBsaXN0cy4wMS5vcmcKaHR0cHM6 Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1udmRpbW0K ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <20180612032831.29747-3-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH v5 2/4] resource: Use list_head to link sibling resource [not found] ` <20180612032831.29747-3-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> @ 2018-06-12 4:37 ` kbuild test robot 2018-06-12 4:49 ` kbuild test robot 1 sibling, 0 replies; 5+ messages in thread From: kbuild test robot @ 2018-06-12 4:37 UTC (permalink / raw) To: Baoquan He Cc: nicolas.pitre-QSEj5FYQhm4dnm+yROfE0A, brijesh.singh-5C7GfCeVMHo, thomas.lendacky-5C7GfCeVMHo, airlied-cv59FeDIM0c, linux-pci-u79uwXL29TY76Z2rM5mHXA, richard.weiyang-Re5JQEeQqe8AvxtiuMwx3w, keith.busch-ral2JQCrhuEAvxtiuMwx3w, jcmvbkbc-Re5JQEeQqe8AvxtiuMwx3w, baiyaowei-0p4V/sDNsUmm0O/7XYngnFaTQe2KTcn/, frowand.list-Re5JQEeQqe8AvxtiuMwx3w, tglx-hfZtesqFncYOwBW4kG4KsQ, lorenzo.pieralisi-5wv7dgnIgG8, sthemmin-0li6OtcxBFHby3iVrkZq2A, Baoquan He, linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw, patrik.r.jakobsson-Re5JQEeQqe8AvxtiuMwx3w, linux-input-u79uwXL29TY76Z2rM5mHXA, gustavo-THi1TnShQwVAfugRpC6u6w, bp-l3A5Bk7waGM, dyoung-H+wXaHxf7aLQT0dZR+AlfA, ebiederm-aS9lmoZGLiVWk0Htik3J/w, devicetree-u79uwXL29TY76Z2rM5mHXA, haiyangz-0li6OtcxBFHby3iVrkZq2A, maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA, josh-iaAMLnmF4UmaiuxdJuQwMA, jglisse-H+wXaHxf7aLQT0dZR+AlfA, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, seanpaul-F7+t8E8rja9g9hUCZPvPmw, bhelgaas-hpIqsD4AKlfQT0dZR+AlfA, yinghai-DgEjT+Ai2ygdnm+yROfE0A, jonathan.derrick-ral2JQCrhuEAvxtiuMwx3w, chris-YvXeqwSYzG2sTnJN9+BGXg, monstr-pSz03upnqPeHXe+LvDLADg, linux-parisc-u79uwXL29TY76Z2rM5mHXA, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w, kexec-IAPFreCvJWMP3drIcvDWNA Hi Baoquan, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.17 next-20180608] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180612-113600 config: i386-tinyconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): kernel/resource.c: In function 'reparent_resources': >> kernel/resource.c:1005:26: error: passing argument 2 of 'list_add' from incompatible pointer type [-Werror=incompatible-pointer-types] list_add(&res->sibling, &p->sibling.prev); ^ In file included from include/linux/ioport.h:15:0, from kernel/resource.c:14: include/linux/list.h:77:20: note: expected 'struct list_head *' but argument is of type 'struct list_head **' static inline void list_add(struct list_head *new, struct list_head *head) ^~~~~~~~ In file included from include/linux/list.h:9:0, from include/linux/ioport.h:15, from kernel/resource.c:14: >> kernel/resource.c:1013:26: error: 'new' undeclared (first use in this function); did you mean 'net'? list_for_each_entry(p, &new->child, sibling) { ^ include/linux/kernel.h:963:26: note: in definition of macro 'container_of' void *__mptr = (void *)(ptr); \ ^~~ include/linux/list.h:377:2: note: in expansion of macro 'list_entry' list_entry((ptr)->next, type, member) ^~~~~~~~~~ include/linux/list.h:464:13: note: in expansion of macro 'list_first_entry' for (pos = list_first_entry(head, typeof(*pos), member); \ ^~~~~~~~~~~~~~~~ kernel/resource.c:1013:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(p, &new->child, sibling) { ^~~~~~~~~~~~~~~~~~~ kernel/resource.c:1013:26: note: each undeclared identifier is reported only once for each function it appears in list_for_each_entry(p, &new->child, sibling) { ^ include/linux/kernel.h:963:26: note: in definition of macro 'container_of' void *__mptr = (void *)(ptr); \ ^~~ include/linux/list.h:377:2: note: in expansion of macro 'list_entry' list_entry((ptr)->next, type, member) ^~~~~~~~~~ include/linux/list.h:464:13: note: in expansion of macro 'list_first_entry' for (pos = list_first_entry(head, typeof(*pos), member); \ ^~~~~~~~~~~~~~~~ kernel/resource.c:1013:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(p, &new->child, sibling) { ^~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/list_add +1005 kernel/resource.c 983 984 /* 985 * Reparent resource children of pr that conflict with res 986 * under res, and make res replace those children. 987 */ 988 int reparent_resources(struct resource *parent, struct resource *res) 989 { 990 struct resource *p, *first = NULL; 991 992 list_for_each_entry(p, &parent->child, sibling) { 993 if (p->end < res->start) 994 continue; 995 if (res->end < p->start) 996 break; 997 if (p->start < res->start || p->end > res->end) 998 return -1; /* not completely contained */ 999 if (first == NULL) 1000 first = p; 1001 } 1002 if (first == NULL) 1003 return -1; /* didn't find any conflicting entries? */ 1004 res->parent = parent; > 1005 list_add(&res->sibling, &p->sibling.prev); 1006 INIT_LIST_HEAD(&res->child); 1007 1008 /* 1009 * From first to p's previous sibling, they all fall into 1010 * res's region, change them as res's children. 1011 */ 1012 list_cut_position(&res->child, first->sibling.prev, res->sibling.prev); > 1013 list_for_each_entry(p, &new->child, sibling) { 1014 p->parent = new; 1015 pr_debug("PCI: Reparented %s %pR under %s\n", 1016 p->name, p, res->name); 1017 } 1018 return 0; 1019 } 1020 EXPORT_SYMBOL(reparent_resources); 1021 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v5 2/4] resource: Use list_head to link sibling resource [not found] ` <20180612032831.29747-3-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2018-06-12 4:37 ` kbuild test robot @ 2018-06-12 4:49 ` kbuild test robot 1 sibling, 0 replies; 5+ messages in thread From: kbuild test robot @ 2018-06-12 4:49 UTC (permalink / raw) To: Baoquan He Cc: nicolas.pitre-QSEj5FYQhm4dnm+yROfE0A, brijesh.singh-5C7GfCeVMHo, thomas.lendacky-5C7GfCeVMHo, airlied-cv59FeDIM0c, linux-pci-u79uwXL29TY76Z2rM5mHXA, richard.weiyang-Re5JQEeQqe8AvxtiuMwx3w, keith.busch-ral2JQCrhuEAvxtiuMwx3w, jcmvbkbc-Re5JQEeQqe8AvxtiuMwx3w, baiyaowei-0p4V/sDNsUmm0O/7XYngnFaTQe2KTcn/, frowand.list-Re5JQEeQqe8AvxtiuMwx3w, tglx-hfZtesqFncYOwBW4kG4KsQ, lorenzo.pieralisi-5wv7dgnIgG8, sthemmin-0li6OtcxBFHby3iVrkZq2A, Baoquan He, linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw, patrik.r.jakobsson-Re5JQEeQqe8AvxtiuMwx3w, linux-input-u79uwXL29TY76Z2rM5mHXA, gustavo-THi1TnShQwVAfugRpC6u6w, bp-l3A5Bk7waGM, dyoung-H+wXaHxf7aLQT0dZR+AlfA, ebiederm-aS9lmoZGLiVWk0Htik3J/w, devicetree-u79uwXL29TY76Z2rM5mHXA, haiyangz-0li6OtcxBFHby3iVrkZq2A, maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA, josh-iaAMLnmF4UmaiuxdJuQwMA, jglisse-H+wXaHxf7aLQT0dZR+AlfA, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, seanpaul-F7+t8E8rja9g9hUCZPvPmw, bhelgaas-hpIqsD4AKlfQT0dZR+AlfA, yinghai-DgEjT+Ai2ygdnm+yROfE0A, jonathan.derrick-ral2JQCrhuEAvxtiuMwx3w, chris-YvXeqwSYzG2sTnJN9+BGXg, monstr-pSz03upnqPeHXe+LvDLADg, linux-parisc-u79uwXL29TY76Z2rM5mHXA, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w, kexec-IAPFreCvJWMP3drIcvDWNA Hi Baoquan, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.17 next-20180608] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180612-113600 config: x86_64-randconfig-x011-201823 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): kernel/resource.c: In function 'reparent_resources': kernel/resource.c:1005:26: error: passing argument 2 of 'list_add' from incompatible pointer type [-Werror=incompatible-pointer-types] list_add(&res->sibling, &p->sibling.prev); ^ In file included from include/linux/ioport.h:15:0, from kernel/resource.c:14: include/linux/list.h:77:20: note: expected 'struct list_head *' but argument is of type 'struct list_head **' static inline void list_add(struct list_head *new, struct list_head *head) ^~~~~~~~ In file included from include/linux/list.h:9:0, from include/linux/ioport.h:15, from kernel/resource.c:14: kernel/resource.c:1013:26: error: 'new' undeclared (first use in this function); did you mean 'net'? list_for_each_entry(p, &new->child, sibling) { ^ include/linux/kernel.h:963:26: note: in definition of macro 'container_of' void *__mptr = (void *)(ptr); \ ^~~ include/linux/list.h:377:2: note: in expansion of macro 'list_entry' list_entry((ptr)->next, type, member) ^~~~~~~~~~ include/linux/list.h:464:13: note: in expansion of macro 'list_first_entry' for (pos = list_first_entry(head, typeof(*pos), member); \ ^~~~~~~~~~~~~~~~ >> kernel/resource.c:1013:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(p, &new->child, sibling) { ^~~~~~~~~~~~~~~~~~~ kernel/resource.c:1013:26: note: each undeclared identifier is reported only once for each function it appears in list_for_each_entry(p, &new->child, sibling) { ^ include/linux/kernel.h:963:26: note: in definition of macro 'container_of' void *__mptr = (void *)(ptr); \ ^~~ include/linux/list.h:377:2: note: in expansion of macro 'list_entry' list_entry((ptr)->next, type, member) ^~~~~~~~~~ include/linux/list.h:464:13: note: in expansion of macro 'list_first_entry' for (pos = list_first_entry(head, typeof(*pos), member); \ ^~~~~~~~~~~~~~~~ >> kernel/resource.c:1013:2: note: in expansion of macro 'list_for_each_entry' list_for_each_entry(p, &new->child, sibling) { ^~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/list_for_each_entry +1013 kernel/resource.c 983 984 /* 985 * Reparent resource children of pr that conflict with res 986 * under res, and make res replace those children. 987 */ 988 int reparent_resources(struct resource *parent, struct resource *res) 989 { 990 struct resource *p, *first = NULL; 991 992 list_for_each_entry(p, &parent->child, sibling) { 993 if (p->end < res->start) 994 continue; 995 if (res->end < p->start) 996 break; 997 if (p->start < res->start || p->end > res->end) 998 return -1; /* not completely contained */ 999 if (first == NULL) 1000 first = p; 1001 } 1002 if (first == NULL) 1003 return -1; /* didn't find any conflicting entries? */ 1004 res->parent = parent; 1005 list_add(&res->sibling, &p->sibling.prev); 1006 INIT_LIST_HEAD(&res->child); 1007 1008 /* 1009 * From first to p's previous sibling, they all fall into 1010 * res's region, change them as res's children. 1011 */ 1012 list_cut_position(&res->child, first->sibling.prev, res->sibling.prev); > 1013 list_for_each_entry(p, &new->child, sibling) { 1014 p->parent = new; 1015 pr_debug("PCI: Reparented %s %pR under %s\n", 1016 p->name, p, res->name); 1017 } 1018 return 0; 1019 } 1020 EXPORT_SYMBOL(reparent_resources); 1021 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-06-13 6:55 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-12 15:10 [PATCH v5 2/4] resource: Use list_head to link sibling resource Julia Lawall
2018-06-13 6:55 ` Baoquan He
-- strict thread matches above, loose matches on Subject: below --
2018-06-12 3:28 [PATCH v5 0/4] " Baoquan He
[not found] ` <20180612032831.29747-1-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-06-12 3:28 ` [PATCH v5 2/4] " Baoquan He
[not found] ` <20180612032831.29747-3-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-06-12 4:37 ` kbuild test robot
2018-06-12 4:49 ` kbuild test robot
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox