From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Date: Fri, 29 Nov 2019 10:29:40 +0000 Subject: [PATCH v2 10/14] video: constify fb ops across all drivers Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org Cc: jani.nikula@intel.com, Daniel Vetter , intel-gfx@lists.freedesktop.org Now that the fbops member of struct fb_info is const, we can start making the ops const as well. This does not cover all drivers; some actually modify the fbops struct, for example to adjust for different configurations, and others do more involved things that I'd rather not touch in practically obsolete drivers. Mostly this is the low hanging fruit where we can add "const" and be done with it. v2: - fix typo (Christophe de Dinechin) - use "static const" instead of "const static" in mx3fb.c - also constify smscufx.c Cc: linux-fbdev@vger.kernel.org Reviewed-by: Daniel Vetter Signed-off-by: Jani Nikula fixup to video drivers --- drivers/video/fbdev/68328fb.c | 2 +- drivers/video/fbdev/acornfb.c | 2 +- drivers/video/fbdev/amba-clcd.c | 2 +- drivers/video/fbdev/amifb.c | 2 +- drivers/video/fbdev/arcfb.c | 2 +- drivers/video/fbdev/arkfb.c | 2 +- drivers/video/fbdev/asiliantfb.c | 2 +- drivers/video/fbdev/atmel_lcdfb.c | 2 +- drivers/video/fbdev/aty/aty128fb.c | 2 +- drivers/video/fbdev/aty/atyfb_base.c | 2 +- drivers/video/fbdev/aty/radeon_base.c | 2 +- drivers/video/fbdev/au1100fb.c | 2 +- drivers/video/fbdev/au1200fb.c | 2 +- drivers/video/fbdev/broadsheetfb.c | 2 +- drivers/video/fbdev/bw2.c | 2 +- drivers/video/fbdev/carminefb.c | 2 +- drivers/video/fbdev/cg14.c | 2 +- drivers/video/fbdev/cg3.c | 2 +- drivers/video/fbdev/cg6.c | 2 +- drivers/video/fbdev/chipsfb.c | 2 +- drivers/video/fbdev/cirrusfb.c | 2 +- drivers/video/fbdev/clps711x-fb.c | 2 +- drivers/video/fbdev/cobalt_lcdfb.c | 2 +- drivers/video/fbdev/controlfb.c | 2 +- drivers/video/fbdev/cyber2000fb.c | 2 +- drivers/video/fbdev/da8xx-fb.c | 2 +- drivers/video/fbdev/dnfb.c | 2 +- drivers/video/fbdev/efifb.c | 2 +- drivers/video/fbdev/ep93xx-fb.c | 2 +- drivers/video/fbdev/fb-puv3.c | 2 +- drivers/video/fbdev/ffb.c | 2 +- drivers/video/fbdev/fm2fb.c | 2 +- drivers/video/fbdev/fsl-diu-fb.c | 2 +- drivers/video/fbdev/g364fb.c | 2 +- drivers/video/fbdev/gbefb.c | 2 +- drivers/video/fbdev/geode/gx1fb_core.c | 2 +- drivers/video/fbdev/geode/gxfb_core.c | 2 +- drivers/video/fbdev/geode/lxfb_core.c | 2 +- drivers/video/fbdev/goldfishfb.c | 2 +- drivers/video/fbdev/grvga.c | 2 +- drivers/video/fbdev/gxt4500.c | 2 +- drivers/video/fbdev/hecubafb.c | 2 +- drivers/video/fbdev/hgafb.c | 2 +- drivers/video/fbdev/hitfb.c | 2 +- drivers/video/fbdev/hpfb.c | 2 +- drivers/video/fbdev/hyperv_fb.c | 2 +- drivers/video/fbdev/i740fb.c | 2 +- drivers/video/fbdev/imsttfb.c | 2 +- drivers/video/fbdev/imxfb.c | 2 +- drivers/video/fbdev/intelfb/intelfbdrv.c | 2 +- drivers/video/fbdev/kyro/fbdev.c | 2 +- drivers/video/fbdev/leo.c | 2 +- drivers/video/fbdev/macfb.c | 2 +- drivers/video/fbdev/matrox/matroxfb_crtc2.c | 2 +- drivers/video/fbdev/maxinefb.c | 2 +- drivers/video/fbdev/mb862xx/mb862xxfbdrv.c | 2 +- drivers/video/fbdev/mbx/mbxfb.c | 2 +- drivers/video/fbdev/metronomefb.c | 2 +- drivers/video/fbdev/mmp/fb/mmpfb.c | 2 +- drivers/video/fbdev/mx3fb.c | 5 +++-- drivers/video/fbdev/neofb.c | 2 +- drivers/video/fbdev/nvidia/nvidia.c | 2 +- drivers/video/fbdev/ocfb.c | 2 +- drivers/video/fbdev/offb.c | 2 +- drivers/video/fbdev/omap2/omapfb/omapfb-main.c | 2 +- drivers/video/fbdev/p9100.c | 2 +- drivers/video/fbdev/platinumfb.c | 2 +- drivers/video/fbdev/pm2fb.c | 2 +- drivers/video/fbdev/pm3fb.c | 2 +- drivers/video/fbdev/pmag-aa-fb.c | 2 +- drivers/video/fbdev/pmag-ba-fb.c | 2 +- drivers/video/fbdev/pmagb-b-fb.c | 2 +- drivers/video/fbdev/ps3fb.c | 2 +- drivers/video/fbdev/pvr2fb.c | 2 +- drivers/video/fbdev/pxa168fb.c | 2 +- drivers/video/fbdev/pxafb.c | 4 ++-- drivers/video/fbdev/q40fb.c | 2 +- drivers/video/fbdev/riva/fbdev.c | 2 +- drivers/video/fbdev/s3c-fb.c | 2 +- drivers/video/fbdev/s3c2410fb.c | 2 +- drivers/video/fbdev/s3fb.c | 2 +- drivers/video/fbdev/sa1100fb.c | 2 +- drivers/video/fbdev/savage/savagefb_driver.c | 2 +- drivers/video/fbdev/sh7760fb.c | 2 +- drivers/video/fbdev/sh_mobile_lcdcfb.c | 4 ++-- drivers/video/fbdev/simplefb.c | 2 +- drivers/video/fbdev/sis/sis_main.c | 2 +- drivers/video/fbdev/skeletonfb.c | 2 +- drivers/video/fbdev/sm712fb.c | 2 +- drivers/video/fbdev/smscufx.c | 2 +- drivers/video/fbdev/ssd1307fb.c | 2 +- drivers/video/fbdev/sstfb.c | 2 +- drivers/video/fbdev/stifb.c | 2 +- drivers/video/fbdev/sunxvr1000.c | 2 +- drivers/video/fbdev/sunxvr2500.c | 2 +- drivers/video/fbdev/sunxvr500.c | 2 +- drivers/video/fbdev/tcx.c | 2 +- drivers/video/fbdev/tdfxfb.c | 2 +- drivers/video/fbdev/tgafb.c | 2 +- drivers/video/fbdev/tmiofb.c | 2 +- drivers/video/fbdev/tridentfb.c | 2 +- drivers/video/fbdev/uvesafb.c | 2 +- drivers/video/fbdev/valkyriefb.c | 2 +- drivers/video/fbdev/vfb.c | 2 +- drivers/video/fbdev/vga16fb.c | 2 +- drivers/video/fbdev/vt8500lcdfb.c | 2 +- drivers/video/fbdev/vt8623fb.c | 2 +- drivers/video/fbdev/w100fb.c | 2 +- drivers/video/fbdev/wm8505fb.c | 2 +- drivers/video/fbdev/xen-fbfront.c | 2 +- drivers/video/fbdev/xilinxfb.c | 2 +- 111 files changed, 115 insertions(+), 114 deletions(-) diff --git a/drivers/video/fbdev/68328fb.c b/drivers/video/fbdev/68328fb.c index d48e96088f76..491fd5a82993 100644 --- a/drivers/video/fbdev/68328fb.c +++ b/drivers/video/fbdev/68328fb.c @@ -96,7 +96,7 @@ static int mc68x328fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info); static int mc68x328fb_mmap(struct fb_info *info, struct vm_area_struct *vma); -static struct fb_ops mc68x328fb_ops = { +static const struct fb_ops mc68x328fb_ops = { .fb_check_var = mc68x328fb_check_var, .fb_set_par = mc68x328fb_set_par, .fb_setcolreg = mc68x328fb_setcolreg, diff --git a/drivers/video/fbdev/acornfb.c b/drivers/video/fbdev/acornfb.c index 7cacae5a8797..a3af49529173 100644 --- a/drivers/video/fbdev/acornfb.c +++ b/drivers/video/fbdev/acornfb.c @@ -604,7 +604,7 @@ acornfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) return 0; } -static struct fb_ops acornfb_ops = { +static const struct fb_ops acornfb_ops = { .owner = THIS_MODULE, .fb_check_var = acornfb_check_var, .fb_set_par = acornfb_set_par, diff --git a/drivers/video/fbdev/amba-clcd.c b/drivers/video/fbdev/amba-clcd.c index 7de43be6ef2c..c3d55fc6c4e0 100644 --- a/drivers/video/fbdev/amba-clcd.c +++ b/drivers/video/fbdev/amba-clcd.c @@ -423,7 +423,7 @@ static int clcdfb_mmap(struct fb_info *info, return ret; } -static struct fb_ops clcdfb_ops = { +static const struct fb_ops clcdfb_ops = { .owner = THIS_MODULE, .fb_check_var = clcdfb_check_var, .fb_set_par = clcdfb_set_par, diff --git a/drivers/video/fbdev/amifb.c b/drivers/video/fbdev/amifb.c index 91ddc9602014..20e03e00b66d 100644 --- a/drivers/video/fbdev/amifb.c +++ b/drivers/video/fbdev/amifb.c @@ -3493,7 +3493,7 @@ static irqreturn_t amifb_interrupt(int irq, void *dev_id) } -static struct fb_ops amifb_ops = { +static const struct fb_ops amifb_ops = { .owner = THIS_MODULE, .fb_check_var = amifb_check_var, .fb_set_par = amifb_set_par, diff --git a/drivers/video/fbdev/arcfb.c b/drivers/video/fbdev/arcfb.c index a48741aab240..314ab82e01c0 100644 --- a/drivers/video/fbdev/arcfb.c +++ b/drivers/video/fbdev/arcfb.c @@ -491,7 +491,7 @@ static ssize_t arcfb_write(struct fb_info *info, const char __user *buf, return err; } -static struct fb_ops arcfb_ops = { +static const struct fb_ops arcfb_ops = { .owner = THIS_MODULE, .fb_open = arcfb_open, .fb_read = fb_sys_read, diff --git a/drivers/video/fbdev/arkfb.c b/drivers/video/fbdev/arkfb.c index f940e8b66b85..11ab9a153860 100644 --- a/drivers/video/fbdev/arkfb.c +++ b/drivers/video/fbdev/arkfb.c @@ -917,7 +917,7 @@ static int arkfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info /* Frame buffer operations */ -static struct fb_ops arkfb_ops = { +static const struct fb_ops arkfb_ops = { .owner = THIS_MODULE, .fb_open = arkfb_open, .fb_release = arkfb_release, diff --git a/drivers/video/fbdev/asiliantfb.c b/drivers/video/fbdev/asiliantfb.c index ea31054a28ca..3e006da47752 100644 --- a/drivers/video/fbdev/asiliantfb.c +++ b/drivers/video/fbdev/asiliantfb.c @@ -95,7 +95,7 @@ static int asiliantfb_set_par(struct fb_info *info); static int asiliantfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, u_int transp, struct fb_info *info); -static struct fb_ops asiliantfb_ops = { +static const struct fb_ops asiliantfb_ops = { .owner = THIS_MODULE, .fb_check_var = asiliantfb_check_var, .fb_set_par = asiliantfb_set_par, diff --git a/drivers/video/fbdev/atmel_lcdfb.c b/drivers/video/fbdev/atmel_lcdfb.c index 5ff8e0320d95..d567f5d56c13 100644 --- a/drivers/video/fbdev/atmel_lcdfb.c +++ b/drivers/video/fbdev/atmel_lcdfb.c @@ -824,7 +824,7 @@ static int atmel_lcdfb_blank(int blank_mode, struct fb_info *info) return ((blank_mode = FB_BLANK_NORMAL) ? 1 : 0); } -static struct fb_ops atmel_lcdfb_ops = { +static const struct fb_ops atmel_lcdfb_ops = { .owner = THIS_MODULE, .fb_check_var = atmel_lcdfb_check_var, .fb_set_par = atmel_lcdfb_set_par, diff --git a/drivers/video/fbdev/aty/aty128fb.c b/drivers/video/fbdev/aty/aty128fb.c index fc1e45d44719..d7e41c8dd533 100644 --- a/drivers/video/fbdev/aty/aty128fb.c +++ b/drivers/video/fbdev/aty/aty128fb.c @@ -509,7 +509,7 @@ static void aty128_bl_set_power(struct fb_info *info, int power); (readb(bios + (v) + 3) << 24)) -static struct fb_ops aty128fb_ops = { +static const struct fb_ops aty128fb_ops = { .owner = THIS_MODULE, .fb_check_var = aty128fb_check_var, .fb_set_par = aty128fb_set_par, diff --git a/drivers/video/fbdev/aty/atyfb_base.c b/drivers/video/fbdev/aty/atyfb_base.c index 6dda5d885a03..9c57370596f1 100644 --- a/drivers/video/fbdev/aty/atyfb_base.c +++ b/drivers/video/fbdev/aty/atyfb_base.c @@ -280,7 +280,7 @@ static const struct fb_videomode defmode = { 0, FB_VMODE_NONINTERLACED }; -static struct fb_ops atyfb_ops = { +static const struct fb_ops atyfb_ops = { .owner = THIS_MODULE, .fb_open = atyfb_open, .fb_release = atyfb_release, diff --git a/drivers/video/fbdev/aty/radeon_base.c b/drivers/video/fbdev/aty/radeon_base.c index 4ca07866f2f6..3af00e3b965e 100644 --- a/drivers/video/fbdev/aty/radeon_base.c +++ b/drivers/video/fbdev/aty/radeon_base.c @@ -1965,7 +1965,7 @@ static int radeonfb_set_par(struct fb_info *info) } -static struct fb_ops radeonfb_ops = { +static const struct fb_ops radeonfb_ops = { .owner = THIS_MODULE, .fb_check_var = radeonfb_check_var, .fb_set_par = radeonfb_set_par, diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c index 99941ae1f3a1..37a6512feda0 100644 --- a/drivers/video/fbdev/au1100fb.c +++ b/drivers/video/fbdev/au1100fb.c @@ -348,7 +348,7 @@ int au1100fb_fb_mmap(struct fb_info *fbi, struct vm_area_struct *vma) fbdev->fb_len); } -static struct fb_ops au1100fb_ops +static const struct fb_ops au1100fb_ops { .owner = THIS_MODULE, .fb_setcolreg = au1100fb_fb_setcolreg, diff --git a/drivers/video/fbdev/au1200fb.c b/drivers/video/fbdev/au1200fb.c index 265d3b45efd0..c00e01a17368 100644 --- a/drivers/video/fbdev/au1200fb.c +++ b/drivers/video/fbdev/au1200fb.c @@ -1483,7 +1483,7 @@ static int au1200fb_ioctl(struct fb_info *info, unsigned int cmd, } -static struct fb_ops au1200fb_fb_ops = { +static const struct fb_ops au1200fb_fb_ops = { .owner = THIS_MODULE, .fb_check_var = au1200fb_fb_check_var, .fb_set_par = au1200fb_fb_set_par, diff --git a/drivers/video/fbdev/broadsheetfb.c b/drivers/video/fbdev/broadsheetfb.c index d6ba348deb9f..fd66f4d4a621 100644 --- a/drivers/video/fbdev/broadsheetfb.c +++ b/drivers/video/fbdev/broadsheetfb.c @@ -1048,7 +1048,7 @@ static ssize_t broadsheetfb_write(struct fb_info *info, const char __user *buf, return (err) ? err : count; } -static struct fb_ops broadsheetfb_ops = { +static const struct fb_ops broadsheetfb_ops = { .owner = THIS_MODULE, .fb_read = fb_sys_read, .fb_write = broadsheetfb_write, diff --git a/drivers/video/fbdev/bw2.c b/drivers/video/fbdev/bw2.c index 436f10f3d375..0d9a6bb57a09 100644 --- a/drivers/video/fbdev/bw2.c +++ b/drivers/video/fbdev/bw2.c @@ -37,7 +37,7 @@ static int bw2_ioctl(struct fb_info *, unsigned int, unsigned long); * Frame buffer operations */ -static struct fb_ops bw2_ops = { +static const struct fb_ops bw2_ops = { .owner = THIS_MODULE, .fb_blank = bw2_blank, .fb_fillrect = cfb_fillrect, diff --git a/drivers/video/fbdev/carminefb.c b/drivers/video/fbdev/carminefb.c index 9f3be0258623..bf3f2a9598b1 100644 --- a/drivers/video/fbdev/carminefb.c +++ b/drivers/video/fbdev/carminefb.c @@ -527,7 +527,7 @@ static int init_hardware(struct carmine_hw *hw) return 0; } -static struct fb_ops carminefb_ops = { +static const struct fb_ops carminefb_ops = { .owner = THIS_MODULE, .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, diff --git a/drivers/video/fbdev/cg14.c b/drivers/video/fbdev/cg14.c index d80d99db3a46..a620b51cf7d0 100644 --- a/drivers/video/fbdev/cg14.c +++ b/drivers/video/fbdev/cg14.c @@ -39,7 +39,7 @@ static int cg14_pan_display(struct fb_var_screeninfo *, struct fb_info *); * Frame buffer operations */ -static struct fb_ops cg14_ops = { +static const struct fb_ops cg14_ops = { .owner = THIS_MODULE, .fb_setcolreg = cg14_setcolreg, .fb_pan_display = cg14_pan_display, diff --git a/drivers/video/fbdev/cg3.c b/drivers/video/fbdev/cg3.c index 09f616dddfd7..77f6470ce665 100644 --- a/drivers/video/fbdev/cg3.c +++ b/drivers/video/fbdev/cg3.c @@ -39,7 +39,7 @@ static int cg3_ioctl(struct fb_info *, unsigned int, unsigned long); * Frame buffer operations */ -static struct fb_ops cg3_ops = { +static const struct fb_ops cg3_ops = { .owner = THIS_MODULE, .fb_setcolreg = cg3_setcolreg, .fb_blank = cg3_blank, diff --git a/drivers/video/fbdev/cg6.c b/drivers/video/fbdev/cg6.c index d5888aecc2fb..a1c68cd48d7e 100644 --- a/drivers/video/fbdev/cg6.c +++ b/drivers/video/fbdev/cg6.c @@ -44,7 +44,7 @@ static int cg6_pan_display(struct fb_var_screeninfo *, struct fb_info *); * Frame buffer operations */ -static struct fb_ops cg6_ops = { +static const struct fb_ops cg6_ops = { .owner = THIS_MODULE, .fb_setcolreg = cg6_setcolreg, .fb_blank = cg6_blank, diff --git a/drivers/video/fbdev/chipsfb.c b/drivers/video/fbdev/chipsfb.c index f4dc320dcafe..998067b701fa 100644 --- a/drivers/video/fbdev/chipsfb.c +++ b/drivers/video/fbdev/chipsfb.c @@ -79,7 +79,7 @@ static int chipsfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, u_int transp, struct fb_info *info); static int chipsfb_blank(int blank, struct fb_info *info); -static struct fb_ops chipsfb_ops = { +static const struct fb_ops chipsfb_ops = { .owner = THIS_MODULE, .fb_check_var = chipsfb_check_var, .fb_set_par = chipsfb_set_par, diff --git a/drivers/video/fbdev/cirrusfb.c b/drivers/video/fbdev/cirrusfb.c index e4ce5667b125..c3a3e344cee3 100644 --- a/drivers/video/fbdev/cirrusfb.c +++ b/drivers/video/fbdev/cirrusfb.c @@ -1956,7 +1956,7 @@ static void cirrusfb_zorro_unmap(struct fb_info *info) #endif /* CONFIG_ZORRO */ /* function table of the above functions */ -static struct fb_ops cirrusfb_ops = { +static const struct fb_ops cirrusfb_ops = { .owner = THIS_MODULE, .fb_open = cirrusfb_open, .fb_release = cirrusfb_release, diff --git a/drivers/video/fbdev/clps711x-fb.c b/drivers/video/fbdev/clps711x-fb.c index cabbc721f894..c5d15c6db287 100644 --- a/drivers/video/fbdev/clps711x-fb.c +++ b/drivers/video/fbdev/clps711x-fb.c @@ -153,7 +153,7 @@ static int clps711x_fb_blank(int blank, struct fb_info *info) return 0; } -static struct fb_ops clps711x_fb_ops = { +static const struct fb_ops clps711x_fb_ops = { .owner = THIS_MODULE, .fb_setcolreg = clps711x_fb_setcolreg, .fb_check_var = clps711x_fb_check_var, diff --git a/drivers/video/fbdev/cobalt_lcdfb.c b/drivers/video/fbdev/cobalt_lcdfb.c index 544946901e8b..5f8b6324d2e8 100644 --- a/drivers/video/fbdev/cobalt_lcdfb.c +++ b/drivers/video/fbdev/cobalt_lcdfb.c @@ -269,7 +269,7 @@ static int cobalt_lcdfb_cursor(struct fb_info *info, struct fb_cursor *cursor) return 0; } -static struct fb_ops cobalt_lcd_fbops = { +static const struct fb_ops cobalt_lcd_fbops = { .owner = THIS_MODULE, .fb_read = cobalt_lcdfb_read, .fb_write = cobalt_lcdfb_write, diff --git a/drivers/video/fbdev/controlfb.c b/drivers/video/fbdev/controlfb.c index 9a680ef3ffc3..38b61cdb5ca4 100644 --- a/drivers/video/fbdev/controlfb.c +++ b/drivers/video/fbdev/controlfb.c @@ -157,7 +157,7 @@ static int default_vmode __initdata = VMODE_NVRAM; static int default_cmode __initdata = CMODE_NVRAM; -static struct fb_ops controlfb_ops = { +static const struct fb_ops controlfb_ops = { .owner = THIS_MODULE, .fb_check_var = controlfb_check_var, .fb_set_par = controlfb_set_par, diff --git a/drivers/video/fbdev/cyber2000fb.c b/drivers/video/fbdev/cyber2000fb.c index 3a2d9ff0aa42..460826a7ad55 100644 --- a/drivers/video/fbdev/cyber2000fb.c +++ b/drivers/video/fbdev/cyber2000fb.c @@ -1060,7 +1060,7 @@ static int cyber2000fb_blank(int blank, struct fb_info *info) return 0; } -static struct fb_ops cyber2000fb_ops = { +static const struct fb_ops cyber2000fb_ops = { .owner = THIS_MODULE, .fb_check_var = cyber2000fb_check_var, .fb_set_par = cyber2000fb_set_par, diff --git a/drivers/video/fbdev/da8xx-fb.c b/drivers/video/fbdev/da8xx-fb.c index 2d3dcc52fcf3..73c3c4c8cc12 100644 --- a/drivers/video/fbdev/da8xx-fb.c +++ b/drivers/video/fbdev/da8xx-fb.c @@ -1294,7 +1294,7 @@ static int da8xxfb_set_par(struct fb_info *info) return 0; } -static struct fb_ops da8xx_fb_ops = { +static const struct fb_ops da8xx_fb_ops = { .owner = THIS_MODULE, .fb_check_var = fb_check_var, .fb_set_par = da8xxfb_set_par, diff --git a/drivers/video/fbdev/dnfb.c b/drivers/video/fbdev/dnfb.c index 8da517eaa4a3..3688f9165848 100644 --- a/drivers/video/fbdev/dnfb.c +++ b/drivers/video/fbdev/dnfb.c @@ -108,7 +108,7 @@ static int dnfb_blank(int blank, struct fb_info *info); static void dnfb_copyarea(struct fb_info *info, const struct fb_copyarea *area); -static struct fb_ops dn_fb_ops = { +static const struct fb_ops dn_fb_ops = { .owner = THIS_MODULE, .fb_blank = dnfb_blank, .fb_fillrect = cfb_fillrect, diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c index 51d97ec4f58f..f03f9fb60c26 100644 --- a/drivers/video/fbdev/efifb.c +++ b/drivers/video/fbdev/efifb.c @@ -255,7 +255,7 @@ static void efifb_destroy(struct fb_info *info) fb_dealloc_cmap(&info->cmap); } -static struct fb_ops efifb_ops = { +static const struct fb_ops efifb_ops = { .owner = THIS_MODULE, .fb_destroy = efifb_destroy, .fb_setcolreg = efifb_setcolreg, diff --git a/drivers/video/fbdev/ep93xx-fb.c b/drivers/video/fbdev/ep93xx-fb.c index d04a047094fc..cda2ef337423 100644 --- a/drivers/video/fbdev/ep93xx-fb.c +++ b/drivers/video/fbdev/ep93xx-fb.c @@ -402,7 +402,7 @@ static int ep93xxfb_setcolreg(unsigned int regno, unsigned int red, return 0; } -static struct fb_ops ep93xxfb_ops = { +static const struct fb_ops ep93xxfb_ops = { .owner = THIS_MODULE, .fb_check_var = ep93xxfb_check_var, .fb_set_par = ep93xxfb_set_par, diff --git a/drivers/video/fbdev/fb-puv3.c b/drivers/video/fbdev/fb-puv3.c index fa62c4dff7d1..75df6aabac21 100644 --- a/drivers/video/fbdev/fb-puv3.c +++ b/drivers/video/fbdev/fb-puv3.c @@ -644,7 +644,7 @@ int unifb_mmap(struct fb_info *info, return vm_iomap_memory(vma, info->fix.smem_start, info->fix.smem_len); } -static struct fb_ops unifb_ops = { +static const struct fb_ops unifb_ops = { .fb_read = fb_sys_read, .fb_write = fb_sys_write, .fb_check_var = unifb_check_var, diff --git a/drivers/video/fbdev/ffb.c b/drivers/video/fbdev/ffb.c index cd2d1db239a2..948b73184433 100644 --- a/drivers/video/fbdev/ffb.c +++ b/drivers/video/fbdev/ffb.c @@ -44,7 +44,7 @@ static int ffb_pan_display(struct fb_var_screeninfo *, struct fb_info *); * Frame buffer operations */ -static struct fb_ops ffb_ops = { +static const struct fb_ops ffb_ops = { .owner = THIS_MODULE, .fb_setcolreg = ffb_setcolreg, .fb_blank = ffb_blank, diff --git a/drivers/video/fbdev/fm2fb.c b/drivers/video/fbdev/fm2fb.c index ac7a4ebfd390..3b727d528fde 100644 --- a/drivers/video/fbdev/fm2fb.c +++ b/drivers/video/fbdev/fm2fb.c @@ -165,7 +165,7 @@ static int fm2fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, u_int transp, struct fb_info *info); static int fm2fb_blank(int blank, struct fb_info *info); -static struct fb_ops fm2fb_ops = { +static const struct fb_ops fm2fb_ops = { .owner = THIS_MODULE, .fb_setcolreg = fm2fb_setcolreg, .fb_blank = fm2fb_blank, diff --git a/drivers/video/fbdev/fsl-diu-fb.c b/drivers/video/fbdev/fsl-diu-fb.c index d19f58263b4e..7cacabdd5f12 100644 --- a/drivers/video/fbdev/fsl-diu-fb.c +++ b/drivers/video/fbdev/fsl-diu-fb.c @@ -1448,7 +1448,7 @@ static int fsl_diu_release(struct fb_info *info, int user) return res; } -static struct fb_ops fsl_diu_ops = { +static const struct fb_ops fsl_diu_ops = { .owner = THIS_MODULE, .fb_check_var = fsl_diu_check_var, .fb_set_par = fsl_diu_set_par, diff --git a/drivers/video/fbdev/g364fb.c b/drivers/video/fbdev/g364fb.c index 223896cc5f7d..845b79da2a7c 100644 --- a/drivers/video/fbdev/g364fb.c +++ b/drivers/video/fbdev/g364fb.c @@ -111,7 +111,7 @@ static int g364fb_setcolreg(u_int regno, u_int red, u_int green, static int g364fb_cursor(struct fb_info *info, struct fb_cursor *cursor); static int g364fb_blank(int blank, struct fb_info *info); -static struct fb_ops g364fb_ops = { +static const struct fb_ops g364fb_ops = { .owner = THIS_MODULE, .fb_setcolreg = g364fb_setcolreg, .fb_pan_display = g364fb_pan_display, diff --git a/drivers/video/fbdev/gbefb.c b/drivers/video/fbdev/gbefb.c index b9f6a82a0495..31270a8986e8 100644 --- a/drivers/video/fbdev/gbefb.c +++ b/drivers/video/fbdev/gbefb.c @@ -1044,7 +1044,7 @@ static int gbefb_mmap(struct fb_info *info, return 0; } -static struct fb_ops gbefb_ops = { +static const struct fb_ops gbefb_ops = { .owner = THIS_MODULE, .fb_check_var = gbefb_check_var, .fb_set_par = gbefb_set_par, diff --git a/drivers/video/fbdev/geode/gx1fb_core.c b/drivers/video/fbdev/geode/gx1fb_core.c index 737e472fac14..5d34d89fb665 100644 --- a/drivers/video/fbdev/geode/gx1fb_core.c +++ b/drivers/video/fbdev/geode/gx1fb_core.c @@ -252,7 +252,7 @@ static int parse_panel_option(struct fb_info *info) return 0; } -static struct fb_ops gx1fb_ops = { +static const struct fb_ops gx1fb_ops = { .owner = THIS_MODULE, .fb_check_var = gx1fb_check_var, .fb_set_par = gx1fb_set_par, diff --git a/drivers/video/fbdev/geode/gxfb_core.c b/drivers/video/fbdev/geode/gxfb_core.c index 435ce2aa4240..d38a148d4746 100644 --- a/drivers/video/fbdev/geode/gxfb_core.c +++ b/drivers/video/fbdev/geode/gxfb_core.c @@ -265,7 +265,7 @@ static int gxfb_map_video_memory(struct fb_info *info, struct pci_dev *dev) return 0; } -static struct fb_ops gxfb_ops = { +static const struct fb_ops gxfb_ops = { .owner = THIS_MODULE, .fb_check_var = gxfb_check_var, .fb_set_par = gxfb_set_par, diff --git a/drivers/video/fbdev/geode/lxfb_core.c b/drivers/video/fbdev/geode/lxfb_core.c index b0f07d676eb3..adc2d9c2395e 100644 --- a/drivers/video/fbdev/geode/lxfb_core.c +++ b/drivers/video/fbdev/geode/lxfb_core.c @@ -386,7 +386,7 @@ static int lxfb_map_video_memory(struct fb_info *info, struct pci_dev *dev) return 0; } -static struct fb_ops lxfb_ops = { +static const struct fb_ops lxfb_ops = { .owner = THIS_MODULE, .fb_check_var = lxfb_check_var, .fb_set_par = lxfb_set_par, diff --git a/drivers/video/fbdev/goldfishfb.c b/drivers/video/fbdev/goldfishfb.c index f60ac276703d..9c83ec3f8e1f 100644 --- a/drivers/video/fbdev/goldfishfb.c +++ b/drivers/video/fbdev/goldfishfb.c @@ -160,7 +160,7 @@ static int goldfish_fb_blank(int blank, struct fb_info *info) return 0; } -static struct fb_ops goldfish_fb_ops = { +static const struct fb_ops goldfish_fb_ops = { .owner = THIS_MODULE, .fb_check_var = goldfish_fb_check_var, .fb_set_par = goldfish_fb_set_par, diff --git a/drivers/video/fbdev/grvga.c b/drivers/video/fbdev/grvga.c index d22e8b0c906d..07dda03e0957 100644 --- a/drivers/video/fbdev/grvga.c +++ b/drivers/video/fbdev/grvga.c @@ -251,7 +251,7 @@ static int grvga_pan_display(struct fb_var_screeninfo *var, return 0; } -static struct fb_ops grvga_ops = { +static const struct fb_ops grvga_ops = { .owner = THIS_MODULE, .fb_check_var = grvga_check_var, .fb_set_par = grvga_set_par, diff --git a/drivers/video/fbdev/gxt4500.c b/drivers/video/fbdev/gxt4500.c index c7502fd8f447..13ded3a10708 100644 --- a/drivers/video/fbdev/gxt4500.c +++ b/drivers/video/fbdev/gxt4500.c @@ -599,7 +599,7 @@ static const struct fb_fix_screeninfo gxt4500_fix = { .mmio_len = 0x20000, }; -static struct fb_ops gxt4500_ops = { +static const struct fb_ops gxt4500_ops = { .owner = THIS_MODULE, .fb_check_var = gxt4500_check_var, .fb_set_par = gxt4500_set_par, diff --git a/drivers/video/fbdev/hecubafb.c b/drivers/video/fbdev/hecubafb.c index 8577195cb533..00d77105161a 100644 --- a/drivers/video/fbdev/hecubafb.c +++ b/drivers/video/fbdev/hecubafb.c @@ -197,7 +197,7 @@ static ssize_t hecubafb_write(struct fb_info *info, const char __user *buf, return (err) ? err : count; } -static struct fb_ops hecubafb_ops = { +static const struct fb_ops hecubafb_ops = { .owner = THIS_MODULE, .fb_read = fb_sys_read, .fb_write = hecubafb_write, diff --git a/drivers/video/fbdev/hgafb.c b/drivers/video/fbdev/hgafb.c index 59e1cae57948..a45fcff1461f 100644 --- a/drivers/video/fbdev/hgafb.c +++ b/drivers/video/fbdev/hgafb.c @@ -523,7 +523,7 @@ static void hgafb_imageblit(struct fb_info *info, const struct fb_image *image) } } -static struct fb_ops hgafb_ops = { +static const struct fb_ops hgafb_ops = { .owner = THIS_MODULE, .fb_open = hgafb_open, .fb_release = hgafb_release, diff --git a/drivers/video/fbdev/hitfb.c b/drivers/video/fbdev/hitfb.c index abe3e54d4506..009e5d2aa100 100644 --- a/drivers/video/fbdev/hitfb.c +++ b/drivers/video/fbdev/hitfb.c @@ -311,7 +311,7 @@ static int hitfb_set_par(struct fb_info *info) return 0; } -static struct fb_ops hitfb_ops = { +static const struct fb_ops hitfb_ops = { .owner = THIS_MODULE, .fb_check_var = hitfb_check_var, .fb_set_par = hitfb_set_par, diff --git a/drivers/video/fbdev/hpfb.c b/drivers/video/fbdev/hpfb.c index a79af8f069d1..f02be0db335e 100644 --- a/drivers/video/fbdev/hpfb.c +++ b/drivers/video/fbdev/hpfb.c @@ -184,7 +184,7 @@ static int hpfb_sync(struct fb_info *info) return 0; } -static struct fb_ops hpfb_ops = { +static const struct fb_ops hpfb_ops = { .owner = THIS_MODULE, .fb_setcolreg = hpfb_setcolreg, .fb_blank = hpfb_blank, diff --git a/drivers/video/fbdev/hyperv_fb.c b/drivers/video/fbdev/hyperv_fb.c index 2dcb7c58b31e..fcd546e5c031 100644 --- a/drivers/video/fbdev/hyperv_fb.c +++ b/drivers/video/fbdev/hyperv_fb.c @@ -623,7 +623,7 @@ static void hvfb_cfb_imageblit(struct fb_info *p, synthvid_update(p); } -static struct fb_ops hvfb_ops = { +static const struct fb_ops hvfb_ops = { .owner = THIS_MODULE, .fb_check_var = hvfb_check_var, .fb_set_par = hvfb_set_par, diff --git a/drivers/video/fbdev/i740fb.c b/drivers/video/fbdev/i740fb.c index 347cf8babc3e..c65ec7386e87 100644 --- a/drivers/video/fbdev/i740fb.c +++ b/drivers/video/fbdev/i740fb.c @@ -981,7 +981,7 @@ static int i740fb_blank(int blank_mode, struct fb_info *info) return (blank_mode = FB_BLANK_NORMAL) ? 1 : 0; } -static struct fb_ops i740fb_ops = { +static const struct fb_ops i740fb_ops = { .owner = THIS_MODULE, .fb_open = i740fb_open, .fb_release = i740fb_release, diff --git a/drivers/video/fbdev/imsttfb.c b/drivers/video/fbdev/imsttfb.c index 58b01c7d9056..3ac053b88495 100644 --- a/drivers/video/fbdev/imsttfb.c +++ b/drivers/video/fbdev/imsttfb.c @@ -1333,7 +1333,7 @@ static struct pci_driver imsttfb_pci_driver = { .remove = imsttfb_remove, }; -static struct fb_ops imsttfb_ops = { +static const struct fb_ops imsttfb_ops = { .owner = THIS_MODULE, .fb_check_var = imsttfb_check_var, .fb_set_par = imsttfb_set_par, diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c index b3286d1fa543..08a17eb2a5c7 100644 --- a/drivers/video/fbdev/imxfb.c +++ b/drivers/video/fbdev/imxfb.c @@ -566,7 +566,7 @@ static int imxfb_blank(int blank, struct fb_info *info) return 0; } -static struct fb_ops imxfb_ops = { +static const struct fb_ops imxfb_ops = { .owner = THIS_MODULE, .fb_check_var = imxfb_check_var, .fb_set_par = imxfb_set_par, diff --git a/drivers/video/fbdev/intelfb/intelfbdrv.c b/drivers/video/fbdev/intelfb/intelfbdrv.c index a76c61512c60..c744891781a5 100644 --- a/drivers/video/fbdev/intelfb/intelfbdrv.c +++ b/drivers/video/fbdev/intelfb/intelfbdrv.c @@ -193,7 +193,7 @@ static const struct pci_device_id intelfb_pci_table[] = { static int num_registered = 0; /* fb ops */ -static struct fb_ops intel_fb_ops = { +static const struct fb_ops intel_fb_ops = { .owner = THIS_MODULE, .fb_open = intelfb_open, .fb_release = intelfb_release, diff --git a/drivers/video/fbdev/kyro/fbdev.c b/drivers/video/fbdev/kyro/fbdev.c index a7bd9f25911b..72dff2e42e3a 100644 --- a/drivers/video/fbdev/kyro/fbdev.c +++ b/drivers/video/fbdev/kyro/fbdev.c @@ -648,7 +648,7 @@ static struct pci_driver kyrofb_pci_driver = { .remove = kyrofb_remove, }; -static struct fb_ops kyrofb_ops = { +static const struct fb_ops kyrofb_ops = { .owner = THIS_MODULE, .fb_check_var = kyrofb_check_var, .fb_set_par = kyrofb_set_par, diff --git a/drivers/video/fbdev/leo.c b/drivers/video/fbdev/leo.c index 5b1141ac182b..40b11cce0ad6 100644 --- a/drivers/video/fbdev/leo.c +++ b/drivers/video/fbdev/leo.c @@ -39,7 +39,7 @@ static int leo_pan_display(struct fb_var_screeninfo *, struct fb_info *); * Frame buffer operations */ -static struct fb_ops leo_ops = { +static const struct fb_ops leo_ops = { .owner = THIS_MODULE, .fb_setcolreg = leo_setcolreg, .fb_blank = leo_blank, diff --git a/drivers/video/fbdev/macfb.c b/drivers/video/fbdev/macfb.c index 9a6feee96133..e05a97662ca8 100644 --- a/drivers/video/fbdev/macfb.c +++ b/drivers/video/fbdev/macfb.c @@ -496,7 +496,7 @@ static int macfb_setcolreg(unsigned regno, unsigned red, unsigned green, return 0; } -static struct fb_ops macfb_ops = { +static const struct fb_ops macfb_ops = { .owner = THIS_MODULE, .fb_setcolreg = macfb_setcolreg, .fb_fillrect = cfb_fillrect, diff --git a/drivers/video/fbdev/matrox/matroxfb_crtc2.c b/drivers/video/fbdev/matrox/matroxfb_crtc2.c index d2a81a2c3ac0..7655afa3fd50 100644 --- a/drivers/video/fbdev/matrox/matroxfb_crtc2.c +++ b/drivers/video/fbdev/matrox/matroxfb_crtc2.c @@ -563,7 +563,7 @@ static int matroxfb_dh_blank(int blank, struct fb_info* info) { #undef m2info } -static struct fb_ops matroxfb_dh_ops = { +static const struct fb_ops matroxfb_dh_ops = { .owner = THIS_MODULE, .fb_open = matroxfb_dh_open, .fb_release = matroxfb_dh_release, diff --git a/drivers/video/fbdev/maxinefb.c b/drivers/video/fbdev/maxinefb.c index 5bb1b5c308a7..ae1a42bcb0ea 100644 --- a/drivers/video/fbdev/maxinefb.c +++ b/drivers/video/fbdev/maxinefb.c @@ -105,7 +105,7 @@ static int maxinefb_setcolreg(unsigned regno, unsigned red, unsigned green, return 0; } -static struct fb_ops maxinefb_ops = { +static const struct fb_ops maxinefb_ops = { .owner = THIS_MODULE, .fb_setcolreg = maxinefb_setcolreg, .fb_fillrect = cfb_fillrect, diff --git a/drivers/video/fbdev/mb862xx/mb862xxfbdrv.c b/drivers/video/fbdev/mb862xx/mb862xxfbdrv.c index 962c0171d271..298e10fe0408 100644 --- a/drivers/video/fbdev/mb862xx/mb862xxfbdrv.c +++ b/drivers/video/fbdev/mb862xx/mb862xxfbdrv.c @@ -401,7 +401,7 @@ static int mb862xxfb_ioctl(struct fb_info *fbi, unsigned int cmd, } /* framebuffer ops */ -static struct fb_ops mb862xxfb_ops = { +static const struct fb_ops mb862xxfb_ops = { .owner = THIS_MODULE, .fb_check_var = mb862xxfb_check_var, .fb_set_par = mb862xxfb_set_par, diff --git a/drivers/video/fbdev/mbx/mbxfb.c b/drivers/video/fbdev/mbx/mbxfb.c index 50935252b50b..25dad4507d77 100644 --- a/drivers/video/fbdev/mbx/mbxfb.c +++ b/drivers/video/fbdev/mbx/mbxfb.c @@ -671,7 +671,7 @@ static int mbxfb_ioctl(struct fb_info *info, unsigned int cmd, return -EINVAL; } -static struct fb_ops mbxfb_ops = { +static const struct fb_ops mbxfb_ops = { .owner = THIS_MODULE, .fb_check_var = mbxfb_check_var, .fb_set_par = mbxfb_set_par, diff --git a/drivers/video/fbdev/metronomefb.c b/drivers/video/fbdev/metronomefb.c index bb4fee52e501..a42e2eceee48 100644 --- a/drivers/video/fbdev/metronomefb.c +++ b/drivers/video/fbdev/metronomefb.c @@ -558,7 +558,7 @@ static ssize_t metronomefb_write(struct fb_info *info, const char __user *buf, return (err) ? err : count; } -static struct fb_ops metronomefb_ops = { +static const struct fb_ops metronomefb_ops = { .owner = THIS_MODULE, .fb_write = metronomefb_write, .fb_fillrect = metronomefb_fillrect, diff --git a/drivers/video/fbdev/mmp/fb/mmpfb.c b/drivers/video/fbdev/mmp/fb/mmpfb.c index 47bc7c59bbd8..33db0850086f 100644 --- a/drivers/video/fbdev/mmp/fb/mmpfb.c +++ b/drivers/video/fbdev/mmp/fb/mmpfb.c @@ -454,7 +454,7 @@ static int mmpfb_blank(int blank, struct fb_info *info) return 0; } -static struct fb_ops mmpfb_ops = { +static const struct fb_ops mmpfb_ops = { .owner = THIS_MODULE, .fb_blank = mmpfb_blank, .fb_check_var = mmpfb_check_var, diff --git a/drivers/video/fbdev/mx3fb.c b/drivers/video/fbdev/mx3fb.c index bafd5f5fac5a..4af28e4421e5 100644 --- a/drivers/video/fbdev/mx3fb.c +++ b/drivers/video/fbdev/mx3fb.c @@ -1249,7 +1249,7 @@ static int mx3fb_pan_display(struct fb_var_screeninfo *var, * invoked by the core framebuffer driver to perform operations like * blitting, rectangle filling, copy regions and cursor definition. */ -static struct fb_ops mx3fb_ops = { +static const struct fb_ops mx3fb_ops = { .owner = THIS_MODULE, .fb_set_par = mx3fb_set_par, .fb_check_var = mx3fb_check_var, @@ -1389,7 +1389,8 @@ static int mx3fb_unmap_video_memory(struct fb_info *fbi) * mx3fb_init_fbinfo() - initialize framebuffer information object. * @return: initialized framebuffer structure. */ -static struct fb_info *mx3fb_init_fbinfo(struct device *dev, struct fb_ops *ops) +static struct fb_info *mx3fb_init_fbinfo(struct device *dev, + const struct fb_ops *ops) { struct fb_info *fbi; struct mx3fb_info *mx3fbi; diff --git a/drivers/video/fbdev/neofb.c b/drivers/video/fbdev/neofb.c index b770946a0920..e6ea853c1723 100644 --- a/drivers/video/fbdev/neofb.c +++ b/drivers/video/fbdev/neofb.c @@ -1610,7 +1610,7 @@ neofb_cursor(struct fb_info *info, struct fb_cursor *cursor) } */ -static struct fb_ops neofb_ops = { +static const struct fb_ops neofb_ops = { .owner = THIS_MODULE, .fb_open = neofb_open, .fb_release = neofb_release, diff --git a/drivers/video/fbdev/nvidia/nvidia.c b/drivers/video/fbdev/nvidia/nvidia.c index fbeeed5afe35..8a2527b0fd27 100644 --- a/drivers/video/fbdev/nvidia/nvidia.c +++ b/drivers/video/fbdev/nvidia/nvidia.c @@ -1024,7 +1024,7 @@ static int nvidiafb_release(struct fb_info *info, int user) return err; } -static struct fb_ops nvidia_fb_ops = { +static const struct fb_ops nvidia_fb_ops = { .owner = THIS_MODULE, .fb_open = nvidiafb_open, .fb_release = nvidiafb_release, diff --git a/drivers/video/fbdev/ocfb.c b/drivers/video/fbdev/ocfb.c index a970edc2a6f8..c8cee2d890dc 100644 --- a/drivers/video/fbdev/ocfb.c +++ b/drivers/video/fbdev/ocfb.c @@ -285,7 +285,7 @@ static int ocfb_init_var(struct ocfb_dev *fbdev) return 0; } -static struct fb_ops ocfb_ops = { +static const struct fb_ops ocfb_ops = { .owner = THIS_MODULE, .fb_setcolreg = ocfb_setcolreg, .fb_fillrect = cfb_fillrect, diff --git a/drivers/video/fbdev/offb.c b/drivers/video/fbdev/offb.c index fbc6eafb63c7..5cd0f5f6a4ae 100644 --- a/drivers/video/fbdev/offb.c +++ b/drivers/video/fbdev/offb.c @@ -286,7 +286,7 @@ static void offb_destroy(struct fb_info *info) framebuffer_release(info); } -static struct fb_ops offb_ops = { +static const struct fb_ops offb_ops = { .owner = THIS_MODULE, .fb_destroy = offb_destroy, .fb_setcolreg = offb_setcolreg, diff --git a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c index 858c2c011d19..8dfa9158ba78 100644 --- a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c +++ b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c @@ -1280,7 +1280,7 @@ ssize_t omapfb_write(struct fb_info *info, const char __user *buf, } #endif -static struct fb_ops omapfb_ops = { +static const struct fb_ops omapfb_ops = { .owner = THIS_MODULE, .fb_open = omapfb_open, .fb_release = omapfb_release, diff --git a/drivers/video/fbdev/p9100.c b/drivers/video/fbdev/p9100.c index 8c18cc51aae2..6da672e92643 100644 --- a/drivers/video/fbdev/p9100.c +++ b/drivers/video/fbdev/p9100.c @@ -37,7 +37,7 @@ static int p9100_ioctl(struct fb_info *, unsigned int, unsigned long); * Frame buffer operations */ -static struct fb_ops p9100_ops = { +static const struct fb_ops p9100_ops = { .owner = THIS_MODULE, .fb_setcolreg = p9100_setcolreg, .fb_blank = p9100_blank, diff --git a/drivers/video/fbdev/platinumfb.c b/drivers/video/fbdev/platinumfb.c index 632b246ca35f..ce413a9df06e 100644 --- a/drivers/video/fbdev/platinumfb.c +++ b/drivers/video/fbdev/platinumfb.c @@ -96,7 +96,7 @@ static int platinum_var_to_par(struct fb_var_screeninfo *var, * Interface used by the world */ -static struct fb_ops platinumfb_ops = { +static const struct fb_ops platinumfb_ops = { .owner = THIS_MODULE, .fb_check_var = platinumfb_check_var, .fb_set_par = platinumfb_set_par, diff --git a/drivers/video/fbdev/pm2fb.c b/drivers/video/fbdev/pm2fb.c index 1dcf02e12af4..8f933bad461c 100644 --- a/drivers/video/fbdev/pm2fb.c +++ b/drivers/video/fbdev/pm2fb.c @@ -1483,7 +1483,7 @@ static int pm2fb_cursor(struct fb_info *info, struct fb_cursor *cursor) * Frame buffer operations */ -static struct fb_ops pm2fb_ops = { +static const struct fb_ops pm2fb_ops = { .owner = THIS_MODULE, .fb_check_var = pm2fb_check_var, .fb_set_par = pm2fb_set_par, diff --git a/drivers/video/fbdev/pm3fb.c b/drivers/video/fbdev/pm3fb.c index 6130aa56a1e9..15a2b495235b 100644 --- a/drivers/video/fbdev/pm3fb.c +++ b/drivers/video/fbdev/pm3fb.c @@ -1200,7 +1200,7 @@ static int pm3fb_blank(int blank_mode, struct fb_info *info) * Frame buffer operations */ -static struct fb_ops pm3fb_ops = { +static const struct fb_ops pm3fb_ops = { .owner = THIS_MODULE, .fb_check_var = pm3fb_check_var, .fb_set_par = pm3fb_set_par, diff --git a/drivers/video/fbdev/pmag-aa-fb.c b/drivers/video/fbdev/pmag-aa-fb.c index d1e78ce3a9c2..7b33b52b2526 100644 --- a/drivers/video/fbdev/pmag-aa-fb.c +++ b/drivers/video/fbdev/pmag-aa-fb.c @@ -147,7 +147,7 @@ static int aafb_blank(int blank, struct fb_info *info) return 0; } -static struct fb_ops aafb_ops = { +static const struct fb_ops aafb_ops = { .owner = THIS_MODULE, .fb_blank = aafb_blank, .fb_fillrect = cfb_fillrect, diff --git a/drivers/video/fbdev/pmag-ba-fb.c b/drivers/video/fbdev/pmag-ba-fb.c index 56b912bb28de..a60e56d8980b 100644 --- a/drivers/video/fbdev/pmag-ba-fb.c +++ b/drivers/video/fbdev/pmag-ba-fb.c @@ -117,7 +117,7 @@ static int pmagbafb_setcolreg(unsigned int regno, unsigned int red, return 0; } -static struct fb_ops pmagbafb_ops = { +static const struct fb_ops pmagbafb_ops = { .owner = THIS_MODULE, .fb_setcolreg = pmagbafb_setcolreg, .fb_fillrect = cfb_fillrect, diff --git a/drivers/video/fbdev/pmagb-b-fb.c b/drivers/video/fbdev/pmagb-b-fb.c index 2822b2225924..f02080f21077 100644 --- a/drivers/video/fbdev/pmagb-b-fb.c +++ b/drivers/video/fbdev/pmagb-b-fb.c @@ -121,7 +121,7 @@ static int pmagbbfb_setcolreg(unsigned int regno, unsigned int red, return 0; } -static struct fb_ops pmagbbfb_ops = { +static const struct fb_ops pmagbbfb_ops = { .owner = THIS_MODULE, .fb_setcolreg = pmagbbfb_setcolreg, .fb_fillrect = cfb_fillrect, diff --git a/drivers/video/fbdev/ps3fb.c b/drivers/video/fbdev/ps3fb.c index 5ed2db39d823..834f63edf700 100644 --- a/drivers/video/fbdev/ps3fb.c +++ b/drivers/video/fbdev/ps3fb.c @@ -934,7 +934,7 @@ static irqreturn_t ps3fb_vsync_interrupt(int irq, void *ptr) } -static struct fb_ops ps3fb_ops = { +static const struct fb_ops ps3fb_ops = { .fb_open = ps3fb_open, .fb_release = ps3fb_release, .fb_read = fb_sys_read, diff --git a/drivers/video/fbdev/pvr2fb.c b/drivers/video/fbdev/pvr2fb.c index 0a3b2b7c7891..fcb16eabbb0d 100644 --- a/drivers/video/fbdev/pvr2fb.c +++ b/drivers/video/fbdev/pvr2fb.c @@ -707,7 +707,7 @@ static ssize_t pvr2fb_write(struct fb_info *info, const char *buf, } #endif /* CONFIG_PVR2_DMA */ -static struct fb_ops pvr2fb_ops = { +static const struct fb_ops pvr2fb_ops = { .owner = THIS_MODULE, .fb_setcolreg = pvr2fb_setcolreg, .fb_blank = pvr2fb_blank, diff --git a/drivers/video/fbdev/pxa168fb.c b/drivers/video/fbdev/pxa168fb.c index 1410f476e135..c672c3354a2c 100644 --- a/drivers/video/fbdev/pxa168fb.c +++ b/drivers/video/fbdev/pxa168fb.c @@ -545,7 +545,7 @@ static irqreturn_t pxa168fb_handle_irq(int irq, void *dev_id) return IRQ_NONE; } -static struct fb_ops pxa168fb_ops = { +static const struct fb_ops pxa168fb_ops = { .owner = THIS_MODULE, .fb_check_var = pxa168fb_check_var, .fb_set_par = pxa168fb_set_par, diff --git a/drivers/video/fbdev/pxafb.c b/drivers/video/fbdev/pxafb.c index f70c9f79622e..6f7e9fb63190 100644 --- a/drivers/video/fbdev/pxafb.c +++ b/drivers/video/fbdev/pxafb.c @@ -597,7 +597,7 @@ static int pxafb_blank(int blank, struct fb_info *info) return 0; } -static struct fb_ops pxafb_ops = { +static const struct fb_ops pxafb_ops = { .owner = THIS_MODULE, .fb_check_var = pxafb_check_var, .fb_set_par = pxafb_set_par, @@ -865,7 +865,7 @@ static int overlayfb_set_par(struct fb_info *info) return 0; } -static struct fb_ops overlay_fb_ops = { +static const struct fb_ops overlay_fb_ops = { .owner = THIS_MODULE, .fb_open = overlayfb_open, .fb_release = overlayfb_release, diff --git a/drivers/video/fbdev/q40fb.c b/drivers/video/fbdev/q40fb.c index 0b93aa964d43..79ff14a35c85 100644 --- a/drivers/video/fbdev/q40fb.c +++ b/drivers/video/fbdev/q40fb.c @@ -75,7 +75,7 @@ static int q40fb_setcolreg(unsigned regno, unsigned red, unsigned green, return 0; } -static struct fb_ops q40fb_ops = { +static const struct fb_ops q40fb_ops = { .owner = THIS_MODULE, .fb_setcolreg = q40fb_setcolreg, .fb_fillrect = cfb_fillrect, diff --git a/drivers/video/fbdev/riva/fbdev.c b/drivers/video/fbdev/riva/fbdev.c index ca593a3e41d7..764ec3285e62 100644 --- a/drivers/video/fbdev/riva/fbdev.c +++ b/drivers/video/fbdev/riva/fbdev.c @@ -1673,7 +1673,7 @@ static int rivafb_sync(struct fb_info *info) * ------------------------------------------------------------------------- */ /* kernel interface */ -static struct fb_ops riva_fb_ops = { +static const struct fb_ops riva_fb_ops = { .owner = THIS_MODULE, .fb_open = rivafb_open, .fb_release = rivafb_release, diff --git a/drivers/video/fbdev/s3c-fb.c b/drivers/video/fbdev/s3c-fb.c index ba04d7a67829..f4871c430f8d 100644 --- a/drivers/video/fbdev/s3c-fb.c +++ b/drivers/video/fbdev/s3c-fb.c @@ -1035,7 +1035,7 @@ static int s3c_fb_ioctl(struct fb_info *info, unsigned int cmd, return ret; } -static struct fb_ops s3c_fb_ops = { +static const struct fb_ops s3c_fb_ops = { .owner = THIS_MODULE, .fb_check_var = s3c_fb_check_var, .fb_set_par = s3c_fb_set_par, diff --git a/drivers/video/fbdev/s3c2410fb.c b/drivers/video/fbdev/s3c2410fb.c index a702da89910b..2fb15a540167 100644 --- a/drivers/video/fbdev/s3c2410fb.c +++ b/drivers/video/fbdev/s3c2410fb.c @@ -618,7 +618,7 @@ static int s3c2410fb_debug_store(struct device *dev, static DEVICE_ATTR(debug, 0664, s3c2410fb_debug_show, s3c2410fb_debug_store); -static struct fb_ops s3c2410fb_ops = { +static const struct fb_ops s3c2410fb_ops = { .owner = THIS_MODULE, .fb_check_var = s3c2410fb_check_var, .fb_set_par = s3c2410fb_set_par, diff --git a/drivers/video/fbdev/s3fb.c b/drivers/video/fbdev/s3fb.c index be16c349c10f..60c424fae988 100644 --- a/drivers/video/fbdev/s3fb.c +++ b/drivers/video/fbdev/s3fb.c @@ -1037,7 +1037,7 @@ static int s3fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) /* Frame buffer operations */ -static struct fb_ops s3fb_ops = { +static const struct fb_ops s3fb_ops = { .owner = THIS_MODULE, .fb_open = s3fb_open, .fb_release = s3fb_release, diff --git a/drivers/video/fbdev/sa1100fb.c b/drivers/video/fbdev/sa1100fb.c index 81ad3aa1ca06..4680cc3efb81 100644 --- a/drivers/video/fbdev/sa1100fb.c +++ b/drivers/video/fbdev/sa1100fb.c @@ -574,7 +574,7 @@ static int sa1100fb_mmap(struct fb_info *info, return vm_iomap_memory(vma, info->fix.mmio_start, info->fix.mmio_len); } -static struct fb_ops sa1100fb_ops = { +static const struct fb_ops sa1100fb_ops = { .owner = THIS_MODULE, .fb_check_var = sa1100fb_check_var, .fb_set_par = sa1100fb_set_par, diff --git a/drivers/video/fbdev/savage/savagefb_driver.c b/drivers/video/fbdev/savage/savagefb_driver.c index 512789f5f884..aab312a7d9da 100644 --- a/drivers/video/fbdev/savage/savagefb_driver.c +++ b/drivers/video/fbdev/savage/savagefb_driver.c @@ -1637,7 +1637,7 @@ static int savagefb_release(struct fb_info *info, int user) return 0; } -static struct fb_ops savagefb_ops = { +static const struct fb_ops savagefb_ops = { .owner = THIS_MODULE, .fb_open = savagefb_open, .fb_release = savagefb_release, diff --git a/drivers/video/fbdev/sh7760fb.c b/drivers/video/fbdev/sh7760fb.c index ab8fe838c776..b8ec8d9bb4c8 100644 --- a/drivers/video/fbdev/sh7760fb.c +++ b/drivers/video/fbdev/sh7760fb.c @@ -341,7 +341,7 @@ static int sh7760fb_set_par(struct fb_info *info) return 0; } -static struct fb_ops sh7760fb_ops = { +static const struct fb_ops sh7760fb_ops = { .owner = THIS_MODULE, .fb_blank = sh7760fb_blank, .fb_check_var = sh7760fb_check_var, diff --git a/drivers/video/fbdev/sh_mobile_lcdcfb.c b/drivers/video/fbdev/sh_mobile_lcdcfb.c index c249763dbf0b..25f119efebc0 100644 --- a/drivers/video/fbdev/sh_mobile_lcdcfb.c +++ b/drivers/video/fbdev/sh_mobile_lcdcfb.c @@ -1490,7 +1490,7 @@ sh_mobile_lcdc_overlay_mmap(struct fb_info *info, struct vm_area_struct *vma) ovl->dma_handle, ovl->fb_size); } -static struct fb_ops sh_mobile_lcdc_overlay_ops = { +static const struct fb_ops sh_mobile_lcdc_overlay_ops = { .owner = THIS_MODULE, .fb_read = fb_sys_read, .fb_write = fb_sys_write, @@ -1964,7 +1964,7 @@ sh_mobile_lcdc_mmap(struct fb_info *info, struct vm_area_struct *vma) ch->dma_handle, ch->fb_size); } -static struct fb_ops sh_mobile_lcdc_ops = { +static const struct fb_ops sh_mobile_lcdc_ops = { .owner = THIS_MODULE, .fb_setcolreg = sh_mobile_lcdc_setcolreg, .fb_read = fb_sys_read, diff --git a/drivers/video/fbdev/simplefb.c b/drivers/video/fbdev/simplefb.c index 7dc0105f700d..533a047d07a2 100644 --- a/drivers/video/fbdev/simplefb.c +++ b/drivers/video/fbdev/simplefb.c @@ -78,7 +78,7 @@ static void simplefb_destroy(struct fb_info *info) iounmap(info->screen_base); } -static struct fb_ops simplefb_ops = { +static const struct fb_ops simplefb_ops = { .owner = THIS_MODULE, .fb_destroy = simplefb_destroy, .fb_setcolreg = simplefb_setcolreg, diff --git a/drivers/video/fbdev/sis/sis_main.c b/drivers/video/fbdev/sis/sis_main.c index b443a8ed4600..ac140962b1bf 100644 --- a/drivers/video/fbdev/sis/sis_main.c +++ b/drivers/video/fbdev/sis/sis_main.c @@ -1906,7 +1906,7 @@ sisfb_get_fix(struct fb_fix_screeninfo *fix, int con, struct fb_info *info) /* ---------------- fb_ops structures ----------------- */ -static struct fb_ops sisfb_ops = { +static const struct fb_ops sisfb_ops = { .owner = THIS_MODULE, .fb_open = sisfb_open, .fb_release = sisfb_release, diff --git a/drivers/video/fbdev/skeletonfb.c b/drivers/video/fbdev/skeletonfb.c index 812a36cb60c3..bcacfb6934fa 100644 --- a/drivers/video/fbdev/skeletonfb.c +++ b/drivers/video/fbdev/skeletonfb.c @@ -634,7 +634,7 @@ int xxxfb_sync(struct fb_info *info) * Frame buffer operations */ -static struct fb_ops xxxfb_ops = { +static const struct fb_ops xxxfb_ops = { .owner = THIS_MODULE, .fb_open = xxxfb_open, .fb_read = xxxfb_read, diff --git a/drivers/video/fbdev/sm712fb.c b/drivers/video/fbdev/sm712fb.c index 207d0add684b..6a1b4a853d9e 100644 --- a/drivers/video/fbdev/sm712fb.c +++ b/drivers/video/fbdev/sm712fb.c @@ -1369,7 +1369,7 @@ static int smtc_set_par(struct fb_info *info) return 0; } -static struct fb_ops smtcfb_ops = { +static const struct fb_ops smtcfb_ops = { .owner = THIS_MODULE, .fb_check_var = smtc_check_var, .fb_set_par = smtc_set_par, diff --git a/drivers/video/fbdev/smscufx.c b/drivers/video/fbdev/smscufx.c index e362d7da87fc..bfac3ee4a642 100644 --- a/drivers/video/fbdev/smscufx.c +++ b/drivers/video/fbdev/smscufx.c @@ -1268,7 +1268,7 @@ static int ufx_ops_blank(int blank_mode, struct fb_info *info) return 0; } -static struct fb_ops ufx_ops = { +static const struct fb_ops ufx_ops = { .owner = THIS_MODULE, .fb_read = fb_sys_read, .fb_write = ufx_ops_write, diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c index 78ca7ffc40c2..142535267fec 100644 --- a/drivers/video/fbdev/ssd1307fb.c +++ b/drivers/video/fbdev/ssd1307fb.c @@ -280,7 +280,7 @@ static void ssd1307fb_imageblit(struct fb_info *info, const struct fb_image *ima ssd1307fb_update_display(par); } -static struct fb_ops ssd1307fb_ops = { +static const struct fb_ops ssd1307fb_ops = { .owner = THIS_MODULE, .fb_read = fb_sys_read, .fb_write = ssd1307fb_write, diff --git a/drivers/video/fbdev/sstfb.c b/drivers/video/fbdev/sstfb.c index 4e22ae383c87..82e707a48e4e 100644 --- a/drivers/video/fbdev/sstfb.c +++ b/drivers/video/fbdev/sstfb.c @@ -1307,7 +1307,7 @@ static int sstfb_setup(char *options) } -static struct fb_ops sstfb_ops = { +static const struct fb_ops sstfb_ops = { .owner = THIS_MODULE, .fb_check_var = sstfb_check_var, .fb_set_par = sstfb_set_par, diff --git a/drivers/video/fbdev/stifb.c b/drivers/video/fbdev/stifb.c index 9e88e3f594c2..5400ab79fbbd 100644 --- a/drivers/video/fbdev/stifb.c +++ b/drivers/video/fbdev/stifb.c @@ -1101,7 +1101,7 @@ stifb_init_display(struct stifb_info *fb) /* ------------ Interfaces to hardware functions ------------ */ -static struct fb_ops stifb_ops = { +static const struct fb_ops stifb_ops = { .owner = THIS_MODULE, .fb_setcolreg = stifb_setcolreg, .fb_blank = stifb_blank, diff --git a/drivers/video/fbdev/sunxvr1000.c b/drivers/video/fbdev/sunxvr1000.c index 784c9bd5d502..15b079505a00 100644 --- a/drivers/video/fbdev/sunxvr1000.c +++ b/drivers/video/fbdev/sunxvr1000.c @@ -59,7 +59,7 @@ static int gfb_setcolreg(unsigned regno, return 0; } -static struct fb_ops gfb_ops = { +static const struct fb_ops gfb_ops = { .owner = THIS_MODULE, .fb_setcolreg = gfb_setcolreg, .fb_fillrect = cfb_fillrect, diff --git a/drivers/video/fbdev/sunxvr2500.c b/drivers/video/fbdev/sunxvr2500.c index 31683e5a8b79..1d3bacd9d5ac 100644 --- a/drivers/video/fbdev/sunxvr2500.c +++ b/drivers/video/fbdev/sunxvr2500.c @@ -63,7 +63,7 @@ static int s3d_setcolreg(unsigned regno, return 0; } -static struct fb_ops s3d_ops = { +static const struct fb_ops s3d_ops = { .owner = THIS_MODULE, .fb_setcolreg = s3d_setcolreg, .fb_fillrect = cfb_fillrect, diff --git a/drivers/video/fbdev/sunxvr500.c b/drivers/video/fbdev/sunxvr500.c index d392976126a6..9daf17b11106 100644 --- a/drivers/video/fbdev/sunxvr500.c +++ b/drivers/video/fbdev/sunxvr500.c @@ -186,7 +186,7 @@ static void e3d_copyarea(struct fb_info *info, const struct fb_copyarea *area) spin_unlock_irqrestore(&ep->lock, flags); } -static struct fb_ops e3d_ops = { +static const struct fb_ops e3d_ops = { .owner = THIS_MODULE, .fb_setcolreg = e3d_setcolreg, .fb_fillrect = e3d_fillrect, diff --git a/drivers/video/fbdev/tcx.c b/drivers/video/fbdev/tcx.c index 7897f86fb23e..34b2e5b6e84a 100644 --- a/drivers/video/fbdev/tcx.c +++ b/drivers/video/fbdev/tcx.c @@ -40,7 +40,7 @@ static int tcx_pan_display(struct fb_var_screeninfo *, struct fb_info *); * Frame buffer operations */ -static struct fb_ops tcx_ops = { +static const struct fb_ops tcx_ops = { .owner = THIS_MODULE, .fb_setcolreg = tcx_setcolreg, .fb_blank = tcx_blank, diff --git a/drivers/video/fbdev/tdfxfb.c b/drivers/video/fbdev/tdfxfb.c index fdbb1ea66e6c..0349cf69652f 100644 --- a/drivers/video/fbdev/tdfxfb.c +++ b/drivers/video/fbdev/tdfxfb.c @@ -1141,7 +1141,7 @@ static int tdfxfb_cursor(struct fb_info *info, struct fb_cursor *cursor) return 0; } -static struct fb_ops tdfxfb_ops = { +static const struct fb_ops tdfxfb_ops = { .owner = THIS_MODULE, .fb_check_var = tdfxfb_check_var, .fb_set_par = tdfxfb_set_par, diff --git a/drivers/video/fbdev/tgafb.c b/drivers/video/fbdev/tgafb.c index 286b2371c7dd..7cd262858241 100644 --- a/drivers/video/fbdev/tgafb.c +++ b/drivers/video/fbdev/tgafb.c @@ -70,7 +70,7 @@ static struct tc_driver tgafb_tc_driver; * Frame buffer operations */ -static struct fb_ops tgafb_ops = { +static const struct fb_ops tgafb_ops = { .owner = THIS_MODULE, .fb_check_var = tgafb_check_var, .fb_set_par = tgafb_set_par, diff --git a/drivers/video/fbdev/tmiofb.c b/drivers/video/fbdev/tmiofb.c index 4f2fcea10d2b..50111966c981 100644 --- a/drivers/video/fbdev/tmiofb.c +++ b/drivers/video/fbdev/tmiofb.c @@ -646,7 +646,7 @@ static int tmiofb_blank(int blank, struct fb_info *info) return 0; } -static struct fb_ops tmiofb_ops = { +static const struct fb_ops tmiofb_ops = { .owner = THIS_MODULE, .fb_ioctl = tmiofb_ioctl, diff --git a/drivers/video/fbdev/tridentfb.c b/drivers/video/fbdev/tridentfb.c index da74bf6c5996..715509917eaa 100644 --- a/drivers/video/fbdev/tridentfb.c +++ b/drivers/video/fbdev/tridentfb.c @@ -1443,7 +1443,7 @@ static int tridentfb_blank(int blank_mode, struct fb_info *info) return (blank_mode = FB_BLANK_NORMAL) ? 1 : 0; } -static struct fb_ops tridentfb_ops = { +static const struct fb_ops tridentfb_ops = { .owner = THIS_MODULE, .fb_setcolreg = tridentfb_setcolreg, .fb_pan_display = tridentfb_pan_display, diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c index 439565cae7ab..fb30e6c28afb 100644 --- a/drivers/video/fbdev/uvesafb.c +++ b/drivers/video/fbdev/uvesafb.c @@ -1410,7 +1410,7 @@ static int uvesafb_check_var(struct fb_var_screeninfo *var, return 0; } -static struct fb_ops uvesafb_ops = { +static const struct fb_ops uvesafb_ops = { .owner = THIS_MODULE, .fb_open = uvesafb_open, .fb_release = uvesafb_release, diff --git a/drivers/video/fbdev/valkyriefb.c b/drivers/video/fbdev/valkyriefb.c index e04fde9c1fcd..ca8d7343aaa1 100644 --- a/drivers/video/fbdev/valkyriefb.c +++ b/drivers/video/fbdev/valkyriefb.c @@ -113,7 +113,7 @@ static int valkyrie_init_info(struct fb_info *info, struct fb_info_valkyrie *p); static void valkyrie_par_to_fix(struct fb_par_valkyrie *par, struct fb_fix_screeninfo *fix); static void valkyrie_init_fix(struct fb_fix_screeninfo *fix, struct fb_info_valkyrie *p); -static struct fb_ops valkyriefb_ops = { +static const struct fb_ops valkyriefb_ops = { .owner = THIS_MODULE, .fb_check_var = valkyriefb_check_var, .fb_set_par = valkyriefb_set_par, diff --git a/drivers/video/fbdev/vfb.c b/drivers/video/fbdev/vfb.c index 54127905bfe7..95d3c59867d0 100644 --- a/drivers/video/fbdev/vfb.c +++ b/drivers/video/fbdev/vfb.c @@ -78,7 +78,7 @@ static int vfb_pan_display(struct fb_var_screeninfo *var, static int vfb_mmap(struct fb_info *info, struct vm_area_struct *vma); -static struct fb_ops vfb_ops = { +static const struct fb_ops vfb_ops = { .fb_read = fb_sys_read, .fb_write = fb_sys_write, .fb_check_var = vfb_check_var, diff --git a/drivers/video/fbdev/vga16fb.c b/drivers/video/fbdev/vga16fb.c index 2c6a576ed84c..a20eeb8308ff 100644 --- a/drivers/video/fbdev/vga16fb.c +++ b/drivers/video/fbdev/vga16fb.c @@ -1270,7 +1270,7 @@ static void vga16fb_destroy(struct fb_info *info) framebuffer_release(info); } -static struct fb_ops vga16fb_ops = { +static const struct fb_ops vga16fb_ops = { .owner = THIS_MODULE, .fb_open = vga16fb_open, .fb_release = vga16fb_release, diff --git a/drivers/video/fbdev/vt8500lcdfb.c b/drivers/video/fbdev/vt8500lcdfb.c index be8d9702cbb2..f744479dc7df 100644 --- a/drivers/video/fbdev/vt8500lcdfb.c +++ b/drivers/video/fbdev/vt8500lcdfb.c @@ -238,7 +238,7 @@ static int vt8500lcd_blank(int blank, struct fb_info *info) return 0; } -static struct fb_ops vt8500lcd_ops = { +static const struct fb_ops vt8500lcd_ops = { .owner = THIS_MODULE, .fb_set_par = vt8500lcd_set_par, .fb_setcolreg = vt8500lcd_setcolreg, diff --git a/drivers/video/fbdev/vt8623fb.c b/drivers/video/fbdev/vt8623fb.c index c339a8fbad81..7b3eef1b893f 100644 --- a/drivers/video/fbdev/vt8623fb.c +++ b/drivers/video/fbdev/vt8623fb.c @@ -634,7 +634,7 @@ static int vt8623fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *i /* Frame buffer operations */ -static struct fb_ops vt8623fb_ops = { +static const struct fb_ops vt8623fb_ops = { .owner = THIS_MODULE, .fb_open = vt8623fb_open, .fb_release = vt8623fb_release, diff --git a/drivers/video/fbdev/w100fb.c b/drivers/video/fbdev/w100fb.c index 3be07807edcd..fe628ec20149 100644 --- a/drivers/video/fbdev/w100fb.c +++ b/drivers/video/fbdev/w100fb.c @@ -549,7 +549,7 @@ static int w100fb_set_par(struct fb_info *info) /* * Frame buffer operations */ -static struct fb_ops w100fb_ops = { +static const struct fb_ops w100fb_ops = { .owner = THIS_MODULE, .fb_check_var = w100fb_check_var, .fb_set_par = w100fb_set_par, diff --git a/drivers/video/fbdev/wm8505fb.c b/drivers/video/fbdev/wm8505fb.c index 17c780315ca5..b656eff58c23 100644 --- a/drivers/video/fbdev/wm8505fb.c +++ b/drivers/video/fbdev/wm8505fb.c @@ -246,7 +246,7 @@ static int wm8505fb_blank(int blank, struct fb_info *info) return 0; } -static struct fb_ops wm8505fb_ops = { +static const struct fb_ops wm8505fb_ops = { .owner = THIS_MODULE, .fb_set_par = wm8505fb_set_par, .fb_setcolreg = wm8505fb_setcolreg, diff --git a/drivers/video/fbdev/xen-fbfront.c b/drivers/video/fbdev/xen-fbfront.c index a3d6b6db221b..00307b8693bf 100644 --- a/drivers/video/fbdev/xen-fbfront.c +++ b/drivers/video/fbdev/xen-fbfront.c @@ -328,7 +328,7 @@ static int xenfb_set_par(struct fb_info *info) return 0; } -static struct fb_ops xenfb_fb_ops = { +static const struct fb_ops xenfb_fb_ops = { .owner = THIS_MODULE, .fb_read = fb_sys_read, .fb_write = xenfb_write, diff --git a/drivers/video/fbdev/xilinxfb.c b/drivers/video/fbdev/xilinxfb.c index 8628829b470d..ca4ff658cad0 100644 --- a/drivers/video/fbdev/xilinxfb.c +++ b/drivers/video/fbdev/xilinxfb.c @@ -247,7 +247,7 @@ xilinx_fb_blank(int blank_mode, struct fb_info *fbi) return 0; /* success */ } -static struct fb_ops xilinxfb_ops = { +static const struct fb_ops xilinxfb_ops = { .owner = THIS_MODULE, .fb_setcolreg = xilinx_fb_setcolreg, .fb_blank = xilinx_fb_blank, -- 2.20.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH v2 10/14] video: constify fb ops across all drivers Date: Fri, 29 Nov 2019 12:29:40 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org Cc: jani.nikula@intel.com, Daniel Vetter , intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org Tm93IHRoYXQgdGhlIGZib3BzIG1lbWJlciBvZiBzdHJ1Y3QgZmJfaW5mbyBpcyBjb25zdCwgd2Ug Y2FuIHN0YXJ0Cm1ha2luZyB0aGUgb3BzIGNvbnN0IGFzIHdlbGwuCgpUaGlzIGRvZXMgbm90IGNv dmVyIGFsbCBkcml2ZXJzOyBzb21lIGFjdHVhbGx5IG1vZGlmeSB0aGUgZmJvcHMgc3RydWN0LApm b3IgZXhhbXBsZSB0byBhZGp1c3QgZm9yIGRpZmZlcmVudCBjb25maWd1cmF0aW9ucywgYW5kIG90 aGVycyBkbyBtb3JlCmludm9sdmVkIHRoaW5ncyB0aGF0IEknZCByYXRoZXIgbm90IHRvdWNoIGlu IHByYWN0aWNhbGx5IG9ic29sZXRlCmRyaXZlcnMuIE1vc3RseSB0aGlzIGlzIHRoZSBsb3cgaGFu Z2luZyBmcnVpdCB3aGVyZSB3ZSBjYW4gYWRkICJjb25zdCIKYW5kIGJlIGRvbmUgd2l0aCBpdC4K CnYyOgotIGZpeCB0eXBvIChDaHJpc3RvcGhlIGRlIERpbmVjaGluKQotIHVzZSAic3RhdGljIGNv bnN0IiBpbnN0ZWFkIG9mICJjb25zdCBzdGF0aWMiIGluIG14M2ZiLmMKLSBhbHNvIGNvbnN0aWZ5 IHNtc2N1ZnguYwoKQ2M6IGxpbnV4LWZiZGV2QHZnZXIua2VybmVsLm9yZwpSZXZpZXdlZC1ieTog RGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KU2lnbmVkLW9mZi1ieTogSmFu aSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KCmZpeHVwIHRvIHZpZGVvIGRyaXZlcnMK LS0tCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2LzY4MzI4ZmIuYyAgICAgICAgICAgICAgICAgIHwgMiAr LQogZHJpdmVycy92aWRlby9mYmRldi9hY29ybmZiLmMgICAgICAgICAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvdmlkZW8vZmJkZXYvYW1iYS1jbGNkLmMgICAgICAgICAgICAgICAgfCAyICstCiBk cml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJp dmVycy92aWRlby9mYmRldi9hcmNmYi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZl cnMvdmlkZW8vZmJkZXYvYXJrZmIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJz L3ZpZGVvL2ZiZGV2L2FzaWxpYW50ZmIuYyAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92 aWRlby9mYmRldi9hdG1lbF9sY2RmYi5jICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlk ZW8vZmJkZXYvYXR5L2F0eTEyOGZiLmMgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVv L2ZiZGV2L2F0eS9hdHlmYl9iYXNlLmMgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9m YmRldi9hdHkvcmFkZW9uX2Jhc2UuYyAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJk ZXYvYXUxMTAwZmIuYyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2 L2F1MTIwMGZiLmMgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9i cm9hZHNoZWV0ZmIuYyAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvYncy LmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2Nhcm1p bmVmYi5jICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9jZzE0LmMg ICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvY2czLmMgICAg ICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2NnNi5jICAgICAg ICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9jaGlwc2ZiLmMgICAg ICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvY2lycnVzZmIuYyAgICAg ICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2NscHM3MTF4LWZiLmMgICAg ICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9jb2JhbHRfbGNkZmIuYyAgICAg ICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvY29udHJvbGZiLmMgICAgICAgICAg ICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2N5YmVyMjAwMGZiLmMgICAgICAgICAg ICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9kYTh4eC1mYi5jICAgICAgICAgICAgICAg ICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvZG5mYi5jICAgICAgICAgICAgICAgICAgICAg fCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2VmaWZiLmMgICAgICAgICAgICAgICAgICAgIHwg MiArLQogZHJpdmVycy92aWRlby9mYmRldi9lcDkzeHgtZmIuYyAgICAgICAgICAgICAgICB8IDIg Ky0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvZmItcHV2My5jICAgICAgICAgICAgICAgICAgfCAyICst CiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2ZmYi5jICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQog ZHJpdmVycy92aWRlby9mYmRldi9mbTJmYi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRy aXZlcnMvdmlkZW8vZmJkZXYvZnNsLWRpdS1mYi5jICAgICAgICAgICAgICAgfCAyICstCiBkcml2 ZXJzL3ZpZGVvL2ZiZGV2L2czNjRmYi5jICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVy cy92aWRlby9mYmRldi9nYmVmYi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMv dmlkZW8vZmJkZXYvZ2VvZGUvZ3gxZmJfY29yZS5jICAgICAgICAgfCAyICstCiBkcml2ZXJzL3Zp ZGVvL2ZiZGV2L2dlb2RlL2d4ZmJfY29yZS5jICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRl by9mYmRldi9nZW9kZS9seGZiX2NvcmUuYyAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8v ZmJkZXYvZ29sZGZpc2hmYi5jICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2Zi ZGV2L2dydmdhLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRl di9neHQ0NTAwLmMgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYv aGVjdWJhZmIuYyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2hn YWZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9oaXRm Yi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvaHBmYi5j ICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2h5cGVydl9m Yi5jICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9pNzQwZmIuYyAg ICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvaW1zdHRmYi5jICAg ICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2lteGZiLmMgICAgICAg ICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9pbnRlbGZiL2ludGVsZmJk cnYuYyAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYva3lyby9mYmRldi5jICAgICAg ICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2xlby5jICAgICAgICAgICAgICAg ICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9tYWNmYi5jICAgICAgICAgICAgICAg ICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvbWF0cm94L21hdHJveGZiX2NydGMyLmMg ICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L21heGluZWZiLmMgICAgICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9tYjg2Mnh4L21iODYyeHhmYmRydi5jICAgICB8 IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvbWJ4L21ieGZiLmMgICAgICAgICAgICAgICAgfCAy ICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L21ldHJvbm9tZWZiLmMgICAgICAgICAgICAgIHwgMiAr LQogZHJpdmVycy92aWRlby9mYmRldi9tbXAvZmIvbW1wZmIuYyAgICAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvdmlkZW8vZmJkZXYvbXgzZmIuYyAgICAgICAgICAgICAgICAgICAgfCA1ICsrKy0t CiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L25lb2ZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQog ZHJpdmVycy92aWRlby9mYmRldi9udmlkaWEvbnZpZGlhLmMgICAgICAgICAgICB8IDIgKy0KIGRy aXZlcnMvdmlkZW8vZmJkZXYvb2NmYi5jICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2 ZXJzL3ZpZGVvL2ZiZGV2L29mZmIuYyAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVy cy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvb21hcGZiLW1haW4uYyB8IDIgKy0KIGRyaXZlcnMv dmlkZW8vZmJkZXYvcDkxMDAuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3Zp ZGVvL2ZiZGV2L3BsYXRpbnVtZmIuYyAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRl by9mYmRldi9wbTJmYi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8v ZmJkZXYvcG0zZmIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2Zi ZGV2L3BtYWctYWEtZmIuYyAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRl di9wbWFnLWJhLWZiLmMgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYv cG1hZ2ItYi1mYi5jICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3Bz M2ZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9wdnIy ZmIuYyAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvcHhhMTY4 ZmIuYyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3B4YWZiLmMg ICAgICAgICAgICAgICAgICAgIHwgNCArKy0tCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3E0MGZiLmMg ICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9yaXZhL2ZiZGV2 LmMgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvczNjLWZiLmMgICAg ICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3MzYzI0MTBmYi5jICAg ICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9zM2ZiLmMgICAgICAgICAg ICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvc2ExMTAwZmIuYyAgICAgICAg ICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3NhdmFnZS9zYXZhZ2VmYl9kcml2 ZXIuYyAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9zaDc3NjBmYi5jICAgICAgICAgICAg ICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvc2hfbW9iaWxlX2xjZGNmYi5jICAgICAg ICAgfCA0ICsrLS0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvc2ltcGxlZmIuYyAgICAgICAgICAgICAg ICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3Npcy9zaXNfbWFpbi5jICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9za2VsZXRvbmZiLmMgICAgICAgICAgICAgICB8 IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvc203MTJmYi5jICAgICAgICAgICAgICAgICAgfCAy ICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3Ntc2N1ZnguYyAgICAgICAgICAgICAgICAgIHwgMiAr LQogZHJpdmVycy92aWRlby9mYmRldi9zc2QxMzA3ZmIuYyAgICAgICAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvdmlkZW8vZmJkZXYvc3N0ZmIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBk cml2ZXJzL3ZpZGVvL2ZiZGV2L3N0aWZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJp dmVycy92aWRlby9mYmRldi9zdW54dnIxMDAwLmMgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZl cnMvdmlkZW8vZmJkZXYvc3VueHZyMjUwMC5jICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJz L3ZpZGVvL2ZiZGV2L3N1bnh2cjUwMC5jICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92 aWRlby9mYmRldi90Y3guYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlk ZW8vZmJkZXYvdGRmeGZiLmMgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVv L2ZiZGV2L3RnYWZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9m YmRldi90bWlvZmIuYyAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJk ZXYvdHJpZGVudGZiLmMgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2 L3V2ZXNhZmIuYyAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi92 YWxreXJpZWZiLmMgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvdmZi LmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZnYTE2 ZmIuYyAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi92dDg1MDBs Y2RmYi5jICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvdnQ4NjIzZmIu YyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3cxMDBmYi5jICAg ICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi93bTg1MDVmYi5jICAg ICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuYyAg ICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3hpbGlueGZiLmMgICAgICAg ICAgICAgICAgIHwgMiArLQogMTExIGZpbGVzIGNoYW5nZWQsIDExNSBpbnNlcnRpb25zKCspLCAx MTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi82ODMyOGZi LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2LzY4MzI4ZmIuYwppbmRleCBkNDhlOTYwODhmNzYuLjQ5 MWZkNWE4Mjk5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi82ODMyOGZiLmMKKysr IGIvZHJpdmVycy92aWRlby9mYmRldi82ODMyOGZiLmMKQEAgLTk2LDcgKzk2LDcgQEAgc3RhdGlj IGludCBtYzY4eDMyOGZiX3Bhbl9kaXNwbGF5KHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFy LAogCQkJICAgc3RydWN0IGZiX2luZm8gKmluZm8pOwogc3RhdGljIGludCBtYzY4eDMyOGZiX21t YXAoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKIAot c3RhdGljIHN0cnVjdCBmYl9vcHMgbWM2OHgzMjhmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3Ry dWN0IGZiX29wcyBtYzY4eDMyOGZiX29wcyA9IHsKIAkuZmJfY2hlY2tfdmFyCT0gbWM2OHgzMjhm Yl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBtYzY4eDMyOGZiX3NldF9wYXIsCiAJLmZiX3Nl dGNvbHJlZwk9IG1jNjh4MzI4ZmJfc2V0Y29scmVnLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRl by9mYmRldi9hY29ybmZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2Fjb3JuZmIuYwppbmRleCA3 Y2FjYWU1YTg3OTcuLmEzYWY0OTUyOTE3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRl di9hY29ybmZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9hY29ybmZiLmMKQEAgLTYwNCw3 ICs2MDQsNyBAQCBhY29ybmZiX3Bhbl9kaXNwbGF5KHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAq dmFyLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgYWNvcm5mYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhY29y bmZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGFj b3JuZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0gYWNvcm5mYl9zZXRfcGFyLApkaWZmIC0t Z2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9hbWJhLWNsY2QuYyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvYW1iYS1jbGNkLmMKaW5kZXggN2RlNDNiZTZlZjJjLi5jM2Q1NWZjNmM0ZTAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYW1iYS1jbGNkLmMKKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9hbWJhLWNsY2QuYwpAQCAtNDIzLDcgKzQyMyw3IEBAIHN0YXRpYyBpbnQgY2xjZGZiX21t YXAoc3RydWN0IGZiX2luZm8gKmluZm8sCiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgY2xjZGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNsY2Rm Yl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBjbGNk ZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0gY2xjZGZiX3NldF9wYXIsCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZi LmMKaW5kZXggOTFkZGM5NjAyMDE0Li4yMGUwM2UwMGI2NmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvYW1pZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZiLmMKQEAg LTM0OTMsNyArMzQ5Myw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBhbWlmYl9pbnRlcnJ1cHQoaW50 IGlycSwgdm9pZCAqZGV2X2lkKQogfQogCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGFtaWZiX29w cyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGFtaWZiX29wcyA9IHsKIAkub3duZXIJ CT0gVEhJU19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGFtaWZiX2NoZWNrX3ZhciwKIAkuZmJf c2V0X3Bhcgk9IGFtaWZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2FyY2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FyY2ZiLmMKaW5kZXggYTQ4NzQxYWFiMjQw Li4zMTRhYjgyZTAxYzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXJjZmIuYwor KysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FyY2ZiLmMKQEAgLTQ5MSw3ICs0OTEsNyBAQCBzdGF0 aWMgc3NpemVfdCBhcmNmYl93cml0ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3QgY2hhciBf X3VzZXIgKmJ1ZiwKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBhcmNm Yl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhcmNmYl9vcHMgPSB7CiAJLm93 bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0gYXJjZmJfb3BlbiwKIAkuZmJfcmVhZCAg ICAgICAgPSBmYl9zeXNfcmVhZCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXJr ZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXJrZmIuYwppbmRleCBmOTQwZThiNjZiODUuLjEx YWI5YTE1Mzg2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hcmtmYi5jCisrKyBi L2RyaXZlcnMvdmlkZW8vZmJkZXYvYXJrZmIuYwpAQCAtOTE3LDcgKzkxNyw3IEBAIHN0YXRpYyBp bnQgYXJrZmJfcGFuX2Rpc3BsYXkoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsIHN0cnVj dCBmYl9pbmZvICppbmZvCiAKIC8qIEZyYW1lIGJ1ZmZlciBvcGVyYXRpb25zICovCiAKLXN0YXRp YyBzdHJ1Y3QgZmJfb3BzIGFya2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3Bz IGFya2ZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX29wZW4JPSBhcmtm Yl9vcGVuLAogCS5mYl9yZWxlYXNlCT0gYXJrZmJfcmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvYXNpbGlhbnRmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9hc2lsaWFu dGZiLmMKaW5kZXggZWEzMTA1NGEyOGNhLi4zZTAwNmRhNDc3NTIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvYXNpbGlhbnRmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXNp bGlhbnRmYi5jCkBAIC05NSw3ICs5NSw3IEBAIHN0YXRpYyBpbnQgYXNpbGlhbnRmYl9zZXRfcGFy KHN0cnVjdCBmYl9pbmZvICppbmZvKTsKIHN0YXRpYyBpbnQgYXNpbGlhbnRmYl9zZXRjb2xyZWco dV9pbnQgcmVnbm8sIHVfaW50IHJlZCwgdV9pbnQgZ3JlZW4sIHVfaW50IGJsdWUsCiAJCQkJdV9p bnQgdHJhbnNwLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3Bz IGFzaWxpYW50ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgYXNpbGlhbnRm Yl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBhc2ls aWFudGZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IGFzaWxpYW50ZmJfc2V0X3BhciwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXRtZWxfbGNkZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvYXRtZWxfbGNkZmIuYwppbmRleCA1ZmY4ZTAzMjBkOTUuLmQ1NjdmNWQ1NmMxMyAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hdG1lbF9sY2RmYi5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvYXRtZWxfbGNkZmIuYwpAQCAtODI0LDcgKzgyNCw3IEBAIHN0YXRpYyBp bnQgYXRtZWxfbGNkZmJfYmxhbmsoaW50IGJsYW5rX21vZGUsIHN0cnVjdCBmYl9pbmZvICppbmZv KQogCXJldHVybiAoKGJsYW5rX21vZGUgPT0gRkJfQkxBTktfTk9STUFMKSA/IDEgOiAwKTsKIH0K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgYXRtZWxfbGNkZmJfb3BzID0geworc3RhdGljIGNvbnN0 IHN0cnVjdCBmYl9vcHMgYXRtZWxfbGNkZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVM RSwKIAkuZmJfY2hlY2tfdmFyCT0gYXRtZWxfbGNkZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFy CT0gYXRtZWxfbGNkZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYv YXR5L2F0eTEyOGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9hdHkxMjhmYi5jCmluZGV4 IGZjMWU0NWQ0NDcxOS4uZDdlNDFjOGRkNTMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L2F0eS9hdHkxMjhmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXR5L2F0eTEyOGZi LmMKQEAgLTUwOSw3ICs1MDksNyBAQCBzdGF0aWMgdm9pZCBhdHkxMjhfYmxfc2V0X3Bvd2VyKHN0 cnVjdCBmYl9pbmZvICppbmZvLCBpbnQgcG93ZXIpOwogCQkJICAocmVhZGIoYmlvcyArICh2KSAr IDMpIDw8IDI0KSkKIAogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBhdHkxMjhmYl9vcHMgPSB7Citz dGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhdHkxMjhmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRI SVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBhdHkxMjhmYl9jaGVja192YXIsCiAJLmZiX3Nl dF9wYXIJPSBhdHkxMjhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRl di9hdHkvYXR5ZmJfYmFzZS5jIGIvZHJpdmVycy92aWRlby9mYmRldi9hdHkvYXR5ZmJfYmFzZS5j CmluZGV4IDZkZGE1ZDg4NWEwMy4uOWM1NzM3MDU5NmYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L2F0eS9hdHlmYl9iYXNlLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9hdHkv YXR5ZmJfYmFzZS5jCkBAIC0yODAsNyArMjgwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmYl92 aWRlb21vZGUgZGVmbW9kZSA9IHsKIAkwLCBGQl9WTU9ERV9OT05JTlRFUkxBQ0VECiB9OwogCi1z dGF0aWMgc3RydWN0IGZiX29wcyBhdHlmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZi X29wcyBhdHlmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0g YXR5ZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQk9IGF0eWZiX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9yYWRlb25fYmFzZS5jIGIvZHJpdmVycy92aWRlby9mYmRl di9hdHkvcmFkZW9uX2Jhc2UuYwppbmRleCA0Y2EwNzg2NmYyZjYuLjNhZjAwZTNiOTY1ZSAxMDA2 NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hdHkvcmFkZW9uX2Jhc2UuYworKysgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9yYWRlb25fYmFzZS5jCkBAIC0xOTY1LDcgKzE5NjUsNyBAQCBz dGF0aWMgaW50IHJhZGVvbmZiX3NldF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8pCiB9CiAKIAot c3RhdGljIHN0cnVjdCBmYl9vcHMgcmFkZW9uZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgcmFkZW9uZmJfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmZi X2NoZWNrX3ZhcgkJPSByYWRlb25mYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJCT0gcmFkZW9u ZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXUxMTAwZmIuYyBi L2RyaXZlcnMvdmlkZW8vZmJkZXYvYXUxMTAwZmIuYwppbmRleCA5OTk0MWFlMWYzYTEuLjM3YTY1 MTJmZWRhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hdTExMDBmYi5jCisrKyBi L2RyaXZlcnMvdmlkZW8vZmJkZXYvYXUxMTAwZmIuYwpAQCAtMzQ4LDcgKzM0OCw3IEBAIGludCBh dTExMDBmYl9mYl9tbWFwKHN0cnVjdCBmYl9pbmZvICpmYmksIHN0cnVjdCB2bV9hcmVhX3N0cnVj dCAqdm1hKQogCQkJZmJkZXYtPmZiX2xlbik7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGF1 MTEwMGZiX29wcyA9CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhdTExMDBmYl9vcHMgPQog ewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3NldGNvbHJlZwkJPSBhdTExMDBmYl9m Yl9zZXRjb2xyZWcsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F1MTIwMGZiLmMg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F1MTIwMGZiLmMKaW5kZXggMjY1ZDNiNDVlZmQwLi5jMDBl MDFhMTczNjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXUxMjAwZmIuYworKysg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F1MTIwMGZiLmMKQEAgLTE0ODMsNyArMTQ4Myw3IEBAIHN0 YXRpYyBpbnQgYXUxMjAwZmJfaW9jdGwoc3RydWN0IGZiX2luZm8gKmluZm8sIHVuc2lnbmVkIGlu dCBjbWQsCiB9CiAKIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgYXUxMjAwZmJfZmJfb3BzID0gewor c3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgYXUxMjAwZmJfZmJfb3BzID0gewogCS5vd25lcgkJ PSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyCT0gYXUxMjAwZmJfZmJfY2hlY2tfdmFyLAog CS5mYl9zZXRfcGFyCT0gYXUxMjAwZmJfZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvYnJvYWRzaGVldGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2Jyb2Fkc2hl ZXRmYi5jCmluZGV4IGQ2YmEzNDhkZWI5Zi4uZmQ2NmY0ZDRhNjIxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2Jyb2Fkc2hlZXRmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv YnJvYWRzaGVldGZiLmMKQEAgLTEwNDgsNyArMTA0OCw3IEBAIHN0YXRpYyBzc2l6ZV90IGJyb2Fk c2hlZXRmYl93cml0ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3QgY2hhciBfX3VzZXIgKmJ1 ZiwKIAlyZXR1cm4gKGVycikgPyBlcnIgOiBjb3VudDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9v cHMgYnJvYWRzaGVldGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGJyb2Fk c2hlZXRmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFkICAgICAg ICA9IGZiX3N5c19yZWFkLAogCS5mYl93cml0ZQk9IGJyb2Fkc2hlZXRmYl93cml0ZSwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYncyLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2J3 Mi5jCmluZGV4IDQzNmYxMGYzZDM3NS4uMGQ5YTZiYjU3YTA5IDEwMDY0NAotLS0gYS9kcml2ZXJz L3ZpZGVvL2ZiZGV2L2J3Mi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYncyLmMKQEAgLTM3 LDcgKzM3LDcgQEAgc3RhdGljIGludCBidzJfaW9jdGwoc3RydWN0IGZiX2luZm8gKiwgdW5zaWdu ZWQgaW50LCB1bnNpZ25lZCBsb25nKTsKICAqICBGcmFtZSBidWZmZXIgb3BlcmF0aW9ucwogICov CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGJ3Ml9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0 IGZiX29wcyBidzJfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2JsYW5r CQk9IGJ3Ml9ibGFuaywKIAkuZmJfZmlsbHJlY3QJCT0gY2ZiX2ZpbGxyZWN0LApkaWZmIC0tZ2l0 IGEvZHJpdmVycy92aWRlby9mYmRldi9jYXJtaW5lZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv Y2FybWluZWZiLmMKaW5kZXggOWYzYmUwMjU4NjIzLi5iZjNmMmE5NTk4YjEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvdmlkZW8vZmJkZXYvY2FybWluZWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRl di9jYXJtaW5lZmIuYwpAQCAtNTI3LDcgKzUyNyw3IEBAIHN0YXRpYyBpbnQgaW5pdF9oYXJkd2Fy ZShzdHJ1Y3QgY2FybWluZV9odyAqaHcpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3Qg ZmJfb3BzIGNhcm1pbmVmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBjYXJt aW5lZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfZmlsbHJlY3QJPSBj ZmJfZmlsbHJlY3QsCiAJLmZiX2NvcHlhcmVhCT0gY2ZiX2NvcHlhcmVhLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy92aWRlby9mYmRldi9jZzE0LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NnMTQuYwpp bmRleCBkODBkOTlkYjNhNDYuLmE2MjBiNTFjZjdkMCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRl by9mYmRldi9jZzE0LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9jZzE0LmMKQEAgLTM5LDcg KzM5LDcgQEAgc3RhdGljIGludCBjZzE0X3Bhbl9kaXNwbGF5KHN0cnVjdCBmYl92YXJfc2NyZWVu aW5mbyAqLCBzdHJ1Y3QgZmJfaW5mbyAqKTsKICAqICBGcmFtZSBidWZmZXIgb3BlcmF0aW9ucwog ICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGNnMTRfb3BzID0geworc3RhdGljIGNvbnN0IHN0 cnVjdCBmYl9vcHMgY2cxNF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJf c2V0Y29scmVnCQk9IGNnMTRfc2V0Y29scmVnLAogCS5mYl9wYW5fZGlzcGxheQkJPSBjZzE0X3Bh bl9kaXNwbGF5LApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9jZzMuYyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvY2czLmMKaW5kZXggMDlmNjE2ZGRkZmQ3Li43N2Y2NDcwY2U2NjUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2czLmMKKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9jZzMuYwpAQCAtMzksNyArMzksNyBAQCBzdGF0aWMgaW50IGNnM19pb2N0bChzdHJ1Y3Qg ZmJfaW5mbyAqLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGxvbmcpOwogICogIEZyYW1lIGJ1ZmZl ciBvcGVyYXRpb25zCiAgKi8KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgY2czX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNnM19vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01P RFVMRSwKIAkuZmJfc2V0Y29scmVnCQk9IGNnM19zZXRjb2xyZWcsCiAJLmZiX2JsYW5rCQk9IGNn M19ibGFuaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2c2LmMgYi9kcml2ZXJz L3ZpZGVvL2ZiZGV2L2NnNi5jCmluZGV4IGQ1ODg4YWVjYzJmYi4uYTFjNjhjZDQ4ZDdlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NnNi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvY2c2LmMKQEAgLTQ0LDcgKzQ0LDcgQEAgc3RhdGljIGludCBjZzZfcGFuX2Rpc3BsYXkoc3Ry dWN0IGZiX3Zhcl9zY3JlZW5pbmZvICosIHN0cnVjdCBmYl9pbmZvICopOwogICogIEZyYW1lIGJ1 ZmZlciBvcGVyYXRpb25zCiAgKi8KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgY2c2X29wcyA9IHsK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNnNl9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElT X01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCQk9IGNnNl9zZXRjb2xyZWcsCiAJLmZiX2JsYW5rCQk9 IGNnNl9ibGFuaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2hpcHNmYi5jIGIv ZHJpdmVycy92aWRlby9mYmRldi9jaGlwc2ZiLmMKaW5kZXggZjRkYzMyMGRjYWZlLi45OTgwNjdi NzAxZmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2hpcHNmYi5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvY2hpcHNmYi5jCkBAIC03OSw3ICs3OSw3IEBAIHN0YXRpYyBpbnQg Y2hpcHNmYl9zZXRjb2xyZWcodV9pbnQgcmVnbm8sIHVfaW50IHJlZCwgdV9pbnQgZ3JlZW4sIHVf aW50IGJsdWUsCiAJCQkgICAgIHVfaW50IHRyYW5zcCwgc3RydWN0IGZiX2luZm8gKmluZm8pOwog c3RhdGljIGludCBjaGlwc2ZiX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2luZm8gKmluZm8p OwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBjaGlwc2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZmJfb3BzIGNoaXBzZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAku ZmJfY2hlY2tfdmFyCT0gY2hpcHNmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBjaGlwc2Zi X3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NpcnJ1c2ZiLmMgYi9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2NpcnJ1c2ZiLmMKaW5kZXggZTRjZTU2NjdiMTI1Li5jM2EzZTM0 NGNlZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2lycnVzZmIuYworKysgYi9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2NpcnJ1c2ZiLmMKQEAgLTE5NTYsNyArMTk1Niw3IEBAIHN0YXRp YyB2b2lkIGNpcnJ1c2ZiX3pvcnJvX3VubWFwKHN0cnVjdCBmYl9pbmZvICppbmZvKQogI2VuZGlm IC8qIENPTkZJR19aT1JSTyAqLwogCiAvKiBmdW5jdGlvbiB0YWJsZSBvZiB0aGUgYWJvdmUgZnVu Y3Rpb25zICovCi1zdGF0aWMgc3RydWN0IGZiX29wcyBjaXJydXNmYl9vcHMgPSB7CitzdGF0aWMg Y29uc3Qgc3RydWN0IGZiX29wcyBjaXJydXNmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9E VUxFLAogCS5mYl9vcGVuCT0gY2lycnVzZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQk9IGNpcnJ1c2Zi X3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NscHM3MTF4LWZiLmMg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NscHM3MTF4LWZiLmMKaW5kZXggY2FiYmM3MjFmODk0Li5j NWQxNWM2ZGIyODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2xwczcxMXgtZmIu YworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NscHM3MTF4LWZiLmMKQEAgLTE1Myw3ICsxNTMs NyBAQCBzdGF0aWMgaW50IGNscHM3MTF4X2ZiX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2lu Zm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGNscHM3MTF4 X2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNscHM3MTF4X2ZiX29wcyA9 IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3NldGNvbHJlZwk9IGNscHM3MTF4X2Zi X3NldGNvbHJlZywKIAkuZmJfY2hlY2tfdmFyCT0gY2xwczcxMXhfZmJfY2hlY2tfdmFyLApkaWZm IC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9jb2JhbHRfbGNkZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvY29iYWx0X2xjZGZiLmMKaW5kZXggNTQ0OTQ2OTAxZThiLi41ZjhiNjMyNGQyZTgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY29iYWx0X2xjZGZiLmMKKysrIGIvZHJp dmVycy92aWRlby9mYmRldi9jb2JhbHRfbGNkZmIuYwpAQCAtMjY5LDcgKzI2OSw3IEBAIHN0YXRp YyBpbnQgY29iYWx0X2xjZGZiX2N1cnNvcihzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgc3RydWN0IGZi X2N1cnNvciAqY3Vyc29yKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBj b2JhbHRfbGNkX2Zib3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgY29iYWx0X2xj ZF9mYm9wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3JlYWQJPSBjb2JhbHRf bGNkZmJfcmVhZCwKIAkuZmJfd3JpdGUJPSBjb2JhbHRfbGNkZmJfd3JpdGUsCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvbnRyb2xmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9j b250cm9sZmIuYwppbmRleCA5YTY4MGVmM2ZmYzMuLjM4YjYxY2RiNWNhNCAxMDA2NDQKLS0tIGEv ZHJpdmVycy92aWRlby9mYmRldi9jb250cm9sZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2NvbnRyb2xmYi5jCkBAIC0xNTcsNyArMTU3LDcgQEAgc3RhdGljIGludCBkZWZhdWx0X3Ztb2Rl IF9faW5pdGRhdGEgPSBWTU9ERV9OVlJBTTsKIHN0YXRpYyBpbnQgZGVmYXVsdF9jbW9kZSBfX2lu aXRkYXRhID0gQ01PREVfTlZSQU07CiAKIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgY29udHJvbGZi X29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNvbnRyb2xmYl9vcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBjb250cm9sZmJfY2hlY2tf dmFyLAogCS5mYl9zZXRfcGFyCT0gY29udHJvbGZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2N5YmVyMjAwMGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2N5YmVy MjAwMGZiLmMKaW5kZXggM2EyZDlmZjBhYTQyLi40NjA4MjZhN2FkNTUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvY3liZXIyMDAwZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2N5YmVyMjAwMGZiLmMKQEAgLTEwNjAsNyArMTA2MCw3IEBAIHN0YXRpYyBpbnQgY3liZXIyMDAw ZmJfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgY3liZXIyMDAwZmJfb3BzID0geworc3RhdGljIGNvbnN0 IHN0cnVjdCBmYl9vcHMgY3liZXIyMDAwZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVM RSwKIAkuZmJfY2hlY2tfdmFyCT0gY3liZXIyMDAwZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFy CT0gY3liZXIyMDAwZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYv ZGE4eHgtZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZGE4eHgtZmIuYwppbmRleCAyZDNkY2M1 MmZjZjMuLjczYzNjNGM4Y2MxMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9kYTh4 eC1mYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZGE4eHgtZmIuYwpAQCAtMTI5NCw3ICsx Mjk0LDcgQEAgc3RhdGljIGludCBkYTh4eGZiX3NldF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8p CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGRhOHh4X2ZiX29wcyA9IHsK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGRhOHh4X2ZiX29wcyA9IHsKIAkub3duZXIgPSBU SElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyID0gZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFy ID0gZGE4eHhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9kbmZi LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2RuZmIuYwppbmRleCA4ZGE1MTdlYWE0YTMuLjM2ODhm OTE2NTg0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9kbmZiLmMKKysrIGIvZHJp dmVycy92aWRlby9mYmRldi9kbmZiLmMKQEAgLTEwOCw3ICsxMDgsNyBAQAogc3RhdGljIGludCBk bmZiX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2luZm8gKmluZm8pOwogc3RhdGljIHZvaWQg ZG5mYl9jb3B5YXJlYShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IGZiX2NvcHlh cmVhICphcmVhKTsKIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgZG5fZmJfb3BzID0geworc3RhdGlj IGNvbnN0IHN0cnVjdCBmYl9vcHMgZG5fZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVM RSwKIAkuZmJfYmxhbmsJPSBkbmZiX2JsYW5rLAogCS5mYl9maWxscmVjdAk9IGNmYl9maWxscmVj dCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZWZpZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvZWZpZmIuYwppbmRleCA1MWQ5N2VjNGY1OGYuLmYwM2Y5ZmI2MGMyNiAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9lZmlmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvZWZpZmIuYwpAQCAtMjU1LDcgKzI1NSw3IEBAIHN0YXRpYyB2b2lkIGVmaWZiX2Rlc3Ryb3ko c3RydWN0IGZiX2luZm8gKmluZm8pCiAJZmJfZGVhbGxvY19jbWFwKCZpbmZvLT5jbWFwKTsKIH0K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgZWZpZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgZWZpZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfZGVz dHJveQk9IGVmaWZiX2Rlc3Ryb3ksCiAJLmZiX3NldGNvbHJlZwk9IGVmaWZiX3NldGNvbHJlZywK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZXA5M3h4LWZiLmMgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L2VwOTN4eC1mYi5jCmluZGV4IGQwNGEwNDcwOTRmYy4uY2RhMmVmMzM3NDIzIDEw MDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2VwOTN4eC1mYi5jCisrKyBiL2RyaXZlcnMv dmlkZW8vZmJkZXYvZXA5M3h4LWZiLmMKQEAgLTQwMiw3ICs0MDIsNyBAQCBzdGF0aWMgaW50IGVw OTN4eGZiX3NldGNvbHJlZyh1bnNpZ25lZCBpbnQgcmVnbm8sIHVuc2lnbmVkIGludCByZWQsCiAJ cmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGVwOTN4eGZiX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGVwOTN4eGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJ U19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGVwOTN4eGZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0 X3Bhcgk9IGVwOTN4eGZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2ZiLXB1djMuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZmItcHV2My5jCmluZGV4IGZhNjJjNGRm ZjdkMS4uNzVkZjZhYWJhYzIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2ZiLXB1 djMuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2ZiLXB1djMuYwpAQCAtNjQ0LDcgKzY0NCw3 IEBAIGludCB1bmlmYl9tbWFwKHN0cnVjdCBmYl9pbmZvICppbmZvLAogCXJldHVybiB2bV9pb21h cF9tZW1vcnkodm1hLCBpbmZvLT5maXguc21lbV9zdGFydCwgaW5mby0+Zml4LnNtZW1fbGVuKTsK IH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgdW5pZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0 cnVjdCBmYl9vcHMgdW5pZmJfb3BzID0gewogCS5mYl9yZWFkICAgICAgICA9IGZiX3N5c19yZWFk LAogCS5mYl93cml0ZSAgICAgICA9IGZiX3N5c193cml0ZSwKIAkuZmJfY2hlY2tfdmFyCT0gdW5p ZmJfY2hlY2tfdmFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9mZmIuYyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvZmZiLmMKaW5kZXggY2QyZDFkYjIzOWEyLi45NDhiNzMxODQ0MzMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZmZiLmMKKysrIGIvZHJpdmVycy92aWRl by9mYmRldi9mZmIuYwpAQCAtNDQsNyArNDQsNyBAQCBzdGF0aWMgaW50IGZmYl9wYW5fZGlzcGxh eShzdHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8gKiwgc3RydWN0IGZiX2luZm8gKik7CiAgKiAgRnJh bWUgYnVmZmVyIG9wZXJhdGlvbnMKICAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBmZmJfb3Bz ID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgZmZiX29wcyA9IHsKIAkub3duZXIJCQk9 IFRISVNfTU9EVUxFLAogCS5mYl9zZXRjb2xyZWcJCT0gZmZiX3NldGNvbHJlZywKIAkuZmJfYmxh bmsJCT0gZmZiX2JsYW5rLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9mbTJmYi5j IGIvZHJpdmVycy92aWRlby9mYmRldi9mbTJmYi5jCmluZGV4IGFjN2E0ZWJmZDM5MC4uM2I3Mjdk NTI4ZmRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2ZtMmZiLmMKKysrIGIvZHJp dmVycy92aWRlby9mYmRldi9mbTJmYi5jCkBAIC0xNjUsNyArMTY1LDcgQEAgc3RhdGljIGludCBm bTJmYl9zZXRjb2xyZWcodV9pbnQgcmVnbm8sIHVfaW50IHJlZCwgdV9pbnQgZ3JlZW4sIHVfaW50 IGJsdWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1X2ludCB0cmFuc3AsIHN0cnVjdCBm Yl9pbmZvICppbmZvKTsKIHN0YXRpYyBpbnQgZm0yZmJfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbyk7CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGZtMmZiX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGZtMmZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19N T0RVTEUsCiAJLmZiX3NldGNvbHJlZwk9IGZtMmZiX3NldGNvbHJlZywKIAkuZmJfYmxhbmsJPSBm bTJmYl9ibGFuaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZnNsLWRpdS1mYi5j IGIvZHJpdmVycy92aWRlby9mYmRldi9mc2wtZGl1LWZiLmMKaW5kZXggZDE5ZjU4MjYzYjRlLi43 Y2FjYWJkZDVmMTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZnNsLWRpdS1mYi5j CisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZnNsLWRpdS1mYi5jCkBAIC0xNDQ4LDcgKzE0NDgs NyBAQCBzdGF0aWMgaW50IGZzbF9kaXVfcmVsZWFzZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgaW50 IHVzZXIpCiAJcmV0dXJuIHJlczsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgZnNsX2RpdV9v cHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBmc2xfZGl1X29wcyA9IHsKIAkub3du ZXIgPSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyID0gZnNsX2RpdV9jaGVja192YXIsCiAJ LmZiX3NldF9wYXIgPSBmc2xfZGl1X3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L2czNjRmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9nMzY0ZmIuYwppbmRleCAyMjM4 OTZjYzVmN2QuLjg0NWI3OWRhMmE3YyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9n MzY0ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2czNjRmYi5jCkBAIC0xMTEsNyArMTEx LDcgQEAgc3RhdGljIGludCBnMzY0ZmJfc2V0Y29scmVnKHVfaW50IHJlZ25vLCB1X2ludCByZWQs IHVfaW50IGdyZWVuLAogc3RhdGljIGludCBnMzY0ZmJfY3Vyc29yKHN0cnVjdCBmYl9pbmZvICpp bmZvLCBzdHJ1Y3QgZmJfY3Vyc29yICpjdXJzb3IpOwogc3RhdGljIGludCBnMzY0ZmJfYmxhbmso aW50IGJsYW5rLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3Bz IGczNjRmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBnMzY0ZmJfb3BzID0g ewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCT0gZzM2NGZiX3NldGNv bHJlZywKIAkuZmJfcGFuX2Rpc3BsYXkJPSBnMzY0ZmJfcGFuX2Rpc3BsYXksCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2diZWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2diZWZi LmMKaW5kZXggYjlmNmE4MmEwNDk1Li4zMTI3MGE4OTg2ZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvZ2JlZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2diZWZiLmMKQEAg LTEwNDQsNyArMTA0NCw3IEBAIHN0YXRpYyBpbnQgZ2JlZmJfbW1hcChzdHJ1Y3QgZmJfaW5mbyAq aW5mbywKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgZ2JlZmJfb3BzID0g eworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgZ2JlZmJfb3BzID0gewogCS5vd25lcgkJPSBU SElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyCT0gZ2JlZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRf cGFyCT0gZ2JlZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZ2Vv ZGUvZ3gxZmJfY29yZS5jIGIvZHJpdmVycy92aWRlby9mYmRldi9nZW9kZS9neDFmYl9jb3JlLmMK aW5kZXggNzM3ZTQ3MmZhYzE0Li41ZDM0ZDg5ZmI2NjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlk ZW8vZmJkZXYvZ2VvZGUvZ3gxZmJfY29yZS5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZ2Vv ZGUvZ3gxZmJfY29yZS5jCkBAIC0yNTIsNyArMjUyLDcgQEAgc3RhdGljIGludCBwYXJzZV9wYW5l bF9vcHRpb24oc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBz dHJ1Y3QgZmJfb3BzIGd4MWZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGd4 MWZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGd4 MWZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IGd4MWZiX3NldF9wYXIsCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2dlb2RlL2d4ZmJfY29yZS5jIGIvZHJpdmVycy92aWRlby9m YmRldi9nZW9kZS9neGZiX2NvcmUuYwppbmRleCA0MzVjZTJhYTQyNDAuLmQzOGExNDhkNDc0NiAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9nZW9kZS9neGZiX2NvcmUuYworKysgYi9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2dlb2RlL2d4ZmJfY29yZS5jCkBAIC0yNjUsNyArMjY1LDcgQEAg c3RhdGljIGludCBneGZiX21hcF92aWRlb19tZW1vcnkoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0 cnVjdCBwY2lfZGV2ICpkZXYpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3Bz IGd4ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgZ3hmYl9vcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBneGZiX2NoZWNrX3ZhciwK IAkuZmJfc2V0X3Bhcgk9IGd4ZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8v ZmJkZXYvZ2VvZGUvbHhmYl9jb3JlLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2dlb2RlL2x4ZmJf Y29yZS5jCmluZGV4IGIwZjA3ZDY3NmViMy4uYWRjMmQ5YzIzOTVlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2dlb2RlL2x4ZmJfY29yZS5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvZ2VvZGUvbHhmYl9jb3JlLmMKQEAgLTM4Niw3ICszODYsNyBAQCBzdGF0aWMgaW50IGx4ZmJf bWFwX3ZpZGVvX21lbW9yeShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgc3RydWN0IHBjaV9kZXYgKmRl dikKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgbHhmYl9vcHMgPSB7Citz dGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBseGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19N T0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGx4ZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0g bHhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9nb2xkZmlzaGZi LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2dvbGRmaXNoZmIuYwppbmRleCBmNjBhYzI3NjcwM2Qu LjljODNlYzNmOGUxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9nb2xkZmlzaGZi LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9nb2xkZmlzaGZiLmMKQEAgLTE2MCw3ICsxNjAs NyBAQCBzdGF0aWMgaW50IGdvbGRmaXNoX2ZiX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2lu Zm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGdvbGRmaXNo X2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGdvbGRmaXNoX2ZiX29wcyA9 IHsKIAkub3duZXIgICAgICAgICAgPSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyICAgPSBn b2xkZmlzaF9mYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIgICAgID0gZ29sZGZpc2hfZmJfc2V0 X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZ3J2Z2EuYyBiL2RyaXZlcnMv dmlkZW8vZmJkZXYvZ3J2Z2EuYwppbmRleCBkMjJlOGIwYzkwNmQuLjA3ZGRhMDNlMDk1NyAxMDA2 NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9ncnZnYS5jCisrKyBiL2RyaXZlcnMvdmlkZW8v ZmJkZXYvZ3J2Z2EuYwpAQCAtMjUxLDcgKzI1MSw3IEBAIHN0YXRpYyBpbnQgZ3J2Z2FfcGFuX2Rp c3BsYXkoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCiAJcmV0dXJuIDA7CiB9CiAKLXN0 YXRpYyBzdHJ1Y3QgZmJfb3BzIGdydmdhX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJf b3BzIGdydmdhX29wcyA9IHsKIAkub3duZXIgICAgICAgICAgPSBUSElTX01PRFVMRSwKIAkuZmJf Y2hlY2tfdmFyICAgPSBncnZnYV9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBncnZnYV9zZXRf cGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9neHQ0NTAwLmMgYi9kcml2ZXJz L3ZpZGVvL2ZiZGV2L2d4dDQ1MDAuYwppbmRleCBjNzUwMmZkOGY0NDcuLjEzZGVkM2ExMDcwOCAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9neHQ0NTAwLmMKKysrIGIvZHJpdmVycy92 aWRlby9mYmRldi9neHQ0NTAwLmMKQEAgLTU5OSw3ICs1OTksNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGZiX2ZpeF9zY3JlZW5pbmZvIGd4dDQ1MDBfZml4ID0gewogCS5tbWlvX2xlbiA9IDB4MjAw MDAsCiB9OwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBneHQ0NTAwX29wcyA9IHsKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZmJfb3BzIGd4dDQ1MDBfb3BzID0gewogCS5vd25lciA9IFRISVNfTU9EVUxF LAogCS5mYl9jaGVja192YXIgPSBneHQ0NTAwX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3BhciA9IGd4 dDQ1MDBfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaGVjdWJhZmIu YyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaGVjdWJhZmIuYwppbmRleCA4NTc3MTk1Y2I1MzMuLjAw ZDc3MTA1MTYxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9oZWN1YmFmYi5jCisr KyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaGVjdWJhZmIuYwpAQCAtMTk3LDcgKzE5Nyw3IEBAIHN0 YXRpYyBzc2l6ZV90IGhlY3ViYWZiX3dyaXRlKHN0cnVjdCBmYl9pbmZvICppbmZvLCBjb25zdCBj aGFyIF9fdXNlciAqYnVmLAogCXJldHVybiAoZXJyKSA/IGVyciA6IGNvdW50OwogfQogCi1zdGF0 aWMgc3RydWN0IGZiX29wcyBoZWN1YmFmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZi X29wcyBoZWN1YmFmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFk ICAgICAgICA9IGZiX3N5c19yZWFkLAogCS5mYl93cml0ZQk9IGhlY3ViYWZiX3dyaXRlLApkaWZm IC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9oZ2FmYi5jIGIvZHJpdmVycy92aWRlby9mYmRl di9oZ2FmYi5jCmluZGV4IDU5ZTFjYWU1Nzk0OC4uYTQ1ZmNmZjE0NjFmIDEwMDY0NAotLS0gYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2hnYWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9oZ2Fm Yi5jCkBAIC01MjMsNyArNTIzLDcgQEAgc3RhdGljIHZvaWQgaGdhZmJfaW1hZ2VibGl0KHN0cnVj dCBmYl9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgZmJfaW1hZ2UgKmltYWdlKQogCX0KIH0KIAot c3RhdGljIHN0cnVjdCBmYl9vcHMgaGdhZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBm Yl9vcHMgaGdhZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfb3Blbgk9 IGhnYWZiX29wZW4sCiAJLmZiX3JlbGVhc2UJPSBoZ2FmYl9yZWxlYXNlLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy92aWRlby9mYmRldi9oaXRmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9oaXRmYi5j CmluZGV4IGFiZTNlNTRkNDUwNi4uMDA5ZTVkMmFhMTAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L2hpdGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9oaXRmYi5jCkBAIC0z MTEsNyArMzExLDcgQEAgc3RhdGljIGludCBoaXRmYl9zZXRfcGFyKHN0cnVjdCBmYl9pbmZvICpp bmZvKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBoaXRmYl9vcHMgPSB7 CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBoaXRmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRI SVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBoaXRmYl9jaGVja192YXIsCiAJLmZiX3NldF9w YXIJCT0gaGl0ZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaHBm Yi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9ocGZiLmMKaW5kZXggYTc5YWY4ZjA2OWQxLi5mMDJi ZTBkYjMzNWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaHBmYi5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvaHBmYi5jCkBAIC0xODQsNyArMTg0LDcgQEAgc3RhdGljIGludCBo cGZiX3N5bmMoc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBz dHJ1Y3QgZmJfb3BzIGhwZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgaHBm Yl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9zZXRjb2xyZWcJPSBocGZi X3NldGNvbHJlZywKIAkuZmJfYmxhbmsJPSBocGZiX2JsYW5rLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy92aWRlby9mYmRldi9oeXBlcnZfZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaHlwZXJ2X2Zi LmMKaW5kZXggMmRjYjdjNThiMzFlLi5mY2Q1NDZlNWMwMzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvaHlwZXJ2X2ZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9oeXBlcnZf ZmIuYwpAQCAtNjIzLDcgKzYyMyw3IEBAIHN0YXRpYyB2b2lkIGh2ZmJfY2ZiX2ltYWdlYmxpdChz dHJ1Y3QgZmJfaW5mbyAqcCwKIAkJc3ludGh2aWRfdXBkYXRlKHApOwogfQogCi1zdGF0aWMgc3Ry dWN0IGZiX29wcyBodmZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGh2ZmJf b3BzID0gewogCS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIgPSBodmZiX2No ZWNrX3ZhciwKIAkuZmJfc2V0X3BhciA9IGh2ZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvaTc0MGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2k3NDBmYi5jCmlu ZGV4IDM0N2NmOGJhYmMzZS4uYzY1ZWM3Mzg2ZTg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L2k3NDBmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaTc0MGZiLmMKQEAgLTk4 MSw3ICs5ODEsNyBAQCBzdGF0aWMgaW50IGk3NDBmYl9ibGFuayhpbnQgYmxhbmtfbW9kZSwgc3Ry dWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIChibGFua19tb2RlID09IEZCX0JMQU5LX05PUk1B TCkgPyAxIDogMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgaTc0MGZiX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGk3NDBmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNf TU9EVUxFLAogCS5mYl9vcGVuCT0gaTc0MGZiX29wZW4sCiAJLmZiX3JlbGVhc2UJPSBpNzQwZmJf cmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaW1zdHRmYi5jIGIvZHJp dmVycy92aWRlby9mYmRldi9pbXN0dGZiLmMKaW5kZXggNThiMDFjN2Q5MDU2Li4zYWMwNTNiODg0 OTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaW1zdHRmYi5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvaW1zdHRmYi5jCkBAIC0xMzMzLDcgKzEzMzMsNyBAQCBzdGF0aWMgc3Ry dWN0IHBjaV9kcml2ZXIgaW1zdHRmYl9wY2lfZHJpdmVyID0gewogCS5yZW1vdmUgPQlpbXN0dGZi X3JlbW92ZSwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGltc3R0ZmJfb3BzID0geworc3Rh dGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgaW1zdHRmYl9vcHMgPSB7CiAJLm93bmVyIAkJPSBUSElT X01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyCT0gaW1zdHRmYl9jaGVja192YXIsCiAJLmZiX3NldF9w YXIgCT0gaW1zdHRmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9p bXhmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9pbXhmYi5jCmluZGV4IGIzMjg2ZDFmYTU0My4u MDhhMTdlYjJhNWM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2lteGZiLmMKKysr IGIvZHJpdmVycy92aWRlby9mYmRldi9pbXhmYi5jCkBAIC01NjYsNyArNTY2LDcgQEAgc3RhdGlj IGludCBpbXhmYl9ibGFuayhpbnQgYmxhbmssIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCXJldHVy biAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBpbXhmYl9vcHMgPSB7CitzdGF0aWMgY29u c3Qgc3RydWN0IGZiX29wcyBpbXhmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAog CS5mYl9jaGVja192YXIJPSBpbXhmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBpbXhmYl9z ZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9pbnRlbGZiL2ludGVsZmJk cnYuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaW50ZWxmYi9pbnRlbGZiZHJ2LmMKaW5kZXggYTc2 YzYxNTEyYzYwLi5jNzQ0ODkxNzgxYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYv aW50ZWxmYi9pbnRlbGZiZHJ2LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9pbnRlbGZiL2lu dGVsZmJkcnYuYwpAQCAtMTkzLDcgKzE5Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2Rl dmljZV9pZCBpbnRlbGZiX3BjaV90YWJsZVtdID0gewogc3RhdGljIGludCBudW1fcmVnaXN0ZXJl ZCA9IDA7CiAKIC8qIGZiIG9wcyAqLwotc3RhdGljIHN0cnVjdCBmYl9vcHMgaW50ZWxfZmJfb3Bz ID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgaW50ZWxfZmJfb3BzID0gewogCS5vd25l ciA9CQlUSElTX01PRFVMRSwKIAkuZmJfb3BlbiA9ICAgICAgICAgICAgICBpbnRlbGZiX29wZW4s CiAJLmZiX3JlbGVhc2UgPSAgICAgICAgICAgaW50ZWxmYl9yZWxlYXNlLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy92aWRlby9mYmRldi9reXJvL2ZiZGV2LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2t5 cm8vZmJkZXYuYwppbmRleCBhN2JkOWYyNTkxMWIuLjcyZGZmMmU0MmUzYSAxMDA2NDQKLS0tIGEv ZHJpdmVycy92aWRlby9mYmRldi9reXJvL2ZiZGV2LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRl di9reXJvL2ZiZGV2LmMKQEAgLTY0OCw3ICs2NDgsNyBAQCBzdGF0aWMgc3RydWN0IHBjaV9kcml2 ZXIga3lyb2ZiX3BjaV9kcml2ZXIgPSB7CiAJLnJlbW92ZQkJPSBreXJvZmJfcmVtb3ZlLAogfTsK IAotc3RhdGljIHN0cnVjdCBmYl9vcHMga3lyb2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgZmJfb3BzIGt5cm9mYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9j aGVja192YXIJPSBreXJvZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0ga3lyb2ZiX3NldF9w YXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2xlby5jIGIvZHJpdmVycy92aWRl by9mYmRldi9sZW8uYwppbmRleCA1YjExNDFhYzE4MmIuLjQwYjExY2NlMGFkNiAxMDA2NDQKLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9sZW8uYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2xl by5jCkBAIC0zOSw3ICszOSw3IEBAIHN0YXRpYyBpbnQgbGVvX3Bhbl9kaXNwbGF5KHN0cnVjdCBm Yl92YXJfc2NyZWVuaW5mbyAqLCBzdHJ1Y3QgZmJfaW5mbyAqKTsKICAqICBGcmFtZSBidWZmZXIg b3BlcmF0aW9ucwogICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGxlb19vcHMgPSB7CitzdGF0 aWMgY29uc3Qgc3RydWN0IGZiX29wcyBsZW9fb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RV TEUsCiAJLmZiX3NldGNvbHJlZwkJPSBsZW9fc2V0Y29scmVnLAogCS5mYl9ibGFuawkJPSBsZW9f YmxhbmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21hY2ZiLmMgYi9kcml2ZXJz L3ZpZGVvL2ZiZGV2L21hY2ZiLmMKaW5kZXggOWE2ZmVlZTk2MTMzLi5lMDVhOTc2NjJjYTggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWFjZmIuYworKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L21hY2ZiLmMKQEAgLTQ5Niw3ICs0OTYsNyBAQCBzdGF0aWMgaW50IG1hY2ZiX3NldGNv bHJlZyh1bnNpZ25lZCByZWdubywgdW5zaWduZWQgcmVkLCB1bnNpZ25lZCBncmVlbiwKIAlyZXR1 cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgbWFjZmJfb3BzID0geworc3RhdGljIGNv bnN0IHN0cnVjdCBmYl9vcHMgbWFjZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwK IAkuZmJfc2V0Y29scmVnCT0gbWFjZmJfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAk9IGNmYl9m aWxscmVjdCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWF0cm94L21hdHJveGZi X2NydGMyLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21hdHJveC9tYXRyb3hmYl9jcnRjMi5jCmlu ZGV4IGQyYTgxYTJjM2FjMC4uNzY1NWFmYTNmZDUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L21hdHJveC9tYXRyb3hmYl9jcnRjMi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv bWF0cm94L21hdHJveGZiX2NydGMyLmMKQEAgLTU2Myw3ICs1NjMsNyBAQCBzdGF0aWMgaW50IG1h dHJveGZiX2RoX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2luZm8qIGluZm8pIHsKICN1bmRl ZiBtMmluZm8KIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgbWF0cm94ZmJfZGhfb3BzID0gewor c3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgbWF0cm94ZmJfZGhfb3BzID0gewogCS5vd25lciA9 CVRISVNfTU9EVUxFLAogCS5mYl9vcGVuID0JbWF0cm94ZmJfZGhfb3BlbiwKIAkuZmJfcmVsZWFz ZSA9CW1hdHJveGZiX2RoX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L21heGluZWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21heGluZWZiLmMKaW5kZXggNWJiMWI1 YzMwOGE3Li5hZTFhNDJiY2IwZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWF4 aW5lZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21heGluZWZiLmMKQEAgLTEwNSw3ICsx MDUsNyBAQCBzdGF0aWMgaW50IG1heGluZWZiX3NldGNvbHJlZyh1bnNpZ25lZCByZWdubywgdW5z aWduZWQgcmVkLCB1bnNpZ25lZCBncmVlbiwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgbWF4aW5lZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgbWF4 aW5lZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCT0g bWF4aW5lZmJfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAk9IGNmYl9maWxscmVjdCwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWI4NjJ4eC9tYjg2Mnh4ZmJkcnYuYyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvbWI4NjJ4eC9tYjg2Mnh4ZmJkcnYuYwppbmRleCA5NjJjMDE3MWQyNzEu LjI5OGUxMGZlMDQwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9tYjg2Mnh4L21i ODYyeHhmYmRydi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWI4NjJ4eC9tYjg2Mnh4ZmJk cnYuYwpAQCAtNDAxLDcgKzQwMSw3IEBAIHN0YXRpYyBpbnQgbWI4NjJ4eGZiX2lvY3RsKHN0cnVj dCBmYl9pbmZvICpmYmksIHVuc2lnbmVkIGludCBjbWQsCiB9CiAKIC8qIGZyYW1lYnVmZmVyIG9w cyAqLwotc3RhdGljIHN0cnVjdCBmYl9vcHMgbWI4NjJ4eGZiX29wcyA9IHsKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgZmJfb3BzIG1iODYyeHhmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxF LAogCS5mYl9jaGVja192YXIJPSBtYjg2Mnh4ZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0g bWI4NjJ4eGZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21ieC9t YnhmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9tYngvbWJ4ZmIuYwppbmRleCA1MDkzNTI1MmI1 MGIuLjI1ZGFkNDUwN2Q3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9tYngvbWJ4 ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21ieC9tYnhmYi5jCkBAIC02NzEsNyArNjcx LDcgQEAgc3RhdGljIGludCBtYnhmYl9pb2N0bChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgdW5zaWdu ZWQgaW50IGNtZCwKIAlyZXR1cm4gLUVJTlZBTDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMg bWJ4ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgbWJ4ZmJfb3BzID0gewog CS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIgPSBtYnhmYl9jaGVja192YXIs CiAJLmZiX3NldF9wYXIgPSBtYnhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRl by9mYmRldi9tZXRyb25vbWVmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9tZXRyb25vbWVmYi5j CmluZGV4IGJiNGZlZTUyZTUwMS4uYTQyZTJlY2VlZTQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L21ldHJvbm9tZWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9tZXRyb25v bWVmYi5jCkBAIC01NTgsNyArNTU4LDcgQEAgc3RhdGljIHNzaXplX3QgbWV0cm9ub21lZmJfd3Jp dGUoc3RydWN0IGZiX2luZm8gKmluZm8sIGNvbnN0IGNoYXIgX191c2VyICpidWYsCiAJcmV0dXJu IChlcnIpID8gZXJyIDogY291bnQ7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIG1ldHJvbm9t ZWZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIG1ldHJvbm9tZWZiX29wcyA9 IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3dyaXRlCT0gbWV0cm9ub21lZmJfd3Jp dGUsCiAJLmZiX2ZpbGxyZWN0CT0gbWV0cm9ub21lZmJfZmlsbHJlY3QsCmRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L21tcC9mYi9tbXBmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9t bXAvZmIvbW1wZmIuYwppbmRleCA0N2JjN2M1OWJiZDguLjMzZGIwODUwMDg2ZiAxMDA2NDQKLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9tbXAvZmIvbW1wZmIuYworKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L21tcC9mYi9tbXBmYi5jCkBAIC00NTQsNyArNDU0LDcgQEAgc3RhdGljIGludCBtbXBm Yl9ibGFuayhpbnQgYmxhbmssIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCXJldHVybiAwOwogfQog Ci1zdGF0aWMgc3RydWN0IGZiX29wcyBtbXBmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0 IGZiX29wcyBtbXBmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9ibGFu awk9IG1tcGZiX2JsYW5rLAogCS5mYl9jaGVja192YXIJPSBtbXBmYl9jaGVja192YXIsCmRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L214M2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L214M2ZiLmMKaW5kZXggYmFmZDVmNWZhYzVhLi40YWYyOGU0NDIxZTUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvbXgzZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L214M2Zi LmMKQEAgLTEyNDksNyArMTI0OSw3IEBAIHN0YXRpYyBpbnQgbXgzZmJfcGFuX2Rpc3BsYXkoc3Ry dWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCiAgKiBpbnZva2VkIGJ5IHRoZSBjb3JlIGZyYW1l YnVmZmVyIGRyaXZlciB0byBwZXJmb3JtIG9wZXJhdGlvbnMgbGlrZQogICogYmxpdHRpbmcsIHJl Y3RhbmdsZSBmaWxsaW5nLCBjb3B5IHJlZ2lvbnMgYW5kIGN1cnNvciBkZWZpbml0aW9uLgogICov Ci1zdGF0aWMgc3RydWN0IGZiX29wcyBteDNmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0 IGZiX29wcyBteDNmYl9vcHMgPSB7CiAJLm93bmVyID0gVEhJU19NT0RVTEUsCiAJLmZiX3NldF9w YXIgPSBteDNmYl9zZXRfcGFyLAogCS5mYl9jaGVja192YXIgPSBteDNmYl9jaGVja192YXIsCkBA IC0xMzg5LDcgKzEzODksOCBAQCBzdGF0aWMgaW50IG14M2ZiX3VubWFwX3ZpZGVvX21lbW9yeShz dHJ1Y3QgZmJfaW5mbyAqZmJpKQogICogbXgzZmJfaW5pdF9mYmluZm8oKSAtIGluaXRpYWxpemUg ZnJhbWVidWZmZXIgaW5mb3JtYXRpb24gb2JqZWN0LgogICogQHJldHVybjoJaW5pdGlhbGl6ZWQg ZnJhbWVidWZmZXIgc3RydWN0dXJlLgogICovCi1zdGF0aWMgc3RydWN0IGZiX2luZm8gKm14M2Zi X2luaXRfZmJpbmZvKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGZiX29wcyAqb3BzKQorc3Rh dGljIHN0cnVjdCBmYl9pbmZvICpteDNmYl9pbml0X2ZiaW5mbyhzdHJ1Y3QgZGV2aWNlICpkZXYs CisJCQkJCSBjb25zdCBzdHJ1Y3QgZmJfb3BzICpvcHMpCiB7CiAJc3RydWN0IGZiX2luZm8gKmZi aTsKIAlzdHJ1Y3QgbXgzZmJfaW5mbyAqbXgzZmJpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRl by9mYmRldi9uZW9mYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9uZW9mYi5jCmluZGV4IGI3NzA5 NDZhMDkyMC4uZTZlYTg1M2MxNzIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L25l b2ZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9uZW9mYi5jCkBAIC0xNjEwLDcgKzE2MTAs NyBAQCBuZW9mYl9jdXJzb3Ioc3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCBmYl9jdXJzb3Ig KmN1cnNvcikKIH0KICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIG5lb2ZiX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIG5lb2ZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19N T0RVTEUsCiAJLmZiX29wZW4JPSBuZW9mYl9vcGVuLAogCS5mYl9yZWxlYXNlCT0gbmVvZmJfcmVs ZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbnZpZGlhL252aWRpYS5jIGIv ZHJpdmVycy92aWRlby9mYmRldi9udmlkaWEvbnZpZGlhLmMKaW5kZXggZmJlZWVkNWFmZTM1Li44 YTI1MjdiMGZkMjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbnZpZGlhL252aWRp YS5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvbnZpZGlhL252aWRpYS5jCkBAIC0xMDI0LDcg KzEwMjQsNyBAQCBzdGF0aWMgaW50IG52aWRpYWZiX3JlbGVhc2Uoc3RydWN0IGZiX2luZm8gKmlu Zm8sIGludCB1c2VyKQogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIG52 aWRpYV9mYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBudmlkaWFfZmJfb3Bz ID0gewogCS5vd25lciAgICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuICAgICAgICA9 IG52aWRpYWZiX29wZW4sCiAJLmZiX3JlbGVhc2UgICAgID0gbnZpZGlhZmJfcmVsZWFzZSwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvb2NmYi5jIGIvZHJpdmVycy92aWRlby9mYmRl di9vY2ZiLmMKaW5kZXggYTk3MGVkYzJhNmY4Li5jOGNlZTJkODkwZGMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvb2NmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvb2NmYi5j CkBAIC0yODUsNyArMjg1LDcgQEAgc3RhdGljIGludCBvY2ZiX2luaXRfdmFyKHN0cnVjdCBvY2Zi X2RldiAqZmJkZXYpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIG9jZmJf b3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgb2NmYl9vcHMgPSB7CiAJLm93bmVy CQk9IFRISVNfTU9EVUxFLAogCS5mYl9zZXRjb2xyZWcJPSBvY2ZiX3NldGNvbHJlZywKIAkuZmJf ZmlsbHJlY3QJPSBjZmJfZmlsbHJlY3QsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L29mZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvb2ZmYi5jCmluZGV4IGZiYzZlYWZiNjNjNy4u NWNkMGY1ZjZhNGFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L29mZmIuYworKysg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L29mZmIuYwpAQCAtMjg2LDcgKzI4Niw3IEBAIHN0YXRpYyB2 b2lkIG9mZmJfZGVzdHJveShzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlmcmFtZWJ1ZmZlcl9yZWxl YXNlKGluZm8pOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBvZmZiX29wcyA9IHsKK3N0YXRp YyBjb25zdCBzdHJ1Y3QgZmJfb3BzIG9mZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVM RSwKIAkuZmJfZGVzdHJveQk9IG9mZmJfZGVzdHJveSwKIAkuZmJfc2V0Y29scmVnCT0gb2ZmYl9z ZXRjb2xyZWcsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L29tYXAyL29tYXBmYi9v bWFwZmItbWFpbi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvb21hcGZiLW1h aW4uYwppbmRleCA4NThjMmMwMTFkMTkuLjhkZmE5MTU4YmE3OCAxMDA2NDQKLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvb21hcGZiLW1haW4uYworKysgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L29tYXAyL29tYXBmYi9vbWFwZmItbWFpbi5jCkBAIC0xMjgwLDcgKzEyODAsNyBA QCBzc2l6ZV90IG9tYXBmYl93cml0ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3QgY2hhciBf X3VzZXIgKmJ1ZiwKIH0KICNlbmRpZgogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBvbWFwZmJfb3Bz ID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgb21hcGZiX29wcyA9IHsKIAkub3duZXIg ICAgICAgICAgPSBUSElTX01PRFVMRSwKIAkuZmJfb3BlbiAgICAgICAgPSBvbWFwZmJfb3BlbiwK IAkuZmJfcmVsZWFzZSAgICAgPSBvbWFwZmJfcmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvcDkxMDAuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcDkxMDAuYwppbmRleCA4 YzE4Y2M1MWFhZTIuLjZkYTY3MmU5MjY0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRl di9wOTEwMC5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcDkxMDAuYwpAQCAtMzcsNyArMzcs NyBAQCBzdGF0aWMgaW50IHA5MTAwX2lvY3RsKHN0cnVjdCBmYl9pbmZvICosIHVuc2lnbmVkIGlu dCwgdW5zaWduZWQgbG9uZyk7CiAgKiAgRnJhbWUgYnVmZmVyIG9wZXJhdGlvbnMKICAqLwogCi1z dGF0aWMgc3RydWN0IGZiX29wcyBwOTEwMF9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZi X29wcyBwOTEwMF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29s cmVnCQk9IHA5MTAwX3NldGNvbHJlZywKIAkuZmJfYmxhbmsJCT0gcDkxMDBfYmxhbmssCmRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BsYXRpbnVtZmIuYyBiL2RyaXZlcnMvdmlkZW8v ZmJkZXYvcGxhdGludW1mYi5jCmluZGV4IDYzMmIyNDZjYTM1Zi4uY2U0MTNhOWRmMDZlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BsYXRpbnVtZmIuYworKysgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3BsYXRpbnVtZmIuYwpAQCAtOTYsNyArOTYsNyBAQCBzdGF0aWMgaW50IHBsYXRp bnVtX3Zhcl90b19wYXIoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCiAgKiBJbnRlcmZh Y2UgdXNlZCBieSB0aGUgd29ybGQKICAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBwbGF0aW51 bWZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHBsYXRpbnVtZmJfb3BzID0g ewogCS5vd25lciA9CVRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBwbGF0aW51bWZiX2No ZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IHBsYXRpbnVtZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBh L2RyaXZlcnMvdmlkZW8vZmJkZXYvcG0yZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcG0yZmIu YwppbmRleCAxZGNmMDJlMTJhZjQuLjhmOTMzYmFkNDYxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy92 aWRlby9mYmRldi9wbTJmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcG0yZmIuYwpAQCAt MTQ4Myw3ICsxNDgzLDcgQEAgc3RhdGljIGludCBwbTJmYl9jdXJzb3Ioc3RydWN0IGZiX2luZm8g KmluZm8sIHN0cnVjdCBmYl9jdXJzb3IgKmN1cnNvcikKICAqICBGcmFtZSBidWZmZXIgb3BlcmF0 aW9ucwogICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHBtMmZiX29wcyA9IHsKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZmJfb3BzIHBtMmZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUs CiAJLmZiX2NoZWNrX3Zhcgk9IHBtMmZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IHBtMmZi X3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtM2ZiLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3BtM2ZiLmMKaW5kZXggNjEzMGFhNTZhMWU5Li4xNWEyYjQ5NTIzNWIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcG0zZmIuYworKysgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3BtM2ZiLmMKQEAgLTEyMDAsNyArMTIwMCw3IEBAIHN0YXRpYyBpbnQgcG0zZmJf YmxhbmsoaW50IGJsYW5rX21vZGUsIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCSAqICBGcmFtZSBi dWZmZXIgb3BlcmF0aW9ucwogCSAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBwbTNmYl9vcHMg PSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBwbTNmYl9vcHMgPSB7CiAJLm93bmVyCQk9 IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBwbTNmYl9jaGVja192YXIsCiAJLmZiX3Nl dF9wYXIJPSBwbTNmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9w bWFnLWFhLWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtYWctYWEtZmIuYwppbmRleCBkMWU3 OGNlM2E5YzIuLjdiMzNiNTJiMjUyNiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9w bWFnLWFhLWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9wbWFnLWFhLWZiLmMKQEAgLTE0 Nyw3ICsxNDcsNyBAQCBzdGF0aWMgaW50IGFhZmJfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3QgZmJf aW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgYWFmYl9v cHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhYWZiX29wcyA9IHsKIAkub3duZXIJ CT0gVEhJU19NT0RVTEUsCiAJLmZiX2JsYW5rCT0gYWFmYl9ibGFuaywKIAkuZmJfZmlsbHJlY3QJ PSBjZmJfZmlsbHJlY3QsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtYWctYmEt ZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcG1hZy1iYS1mYi5jCmluZGV4IDU2YjkxMmJiMjhk ZS4uYTYwZTU2ZDg5ODBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtYWctYmEt ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtYWctYmEtZmIuYwpAQCAtMTE3LDcgKzEx Nyw3IEBAIHN0YXRpYyBpbnQgcG1hZ2JhZmJfc2V0Y29scmVnKHVuc2lnbmVkIGludCByZWdubywg dW5zaWduZWQgaW50IHJlZCwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMg cG1hZ2JhZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgcG1hZ2JhZmJfb3Bz ID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCT0gcG1hZ2JhZmJf c2V0Y29scmVnLAogCS5mYl9maWxscmVjdAk9IGNmYl9maWxscmVjdCwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvcG1hZ2ItYi1mYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9wbWFn Yi1iLWZiLmMKaW5kZXggMjgyMmIyMjI1OTI0Li5mMDIwODBmMjEwNzcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvcG1hZ2ItYi1mYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv cG1hZ2ItYi1mYi5jCkBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIGludCBwbWFnYmJmYl9zZXRj b2xyZWcodW5zaWduZWQgaW50IHJlZ25vLCB1bnNpZ25lZCBpbnQgcmVkLAogCXJldHVybiAwOwog fQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBwbWFnYmJmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qg c3RydWN0IGZiX29wcyBwbWFnYmJmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAog CS5mYl9zZXRjb2xyZWcJPSBwbWFnYmJmYl9zZXRjb2xyZWcsCiAJLmZiX2ZpbGxyZWN0CT0gY2Zi X2ZpbGxyZWN0LApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9wczNmYi5jIGIvZHJp dmVycy92aWRlby9mYmRldi9wczNmYi5jCmluZGV4IDVlZDJkYjM5ZDgyMy4uODM0ZjYzZWRmNzAw IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BzM2ZiLmMKKysrIGIvZHJpdmVycy92 aWRlby9mYmRldi9wczNmYi5jCkBAIC05MzQsNyArOTM0LDcgQEAgc3RhdGljIGlycXJldHVybl90 IHBzM2ZiX3ZzeW5jX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpwdHIpCiB9CiAKIAotc3RhdGlj IHN0cnVjdCBmYl9vcHMgcHMzZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMg cHMzZmJfb3BzID0gewogCS5mYl9vcGVuCT0gcHMzZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQk9IHBz M2ZiX3JlbGVhc2UsCiAJLmZiX3JlYWQgICAgICAgID0gZmJfc3lzX3JlYWQsCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3B2cjJmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9wdnIy ZmIuYwppbmRleCAwYTNiMmI3Yzc4OTEuLmZjYjE2ZWFiYmIwZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi9wdnIyZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3B2cjJmYi5j CkBAIC03MDcsNyArNzA3LDcgQEAgc3RhdGljIHNzaXplX3QgcHZyMmZiX3dyaXRlKHN0cnVjdCBm Yl9pbmZvICppbmZvLCBjb25zdCBjaGFyICpidWYsCiB9CiAjZW5kaWYgLyogQ09ORklHX1BWUjJf RE1BICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHB2cjJmYl9vcHMgPSB7CitzdGF0aWMgY29u c3Qgc3RydWN0IGZiX29wcyBwdnIyZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwK IAkuZmJfc2V0Y29scmVnCT0gcHZyMmZiX3NldGNvbHJlZywKIAkuZmJfYmxhbmsJPSBwdnIyZmJf YmxhbmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3B4YTE2OGZiLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3B4YTE2OGZiLmMKaW5kZXggMTQxMGY0NzZlMTM1Li5jNjcyYzMzNTRh MmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcHhhMTY4ZmIuYworKysgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3B4YTE2OGZiLmMKQEAgLTU0NSw3ICs1NDUsNyBAQCBzdGF0aWMgaXJx cmV0dXJuX3QgcHhhMTY4ZmJfaGFuZGxlX2lycShpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiAJcmV0 dXJuIElSUV9OT05FOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBweGExNjhmYl9vcHMgPSB7 CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBweGExNjhmYl9vcHMgPSB7CiAJLm93bmVyCQk9 IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBweGExNjhmYl9jaGVja192YXIsCiAJLmZi X3NldF9wYXIJPSBweGExNjhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9m YmRldi9weGFmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9weGFmYi5jCmluZGV4IGY3MGM5Zjc5 NjIyZS4uNmY3ZTlmYjYzMTkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3B4YWZi LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9weGFmYi5jCkBAIC01OTcsNyArNTk3LDcgQEAg c3RhdGljIGludCBweGFmYl9ibGFuayhpbnQgYmxhbmssIHN0cnVjdCBmYl9pbmZvICppbmZvKQog CXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBweGFmYl9vcHMgPSB7CitzdGF0 aWMgY29uc3Qgc3RydWN0IGZiX29wcyBweGFmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9E VUxFLAogCS5mYl9jaGVja192YXIJPSBweGFmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBw eGFmYl9zZXRfcGFyLApAQCAtODY1LDcgKzg2NSw3IEBAIHN0YXRpYyBpbnQgb3ZlcmxheWZiX3Nl dF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1 Y3QgZmJfb3BzIG92ZXJsYXlfZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMg b3ZlcmxheV9mYl9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfb3BlbgkJ PSBvdmVybGF5ZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQkJPSBvdmVybGF5ZmJfcmVsZWFzZSwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcTQwZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvcTQwZmIuYwppbmRleCAwYjkzYWE5NjRkNDMuLjc5ZmYxNGEzNWM4NSAxMDA2NDQKLS0tIGEv ZHJpdmVycy92aWRlby9mYmRldi9xNDBmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcTQw ZmIuYwpAQCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgaW50IHE0MGZiX3NldGNvbHJlZyh1bnNpZ25l ZCByZWdubywgdW5zaWduZWQgcmVkLCB1bnNpZ25lZCBncmVlbiwKICAgICByZXR1cm4gMDsKIH0K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgcTQwZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgcTQwZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0 Y29scmVnCT0gcTQwZmJfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAk9IGNmYl9maWxscmVjdCwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcml2YS9mYmRldi5jIGIvZHJpdmVycy92 aWRlby9mYmRldi9yaXZhL2ZiZGV2LmMKaW5kZXggY2E1OTNhM2U0MWQ3Li43NjRlYzMyODVlNjIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcml2YS9mYmRldi5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvcml2YS9mYmRldi5jCkBAIC0xNjczLDcgKzE2NzMsNyBAQCBzdGF0aWMg aW50IHJpdmFmYl9zeW5jKHN0cnVjdCBmYl9pbmZvICppbmZvKQogICogLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSAqLwogCiAvKiBrZXJuZWwgaW50ZXJmYWNlICovCi1zdGF0aWMgc3RydWN0IGZiX29wcyByaXZh X2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHJpdmFfZmJfb3BzID0gewog CS5vd25lciAJCT0gVEhJU19NT0RVTEUsCiAJLmZiX29wZW4JPSByaXZhZmJfb3BlbiwKIAkuZmJf cmVsZWFzZQk9IHJpdmFmYl9yZWxlYXNlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRl di9zM2MtZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvczNjLWZiLmMKaW5kZXggYmEwNGQ3YTY3 ODI5Li5mNDg3MWM0MzBmOGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvczNjLWZi LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9zM2MtZmIuYwpAQCAtMTAzNSw3ICsxMDM1LDcg QEAgc3RhdGljIGludCBzM2NfZmJfaW9jdGwoc3RydWN0IGZiX2luZm8gKmluZm8sIHVuc2lnbmVk IGludCBjbWQsCiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgczNjX2Zi X29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHMzY19mYl9vcHMgPSB7CiAJLm93 bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBzM2NfZmJfY2hlY2tfdmFyLAog CS5mYl9zZXRfcGFyCT0gczNjX2ZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3MzYzI0MTBmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9zM2MyNDEwZmIuYwppbmRl eCBhNzAyZGE4OTkxMGIuLjJmYjE1YTU0MDE2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9m YmRldi9zM2MyNDEwZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3MzYzI0MTBmYi5jCkBA IC02MTgsNyArNjE4LDcgQEAgc3RhdGljIGludCBzM2MyNDEwZmJfZGVidWdfc3RvcmUoc3RydWN0 IGRldmljZSAqZGV2LAogCiBzdGF0aWMgREVWSUNFX0FUVFIoZGVidWcsIDA2NjQsIHMzYzI0MTBm Yl9kZWJ1Z19zaG93LCBzM2MyNDEwZmJfZGVidWdfc3RvcmUpOwogCi1zdGF0aWMgc3RydWN0IGZi X29wcyBzM2MyNDEwZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgczNjMjQx MGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IHMz YzI0MTBmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBzM2MyNDEwZmJfc2V0X3BhciwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvczNmYi5jIGIvZHJpdmVycy92aWRlby9mYmRl di9zM2ZiLmMKaW5kZXggYmUxNmMzNDljMTBmLi42MGM0MjRmYWU5ODggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvczNmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvczNmYi5j CkBAIC0xMDM3LDcgKzEwMzcsNyBAQCBzdGF0aWMgaW50IHMzZmJfcGFuX2Rpc3BsYXkoc3RydWN0 IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCiAvKiBGcmFt ZSBidWZmZXIgb3BlcmF0aW9ucyAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBzM2ZiX29wcyA9 IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHMzZmJfb3BzID0gewogCS5vd25lcgkJPSBU SElTX01PRFVMRSwKIAkuZmJfb3Blbgk9IHMzZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQk9IHMzZmJf cmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2ExMTAwZmIuYyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvc2ExMTAwZmIuYwppbmRleCA4MWFkM2FhMWNhMDYuLjQ2ODBjYzNl ZmI4MSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9zYTExMDBmYi5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvc2ExMTAwZmIuYwpAQCAtNTc0LDcgKzU3NCw3IEBAIHN0YXRpYyBp bnQgc2ExMTAwZmJfbW1hcChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywKIAlyZXR1cm4gdm1faW9tYXBf bWVtb3J5KHZtYSwgaW5mby0+Zml4Lm1taW9fc3RhcnQsIGluZm8tPmZpeC5tbWlvX2xlbik7CiB9 CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHNhMTEwMGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZmJfb3BzIHNhMTEwMGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJ LmZiX2NoZWNrX3Zhcgk9IHNhMTEwMGZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IHNhMTEw MGZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NhdmFnZS9zYXZh Z2VmYl9kcml2ZXIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2F2YWdlL3NhdmFnZWZiX2RyaXZl ci5jCmluZGV4IDUxMjc4OWY1Zjg4NC4uYWFiMzEyYTdkOWRhIDEwMDY0NAotLS0gYS9kcml2ZXJz L3ZpZGVvL2ZiZGV2L3NhdmFnZS9zYXZhZ2VmYl9kcml2ZXIuYworKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3NhdmFnZS9zYXZhZ2VmYl9kcml2ZXIuYwpAQCAtMTYzNyw3ICsxNjM3LDcgQEAgc3Rh dGljIGludCBzYXZhZ2VmYl9yZWxlYXNlKHN0cnVjdCBmYl9pbmZvICppbmZvLCBpbnQgdXNlcikK IAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgc2F2YWdlZmJfb3BzID0gewor c3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgc2F2YWdlZmJfb3BzID0gewogCS5vd25lciAgICAg ICAgICA9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuICAgICAgICA9IHNhdmFnZWZiX29wZW4sCiAJ LmZiX3JlbGVhc2UgICAgID0gc2F2YWdlZmJfcmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvc2g3NzYwZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2g3NzYwZmIuYwpp bmRleCBhYjhmZTgzOGM3NzYuLmI4ZWM4ZDliYjRjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRl by9mYmRldi9zaDc3NjBmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2g3NzYwZmIuYwpA QCAtMzQxLDcgKzM0MSw3IEBAIHN0YXRpYyBpbnQgc2g3NzYwZmJfc2V0X3BhcihzdHJ1Y3QgZmJf aW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgc2g3NzYw ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgc2g3NzYwZmJfb3BzID0gewog CS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5mYl9ibGFuayA9IHNoNzc2MGZiX2JsYW5rLAogCS5m Yl9jaGVja192YXIgPSBzaDc3NjBmYl9jaGVja192YXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3NoX21vYmlsZV9sY2RjZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2hfbW9i aWxlX2xjZGNmYi5jCmluZGV4IGMyNDk3NjNkYmYwYi4uMjVmMTE5ZWZlYmMwIDEwMDY0NAotLS0g YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NoX21vYmlsZV9sY2RjZmIuYworKysgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3NoX21vYmlsZV9sY2RjZmIuYwpAQCAtMTQ5MCw3ICsxNDkwLDcgQEAgc2hfbW9i aWxlX2xjZGNfb3ZlcmxheV9tbWFwKHN0cnVjdCBmYl9pbmZvICppbmZvLCBzdHJ1Y3Qgdm1fYXJl YV9zdHJ1Y3QgKnZtYSkKIAkJCQkgb3ZsLT5kbWFfaGFuZGxlLCBvdmwtPmZiX3NpemUpOwogfQog Ci1zdGF0aWMgc3RydWN0IGZiX29wcyBzaF9tb2JpbGVfbGNkY19vdmVybGF5X29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHNoX21vYmlsZV9sY2RjX292ZXJsYXlfb3BzID0gewog CS5vd25lciAgICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFkICAgICAgICA9IGZiX3N5 c19yZWFkLAogCS5mYl93cml0ZSAgICAgICA9IGZiX3N5c193cml0ZSwKQEAgLTE5NjQsNyArMTk2 NCw3IEBAIHNoX21vYmlsZV9sY2RjX21tYXAoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCB2 bV9hcmVhX3N0cnVjdCAqdm1hKQogCQkJCSBjaC0+ZG1hX2hhbmRsZSwgY2gtPmZiX3NpemUpOwog fQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBzaF9tb2JpbGVfbGNkY19vcHMgPSB7CitzdGF0aWMg Y29uc3Qgc3RydWN0IGZiX29wcyBzaF9tb2JpbGVfbGNkY19vcHMgPSB7CiAJLm93bmVyICAgICAg ICAgID0gVEhJU19NT0RVTEUsCiAJLmZiX3NldGNvbHJlZwk9IHNoX21vYmlsZV9sY2RjX3NldGNv bHJlZywKIAkuZmJfcmVhZCAgICAgICAgPSBmYl9zeXNfcmVhZCwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvc2ltcGxlZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2ltcGxlZmIu YwppbmRleCA3ZGMwMTA1ZjcwMGQuLjUzM2EwNDdkMDdhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92 aWRlby9mYmRldi9zaW1wbGVmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2ltcGxlZmIu YwpAQCAtNzgsNyArNzgsNyBAQCBzdGF0aWMgdm9pZCBzaW1wbGVmYl9kZXN0cm95KHN0cnVjdCBm Yl9pbmZvICppbmZvKQogCQlpb3VubWFwKGluZm8tPnNjcmVlbl9iYXNlKTsKIH0KIAotc3RhdGlj IHN0cnVjdCBmYl9vcHMgc2ltcGxlZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9v cHMgc2ltcGxlZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfZGVzdHJv eQk9IHNpbXBsZWZiX2Rlc3Ryb3ksCiAJLmZiX3NldGNvbHJlZwk9IHNpbXBsZWZiX3NldGNvbHJl ZywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2lzL3Npc19tYWluLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3Npcy9zaXNfbWFpbi5jCmluZGV4IGI0NDNhOGVkNDYwMC4uYWMxNDA5 NjJiMWJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Npcy9zaXNfbWFpbi5jCisr KyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2lzL3Npc19tYWluLmMKQEAgLTE5MDYsNyArMTkwNiw3 IEBAIHNpc2ZiX2dldF9maXgoc3RydWN0IGZiX2ZpeF9zY3JlZW5pbmZvICpmaXgsIGludCBjb24s IHN0cnVjdCBmYl9pbmZvICppbmZvKQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tICBmYl9vcHMgc3Ry dWN0dXJlcyAtLS0tLS0tLS0tLS0tLS0tLSAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBzaXNm Yl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBzaXNmYl9vcHMgPSB7CiAJLm93 bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0gc2lzZmJfb3BlbiwKIAkuZmJfcmVsZWFz ZQk9IHNpc2ZiX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NrZWxl dG9uZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2tlbGV0b25mYi5jCmluZGV4IDgxMmEzNmNi NjBjMy4uYmNhY2ZiNjkzNGZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NrZWxl dG9uZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NrZWxldG9uZmIuYwpAQCAtNjM0LDcg KzYzNCw3IEBAIGludCB4eHhmYl9zeW5jKHN0cnVjdCBmYl9pbmZvICppbmZvKQogICAgICAqICBG cmFtZSBidWZmZXIgb3BlcmF0aW9ucwogICAgICAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyB4 eHhmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB4eHhmYl9vcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0geHh4ZmJfb3BlbiwKIAkuZmJfcmVh ZAk9IHh4eGZiX3JlYWQsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NtNzEyZmIu YyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc203MTJmYi5jCmluZGV4IDIwN2QwYWRkNjg0Yi4uNmEx YjRhODUzZDllIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NtNzEyZmIuYworKysg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NtNzEyZmIuYwpAQCAtMTM2OSw3ICsxMzY5LDcgQEAgc3Rh dGljIGludCBzbXRjX3NldF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9 CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHNtdGNmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3Ry dWN0IGZiX29wcyBzbXRjZmJfb3BzID0gewogCS5vd25lciAgICAgICAgPSBUSElTX01PRFVMRSwK IAkuZmJfY2hlY2tfdmFyID0gc210Y19jaGVja192YXIsCiAJLmZiX3NldF9wYXIgICA9IHNtdGNf c2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc21zY3VmeC5jIGIvZHJp dmVycy92aWRlby9mYmRldi9zbXNjdWZ4LmMKaW5kZXggZTM2MmQ3ZGE4N2ZjLi5iZmFjM2VlNGE2 NDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc21zY3VmeC5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvc21zY3VmeC5jCkBAIC0xMjY4LDcgKzEyNjgsNyBAQCBzdGF0aWMgaW50 IHVmeF9vcHNfYmxhbmsoaW50IGJsYW5rX21vZGUsIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCXJl dHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyB1Znhfb3BzID0geworc3RhdGljIGNv bnN0IHN0cnVjdCBmYl9vcHMgdWZ4X29wcyA9IHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAku ZmJfcmVhZCA9IGZiX3N5c19yZWFkLAogCS5mYl93cml0ZSA9IHVmeF9vcHNfd3JpdGUsCmRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NzZDEzMDdmYi5jIGIvZHJpdmVycy92aWRlby9m YmRldi9zc2QxMzA3ZmIuYwppbmRleCA3OGNhN2ZmYzQwYzIuLjE0MjUzNTI2N2ZlYyAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9zc2QxMzA3ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3NzZDEzMDdmYi5jCkBAIC0yODAsNyArMjgwLDcgQEAgc3RhdGljIHZvaWQgc3NkMTMw N2ZiX2ltYWdlYmxpdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IGZiX2ltYWdl ICppbWEKIAlzc2QxMzA3ZmJfdXBkYXRlX2Rpc3BsYXkocGFyKTsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgc3NkMTMwN2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHNz ZDEzMDdmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFkCT0gZmJf c3lzX3JlYWQsCiAJLmZiX3dyaXRlCT0gc3NkMTMwN2ZiX3dyaXRlLApkaWZmIC0tZ2l0IGEvZHJp dmVycy92aWRlby9mYmRldi9zc3RmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9zc3RmYi5jCmlu ZGV4IDRlMjJhZTM4M2M4Ny4uODJlNzA3YTQ4ZTRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3NzdGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9zc3RmYi5jCkBAIC0xMzA3 LDcgKzEzMDcsNyBAQCBzdGF0aWMgaW50IHNzdGZiX3NldHVwKGNoYXIgKm9wdGlvbnMpCiB9CiAK IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgc3N0ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgc3N0ZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfY2hl Y2tfdmFyCT0gc3N0ZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0gc3N0ZmJfc2V0X3BhciwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc3RpZmIuYyBiL2RyaXZlcnMvdmlkZW8v ZmJkZXYvc3RpZmIuYwppbmRleCA5ZTg4ZTNmNTk0YzIuLjU0MDBhYjc5ZmJiZCAxMDA2NDQKLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9zdGlmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv c3RpZmIuYwpAQCAtMTEwMSw3ICsxMTAxLDcgQEAgc3RpZmJfaW5pdF9kaXNwbGF5KHN0cnVjdCBz dGlmYl9pbmZvICpmYikKIAogLyogLS0tLS0tLS0tLS0tIEludGVyZmFjZXMgdG8gaGFyZHdhcmUg ZnVuY3Rpb25zIC0tLS0tLS0tLS0tLSAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBzdGlmYl9v cHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBzdGlmYl9vcHMgPSB7CiAJLm93bmVy CQk9IFRISVNfTU9EVUxFLAogCS5mYl9zZXRjb2xyZWcJPSBzdGlmYl9zZXRjb2xyZWcsCiAJLmZi X2JsYW5rCT0gc3RpZmJfYmxhbmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1 bnh2cjEwMDAuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc3VueHZyMTAwMC5jCmluZGV4IDc4NGM5 YmQ1ZDUwMi4uMTViMDc5NTA1YTAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1 bnh2cjEwMDAuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjEwMDAuYwpAQCAtNTks NyArNTksNyBAQCBzdGF0aWMgaW50IGdmYl9zZXRjb2xyZWcodW5zaWduZWQgcmVnbm8sCiAJcmV0 dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGdmYl9vcHMgPSB7CitzdGF0aWMgY29u c3Qgc3RydWN0IGZiX29wcyBnZmJfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJ LmZiX3NldGNvbHJlZwkJPSBnZmJfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAkJPSBjZmJfZmls bHJlY3QsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjI1MDAuYyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvc3VueHZyMjUwMC5jCmluZGV4IDMxNjgzZTVhOGI3OS4uMWQzYmFj ZDlkNWFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjI1MDAuYworKysg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjI1MDAuYwpAQCAtNjMsNyArNjMsNyBAQCBzdGF0 aWMgaW50IHMzZF9zZXRjb2xyZWcodW5zaWduZWQgcmVnbm8sCiAJcmV0dXJuIDA7CiB9CiAKLXN0 YXRpYyBzdHJ1Y3QgZmJfb3BzIHMzZF9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29w cyBzM2Rfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3NldGNvbHJlZwkJ PSBzM2Rfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAkJPSBjZmJfZmlsbHJlY3QsCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjUwMC5jIGIvZHJpdmVycy92aWRlby9mYmRl di9zdW54dnI1MDAuYwppbmRleCBkMzkyOTc2MTI2YTYuLjlkYWYxN2IxMTEwNiAxMDA2NDQKLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9zdW54dnI1MDAuYworKysgYi9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L3N1bnh2cjUwMC5jCkBAIC0xODYsNyArMTg2LDcgQEAgc3RhdGljIHZvaWQgZTNkX2NvcHlh cmVhKHN0cnVjdCBmYl9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgZmJfY29weWFyZWEgKmFyZWEp CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZXAtPmxvY2ssIGZsYWdzKTsKIH0KIAotc3RhdGlj IHN0cnVjdCBmYl9vcHMgZTNkX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGUz ZF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCQk9IGUz ZF9zZXRjb2xyZWcsCiAJLmZiX2ZpbGxyZWN0CQk9IGUzZF9maWxscmVjdCwKZGlmZiAtLWdpdCBh L2RyaXZlcnMvdmlkZW8vZmJkZXYvdGN4LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3RjeC5jCmlu ZGV4IDc4OTdmODZmYjIzZS4uMzRiMmU1YjZlODRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3RjeC5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvdGN4LmMKQEAgLTQwLDcgKzQw LDcgQEAgc3RhdGljIGludCB0Y3hfcGFuX2Rpc3BsYXkoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZv ICosIHN0cnVjdCBmYl9pbmZvICopOwogICogIEZyYW1lIGJ1ZmZlciBvcGVyYXRpb25zCiAgKi8K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgdGN4X29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg ZmJfb3BzIHRjeF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29s cmVnCQk9IHRjeF9zZXRjb2xyZWcsCiAJLmZiX2JsYW5rCQk9IHRjeF9ibGFuaywKZGlmZiAtLWdp dCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvdGRmeGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Rk ZnhmYi5jCmluZGV4IGZkYmIxZWE2NmU2Yy4uMDM0OWNmNjk2NTJmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3RkZnhmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvdGRmeGZi LmMKQEAgLTExNDEsNyArMTE0MSw3IEBAIHN0YXRpYyBpbnQgdGRmeGZiX2N1cnNvcihzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbywgc3RydWN0IGZiX2N1cnNvciAqY3Vyc29yKQogCXJldHVybiAwOwogfQog Ci1zdGF0aWMgc3RydWN0IGZiX29wcyB0ZGZ4ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgdGRmeGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2No ZWNrX3Zhcgk9IHRkZnhmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSB0ZGZ4ZmJfc2V0X3Bh ciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvdGdhZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvdGdhZmIuYwppbmRleCAyODZiMjM3MWM3ZGQuLjdjZDI2Mjg1ODI0MSAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi90Z2FmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvdGdhZmIuYwpAQCAtNzAsNyArNzAsNyBAQCBzdGF0aWMgc3RydWN0IHRjX2RyaXZlciB0Z2Fm Yl90Y19kcml2ZXI7CiAgKiAgRnJhbWUgYnVmZmVyIG9wZXJhdGlvbnMKICAqLwogCi1zdGF0aWMg c3RydWN0IGZiX29wcyB0Z2FmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB0 Z2FmYl9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyCQk9 IHRnYWZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3BhcgkJPSB0Z2FmYl9zZXRfcGFyLApkaWZmIC0t Z2l0IGEvZHJpdmVycy92aWRlby9mYmRldi90bWlvZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv dG1pb2ZiLmMKaW5kZXggNGYyZmNlYTEwZDJiLi41MDExMTk2NmM5ODEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvdG1pb2ZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi90bWlv ZmIuYwpAQCAtNjQ2LDcgKzY0Niw3IEBAIHN0YXRpYyBpbnQgdG1pb2ZiX2JsYW5rKGludCBibGFu aywgc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3Qg ZmJfb3BzIHRtaW9mYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB0bWlvZmJf b3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAogCS5mYl9pb2N0bAk9IHRtaW9mYl9p b2N0bCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvdHJpZGVudGZiLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3RyaWRlbnRmYi5jCmluZGV4IGRhNzRiZjZjNTk5Ni4uNzE1NTA5OTE3 ZWFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3RyaWRlbnRmYi5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvdHJpZGVudGZiLmMKQEAgLTE0NDMsNyArMTQ0Myw3IEBAIHN0YXRp YyBpbnQgdHJpZGVudGZiX2JsYW5rKGludCBibGFua19tb2RlLCBzdHJ1Y3QgZmJfaW5mbyAqaW5m bykKIAlyZXR1cm4gKGJsYW5rX21vZGUgPT0gRkJfQkxBTktfTk9STUFMKSA/IDEgOiAwOwogfQog Ci1zdGF0aWMgc3RydWN0IGZiX29wcyB0cmlkZW50ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0 cnVjdCBmYl9vcHMgdHJpZGVudGZiX29wcyA9IHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAku ZmJfc2V0Y29scmVnID0gdHJpZGVudGZiX3NldGNvbHJlZywKIAkuZmJfcGFuX2Rpc3BsYXkgPSB0 cmlkZW50ZmJfcGFuX2Rpc3BsYXksCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2 ZXNhZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvdXZlc2FmYi5jCmluZGV4IDQzOTU2NWNhZTdh Yi4uZmIzMGU2YzI4YWZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2ZXNhZmIu YworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2ZXNhZmIuYwpAQCAtMTQxMCw3ICsxNDEwLDcg QEAgc3RhdGljIGludCB1dmVzYWZiX2NoZWNrX3ZhcihzdHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8g KnZhciwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgdXZlc2FmYl9vcHMg PSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB1dmVzYWZiX29wcyA9IHsKIAkub3duZXIJ CT0gVEhJU19NT0RVTEUsCiAJLmZiX29wZW4JPSB1dmVzYWZiX29wZW4sCiAJLmZiX3JlbGVhc2UJ PSB1dmVzYWZiX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZhbGt5 cmllZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvdmFsa3lyaWVmYi5jCmluZGV4IGUwNGZkZTlj MWZjZC4uY2E4ZDczNDNhYWExIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZhbGt5 cmllZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZhbGt5cmllZmIuYwpAQCAtMTEzLDcg KzExMyw3IEBAIHN0YXRpYyBpbnQgdmFsa3lyaWVfaW5pdF9pbmZvKHN0cnVjdCBmYl9pbmZvICpp bmZvLCBzdHJ1Y3QgZmJfaW5mb192YWxreXJpZSAqcCk7CiBzdGF0aWMgdm9pZCB2YWxreXJpZV9w YXJfdG9fZml4KHN0cnVjdCBmYl9wYXJfdmFsa3lyaWUgKnBhciwgc3RydWN0IGZiX2ZpeF9zY3Jl ZW5pbmZvICpmaXgpOwogc3RhdGljIHZvaWQgdmFsa3lyaWVfaW5pdF9maXgoc3RydWN0IGZiX2Zp eF9zY3JlZW5pbmZvICpmaXgsIHN0cnVjdCBmYl9pbmZvX3ZhbGt5cmllICpwKTsKIAotc3RhdGlj IHN0cnVjdCBmYl9vcHMgdmFsa3lyaWVmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZi X29wcyB2YWxreXJpZWZiX29wcyA9IHsKIAkub3duZXIgPQlUSElTX01PRFVMRSwKIAkuZmJfY2hl Y2tfdmFyID0JdmFsa3lyaWVmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIgPQl2YWxreXJpZWZi X3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZmYi5jIGIvZHJpdmVy cy92aWRlby9mYmRldi92ZmIuYwppbmRleCA1NDEyNzkwNWJmZTcuLjk1ZDNjNTk4NjdkMCAxMDA2 NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi92ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L3ZmYi5jCkBAIC03OCw3ICs3OCw3IEBAIHN0YXRpYyBpbnQgdmZiX3Bhbl9kaXNwbGF5KHN0 cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyLAogc3RhdGljIGludCB2ZmJfbW1hcChzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbywKIAkJICAgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKIAotc3Rh dGljIHN0cnVjdCBmYl9vcHMgdmZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3Bz IHZmYl9vcHMgPSB7CiAJLmZiX3JlYWQgICAgICAgID0gZmJfc3lzX3JlYWQsCiAJLmZiX3dyaXRl ICAgICAgID0gZmJfc3lzX3dyaXRlLAogCS5mYl9jaGVja192YXIJPSB2ZmJfY2hlY2tfdmFyLApk aWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi92Z2ExNmZiLmMgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3ZnYTE2ZmIuYwppbmRleCAyYzZhNTc2ZWQ4NGMuLmEyMGVlYjgzMDhmZiAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi92Z2ExNmZiLmMKKysrIGIvZHJpdmVycy92aWRlby9m YmRldi92Z2ExNmZiLmMKQEAgLTEyNzAsNyArMTI3MCw3IEBAIHN0YXRpYyB2b2lkIHZnYTE2ZmJf ZGVzdHJveShzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlmcmFtZWJ1ZmZlcl9yZWxlYXNlKGluZm8p OwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyB2Z2ExNmZiX29wcyA9IHsKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgZmJfb3BzIHZnYTE2ZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwK IAkuZmJfb3BlbiAgICAgICAgPSB2Z2ExNmZiX29wZW4sCiAJLmZiX3JlbGVhc2UgICAgID0gdmdh MTZmYl9yZWxlYXNlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi92dDg1MDBsY2Rm Yi5jIGIvZHJpdmVycy92aWRlby9mYmRldi92dDg1MDBsY2RmYi5jCmluZGV4IGJlOGQ5NzAyY2Ji Mi4uZjc0NDQ3OWRjN2RmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Z0ODUwMGxj ZGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi92dDg1MDBsY2RmYi5jCkBAIC0yMzgsNyAr MjM4LDcgQEAgc3RhdGljIGludCB2dDg1MDBsY2RfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3QgZmJf aW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgdnQ4NTAw bGNkX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHZ0ODUwMGxjZF9vcHMgPSB7 CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9zZXRfcGFyCT0gdnQ4NTAwbGNkX3NldF9w YXIsCiAJLmZiX3NldGNvbHJlZwk9IHZ0ODUwMGxjZF9zZXRjb2xyZWcsCmRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L3Z0ODYyM2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Z0ODYy M2ZiLmMKaW5kZXggYzMzOWE4ZmJhZDgxLi43YjNlZWYxYjg5M2YgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvdnQ4NjIzZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Z0ODYy M2ZiLmMKQEAgLTYzNCw3ICs2MzQsNyBAQCBzdGF0aWMgaW50IHZ0ODYyM2ZiX3Bhbl9kaXNwbGF5 KHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyLCBzdHJ1Y3QgZmJfaW5mbyAqaQogCiAvKiBG cmFtZSBidWZmZXIgb3BlcmF0aW9ucyAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyB2dDg2MjNm Yl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB2dDg2MjNmYl9vcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0gdnQ4NjIzZmJfb3BlbiwKIAkuZmJf cmVsZWFzZQk9IHZ0ODYyM2ZiX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L3cxMDBmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi93MTAwZmIuYwppbmRleCAzYmUwNzgw N2VkY2QuLmZlNjI4ZWMyMDE0OSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi93MTAw ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3cxMDBmYi5jCkBAIC01NDksNyArNTQ5LDcg QEAgc3RhdGljIGludCB3MTAwZmJfc2V0X3BhcihzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIC8qCiAg KiAgRnJhbWUgYnVmZmVyIG9wZXJhdGlvbnMKICAqLwotc3RhdGljIHN0cnVjdCBmYl9vcHMgdzEw MGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHcxMDBmYl9vcHMgPSB7CiAJ Lm93bmVyICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIgPSB3MTAwZmJfY2hl Y2tfdmFyLAogCS5mYl9zZXRfcGFyICAgPSB3MTAwZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvd204NTA1ZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvd204NTA1 ZmIuYwppbmRleCAxN2M3ODAzMTVjYTUuLmI2NTZlZmY1OGMyMyAxMDA2NDQKLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi93bTg1MDVmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvd204NTA1 ZmIuYwpAQCAtMjQ2LDcgKzI0Niw3IEBAIHN0YXRpYyBpbnQgd204NTA1ZmJfYmxhbmsoaW50IGJs YW5rLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgd204NTA1ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgd204 NTA1ZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0X3Bhcgk9IHdt ODUwNWZiX3NldF9wYXIsCiAJLmZiX3NldGNvbHJlZwk9IHdtODUwNWZiX3NldGNvbHJlZywKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYveGVuLWZiZnJvbnQuYwppbmRleCBhM2Q2YjZkYjIyMWIuLjAwMzA3Yjg2OTNiZiAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi94ZW4tZmJmcm9udC5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuYwpAQCAtMzI4LDcgKzMyOCw3IEBAIHN0YXRpYyBp bnQgeGVuZmJfc2V0X3BhcihzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAot c3RhdGljIHN0cnVjdCBmYl9vcHMgeGVuZmJfZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgeGVuZmJfZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJf cmVhZAk9IGZiX3N5c19yZWFkLAogCS5mYl93cml0ZQk9IHhlbmZiX3dyaXRlLApkaWZmIC0tZ2l0 IGEvZHJpdmVycy92aWRlby9mYmRldi94aWxpbnhmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi94 aWxpbnhmYi5jCmluZGV4IDg2Mjg4MjliNDcwZC4uY2E0ZmY2NThjYWQwIDEwMDY0NAotLS0gYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L3hpbGlueGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi94 aWxpbnhmYi5jCkBAIC0yNDcsNyArMjQ3LDcgQEAgeGlsaW54X2ZiX2JsYW5rKGludCBibGFua19t b2RlLCBzdHJ1Y3QgZmJfaW5mbyAqZmJpKQogCXJldHVybiAwOyAvKiBzdWNjZXNzICovCiB9CiAK LXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHhpbGlueGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgZmJfb3BzIHhpbGlueGZiX29wcyA9IHsKIAkub3duZXIJCQk9IFRISVNfTU9EVUxFLAogCS5m Yl9zZXRjb2xyZWcJCT0geGlsaW54X2ZiX3NldGNvbHJlZywKIAkuZmJfYmxhbmsJCT0geGlsaW54 X2ZiX2JsYW5rLAotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A016FC432C0 for ; Fri, 29 Nov 2019 10:31:05 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7FCC2215F1 for ; Fri, 29 Nov 2019 10:31:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7FCC2215F1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4E3246E8C3; Fri, 29 Nov 2019 10:31:04 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id A477F6E8C2; Fri, 29 Nov 2019 10:31:02 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Nov 2019 02:31:02 -0800 X-IronPort-AV: E=Sophos;i="5.69,257,1571727600"; d="scan'208";a="410933512" Received: from jnikula-mobl3.fi.intel.com (HELO localhost) ([10.237.66.161]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Nov 2019 02:30:57 -0800 From: Jani Nikula To: dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org Subject: [PATCH v2 10/14] video: constify fb ops across all drivers Date: Fri, 29 Nov 2019 12:29:40 +0200 Message-Id: X-Mailer: git-send-email 2.20.1 In-Reply-To: References: MIME-Version: 1.0 Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: jani.nikula@intel.com, Daniel Vetter , intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191129102940.zhOGfRxf1mdghTu3_pntpu8w5sk7h_b2WIcwdyaJW_0@z> Tm93IHRoYXQgdGhlIGZib3BzIG1lbWJlciBvZiBzdHJ1Y3QgZmJfaW5mbyBpcyBjb25zdCwgd2Ug Y2FuIHN0YXJ0Cm1ha2luZyB0aGUgb3BzIGNvbnN0IGFzIHdlbGwuCgpUaGlzIGRvZXMgbm90IGNv dmVyIGFsbCBkcml2ZXJzOyBzb21lIGFjdHVhbGx5IG1vZGlmeSB0aGUgZmJvcHMgc3RydWN0LApm b3IgZXhhbXBsZSB0byBhZGp1c3QgZm9yIGRpZmZlcmVudCBjb25maWd1cmF0aW9ucywgYW5kIG90 aGVycyBkbyBtb3JlCmludm9sdmVkIHRoaW5ncyB0aGF0IEknZCByYXRoZXIgbm90IHRvdWNoIGlu IHByYWN0aWNhbGx5IG9ic29sZXRlCmRyaXZlcnMuIE1vc3RseSB0aGlzIGlzIHRoZSBsb3cgaGFu Z2luZyBmcnVpdCB3aGVyZSB3ZSBjYW4gYWRkICJjb25zdCIKYW5kIGJlIGRvbmUgd2l0aCBpdC4K CnYyOgotIGZpeCB0eXBvIChDaHJpc3RvcGhlIGRlIERpbmVjaGluKQotIHVzZSAic3RhdGljIGNv bnN0IiBpbnN0ZWFkIG9mICJjb25zdCBzdGF0aWMiIGluIG14M2ZiLmMKLSBhbHNvIGNvbnN0aWZ5 IHNtc2N1ZnguYwoKQ2M6IGxpbnV4LWZiZGV2QHZnZXIua2VybmVsLm9yZwpSZXZpZXdlZC1ieTog RGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KU2lnbmVkLW9mZi1ieTogSmFu aSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KCmZpeHVwIHRvIHZpZGVvIGRyaXZlcnMK LS0tCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2LzY4MzI4ZmIuYyAgICAgICAgICAgICAgICAgIHwgMiAr LQogZHJpdmVycy92aWRlby9mYmRldi9hY29ybmZiLmMgICAgICAgICAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvdmlkZW8vZmJkZXYvYW1iYS1jbGNkLmMgICAgICAgICAgICAgICAgfCAyICstCiBk cml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJp dmVycy92aWRlby9mYmRldi9hcmNmYi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZl cnMvdmlkZW8vZmJkZXYvYXJrZmIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJz L3ZpZGVvL2ZiZGV2L2FzaWxpYW50ZmIuYyAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92 aWRlby9mYmRldi9hdG1lbF9sY2RmYi5jICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlk ZW8vZmJkZXYvYXR5L2F0eTEyOGZiLmMgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVv L2ZiZGV2L2F0eS9hdHlmYl9iYXNlLmMgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9m YmRldi9hdHkvcmFkZW9uX2Jhc2UuYyAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJk ZXYvYXUxMTAwZmIuYyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2 L2F1MTIwMGZiLmMgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9i cm9hZHNoZWV0ZmIuYyAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvYncy LmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2Nhcm1p bmVmYi5jICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9jZzE0LmMg ICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvY2czLmMgICAg ICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2NnNi5jICAgICAg ICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9jaGlwc2ZiLmMgICAg ICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvY2lycnVzZmIuYyAgICAg ICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2NscHM3MTF4LWZiLmMgICAg ICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9jb2JhbHRfbGNkZmIuYyAgICAg ICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvY29udHJvbGZiLmMgICAgICAgICAg ICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2N5YmVyMjAwMGZiLmMgICAgICAgICAg ICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9kYTh4eC1mYi5jICAgICAgICAgICAgICAg ICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvZG5mYi5jICAgICAgICAgICAgICAgICAgICAg fCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2VmaWZiLmMgICAgICAgICAgICAgICAgICAgIHwg MiArLQogZHJpdmVycy92aWRlby9mYmRldi9lcDkzeHgtZmIuYyAgICAgICAgICAgICAgICB8IDIg Ky0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvZmItcHV2My5jICAgICAgICAgICAgICAgICAgfCAyICst CiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2ZmYi5jICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQog ZHJpdmVycy92aWRlby9mYmRldi9mbTJmYi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRy aXZlcnMvdmlkZW8vZmJkZXYvZnNsLWRpdS1mYi5jICAgICAgICAgICAgICAgfCAyICstCiBkcml2 ZXJzL3ZpZGVvL2ZiZGV2L2czNjRmYi5jICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVy cy92aWRlby9mYmRldi9nYmVmYi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMv dmlkZW8vZmJkZXYvZ2VvZGUvZ3gxZmJfY29yZS5jICAgICAgICAgfCAyICstCiBkcml2ZXJzL3Zp ZGVvL2ZiZGV2L2dlb2RlL2d4ZmJfY29yZS5jICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRl by9mYmRldi9nZW9kZS9seGZiX2NvcmUuYyAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8v ZmJkZXYvZ29sZGZpc2hmYi5jICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2Zi ZGV2L2dydmdhLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRl di9neHQ0NTAwLmMgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYv aGVjdWJhZmIuYyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2hn YWZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9oaXRm Yi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvaHBmYi5j ICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2h5cGVydl9m Yi5jICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9pNzQwZmIuYyAg ICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvaW1zdHRmYi5jICAg ICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2lteGZiLmMgICAgICAg ICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9pbnRlbGZiL2ludGVsZmJk cnYuYyAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYva3lyby9mYmRldi5jICAgICAg ICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2xlby5jICAgICAgICAgICAgICAg ICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9tYWNmYi5jICAgICAgICAgICAgICAg ICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvbWF0cm94L21hdHJveGZiX2NydGMyLmMg ICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L21heGluZWZiLmMgICAgICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9tYjg2Mnh4L21iODYyeHhmYmRydi5jICAgICB8 IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvbWJ4L21ieGZiLmMgICAgICAgICAgICAgICAgfCAy ICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L21ldHJvbm9tZWZiLmMgICAgICAgICAgICAgIHwgMiAr LQogZHJpdmVycy92aWRlby9mYmRldi9tbXAvZmIvbW1wZmIuYyAgICAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvdmlkZW8vZmJkZXYvbXgzZmIuYyAgICAgICAgICAgICAgICAgICAgfCA1ICsrKy0t CiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L25lb2ZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQog ZHJpdmVycy92aWRlby9mYmRldi9udmlkaWEvbnZpZGlhLmMgICAgICAgICAgICB8IDIgKy0KIGRy aXZlcnMvdmlkZW8vZmJkZXYvb2NmYi5jICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2 ZXJzL3ZpZGVvL2ZiZGV2L29mZmIuYyAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVy cy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvb21hcGZiLW1haW4uYyB8IDIgKy0KIGRyaXZlcnMv dmlkZW8vZmJkZXYvcDkxMDAuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3Zp ZGVvL2ZiZGV2L3BsYXRpbnVtZmIuYyAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRl by9mYmRldi9wbTJmYi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8v ZmJkZXYvcG0zZmIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2Zi ZGV2L3BtYWctYWEtZmIuYyAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRl di9wbWFnLWJhLWZiLmMgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYv cG1hZ2ItYi1mYi5jICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3Bz M2ZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9wdnIy ZmIuYyAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvcHhhMTY4 ZmIuYyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3B4YWZiLmMg ICAgICAgICAgICAgICAgICAgIHwgNCArKy0tCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3E0MGZiLmMg ICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9yaXZhL2ZiZGV2 LmMgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvczNjLWZiLmMgICAg ICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3MzYzI0MTBmYi5jICAg ICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9zM2ZiLmMgICAgICAgICAg ICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvc2ExMTAwZmIuYyAgICAgICAg ICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3NhdmFnZS9zYXZhZ2VmYl9kcml2 ZXIuYyAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9zaDc3NjBmYi5jICAgICAgICAgICAg ICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvc2hfbW9iaWxlX2xjZGNmYi5jICAgICAg ICAgfCA0ICsrLS0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvc2ltcGxlZmIuYyAgICAgICAgICAgICAg ICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3Npcy9zaXNfbWFpbi5jICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9za2VsZXRvbmZiLmMgICAgICAgICAgICAgICB8 IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvc203MTJmYi5jICAgICAgICAgICAgICAgICAgfCAy ICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3Ntc2N1ZnguYyAgICAgICAgICAgICAgICAgIHwgMiAr LQogZHJpdmVycy92aWRlby9mYmRldi9zc2QxMzA3ZmIuYyAgICAgICAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvdmlkZW8vZmJkZXYvc3N0ZmIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBk cml2ZXJzL3ZpZGVvL2ZiZGV2L3N0aWZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJp dmVycy92aWRlby9mYmRldi9zdW54dnIxMDAwLmMgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZl cnMvdmlkZW8vZmJkZXYvc3VueHZyMjUwMC5jICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJz L3ZpZGVvL2ZiZGV2L3N1bnh2cjUwMC5jICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92 aWRlby9mYmRldi90Y3guYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlk ZW8vZmJkZXYvdGRmeGZiLmMgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVv L2ZiZGV2L3RnYWZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9m YmRldi90bWlvZmIuYyAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJk ZXYvdHJpZGVudGZiLmMgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2 L3V2ZXNhZmIuYyAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi92 YWxreXJpZWZiLmMgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvdmZi LmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZnYTE2 ZmIuYyAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi92dDg1MDBs Y2RmYi5jICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvdnQ4NjIzZmIu YyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3cxMDBmYi5jICAg ICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi93bTg1MDVmYi5jICAg ICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuYyAg ICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3hpbGlueGZiLmMgICAgICAg ICAgICAgICAgIHwgMiArLQogMTExIGZpbGVzIGNoYW5nZWQsIDExNSBpbnNlcnRpb25zKCspLCAx MTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi82ODMyOGZi LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2LzY4MzI4ZmIuYwppbmRleCBkNDhlOTYwODhmNzYuLjQ5 MWZkNWE4Mjk5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi82ODMyOGZiLmMKKysr IGIvZHJpdmVycy92aWRlby9mYmRldi82ODMyOGZiLmMKQEAgLTk2LDcgKzk2LDcgQEAgc3RhdGlj IGludCBtYzY4eDMyOGZiX3Bhbl9kaXNwbGF5KHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFy LAogCQkJICAgc3RydWN0IGZiX2luZm8gKmluZm8pOwogc3RhdGljIGludCBtYzY4eDMyOGZiX21t YXAoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKIAot c3RhdGljIHN0cnVjdCBmYl9vcHMgbWM2OHgzMjhmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3Ry dWN0IGZiX29wcyBtYzY4eDMyOGZiX29wcyA9IHsKIAkuZmJfY2hlY2tfdmFyCT0gbWM2OHgzMjhm Yl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBtYzY4eDMyOGZiX3NldF9wYXIsCiAJLmZiX3Nl dGNvbHJlZwk9IG1jNjh4MzI4ZmJfc2V0Y29scmVnLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRl by9mYmRldi9hY29ybmZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2Fjb3JuZmIuYwppbmRleCA3 Y2FjYWU1YTg3OTcuLmEzYWY0OTUyOTE3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRl di9hY29ybmZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9hY29ybmZiLmMKQEAgLTYwNCw3 ICs2MDQsNyBAQCBhY29ybmZiX3Bhbl9kaXNwbGF5KHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAq dmFyLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgYWNvcm5mYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhY29y bmZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGFj b3JuZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0gYWNvcm5mYl9zZXRfcGFyLApkaWZmIC0t Z2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9hbWJhLWNsY2QuYyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvYW1iYS1jbGNkLmMKaW5kZXggN2RlNDNiZTZlZjJjLi5jM2Q1NWZjNmM0ZTAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYW1iYS1jbGNkLmMKKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9hbWJhLWNsY2QuYwpAQCAtNDIzLDcgKzQyMyw3IEBAIHN0YXRpYyBpbnQgY2xjZGZiX21t YXAoc3RydWN0IGZiX2luZm8gKmluZm8sCiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgY2xjZGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNsY2Rm Yl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBjbGNk ZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0gY2xjZGZiX3NldF9wYXIsCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZi LmMKaW5kZXggOTFkZGM5NjAyMDE0Li4yMGUwM2UwMGI2NmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvYW1pZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZiLmMKQEAg LTM0OTMsNyArMzQ5Myw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBhbWlmYl9pbnRlcnJ1cHQoaW50 IGlycSwgdm9pZCAqZGV2X2lkKQogfQogCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGFtaWZiX29w cyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGFtaWZiX29wcyA9IHsKIAkub3duZXIJ CT0gVEhJU19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGFtaWZiX2NoZWNrX3ZhciwKIAkuZmJf c2V0X3Bhcgk9IGFtaWZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2FyY2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FyY2ZiLmMKaW5kZXggYTQ4NzQxYWFiMjQw Li4zMTRhYjgyZTAxYzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXJjZmIuYwor KysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FyY2ZiLmMKQEAgLTQ5MSw3ICs0OTEsNyBAQCBzdGF0 aWMgc3NpemVfdCBhcmNmYl93cml0ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3QgY2hhciBf X3VzZXIgKmJ1ZiwKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBhcmNm Yl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhcmNmYl9vcHMgPSB7CiAJLm93 bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0gYXJjZmJfb3BlbiwKIAkuZmJfcmVhZCAg ICAgICAgPSBmYl9zeXNfcmVhZCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXJr ZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXJrZmIuYwppbmRleCBmOTQwZThiNjZiODUuLjEx YWI5YTE1Mzg2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hcmtmYi5jCisrKyBi L2RyaXZlcnMvdmlkZW8vZmJkZXYvYXJrZmIuYwpAQCAtOTE3LDcgKzkxNyw3IEBAIHN0YXRpYyBp bnQgYXJrZmJfcGFuX2Rpc3BsYXkoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsIHN0cnVj dCBmYl9pbmZvICppbmZvCiAKIC8qIEZyYW1lIGJ1ZmZlciBvcGVyYXRpb25zICovCiAKLXN0YXRp YyBzdHJ1Y3QgZmJfb3BzIGFya2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3Bz IGFya2ZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX29wZW4JPSBhcmtm Yl9vcGVuLAogCS5mYl9yZWxlYXNlCT0gYXJrZmJfcmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvYXNpbGlhbnRmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9hc2lsaWFu dGZiLmMKaW5kZXggZWEzMTA1NGEyOGNhLi4zZTAwNmRhNDc3NTIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvYXNpbGlhbnRmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXNp bGlhbnRmYi5jCkBAIC05NSw3ICs5NSw3IEBAIHN0YXRpYyBpbnQgYXNpbGlhbnRmYl9zZXRfcGFy KHN0cnVjdCBmYl9pbmZvICppbmZvKTsKIHN0YXRpYyBpbnQgYXNpbGlhbnRmYl9zZXRjb2xyZWco dV9pbnQgcmVnbm8sIHVfaW50IHJlZCwgdV9pbnQgZ3JlZW4sIHVfaW50IGJsdWUsCiAJCQkJdV9p bnQgdHJhbnNwLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3Bz IGFzaWxpYW50ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgYXNpbGlhbnRm Yl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBhc2ls aWFudGZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IGFzaWxpYW50ZmJfc2V0X3BhciwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXRtZWxfbGNkZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvYXRtZWxfbGNkZmIuYwppbmRleCA1ZmY4ZTAzMjBkOTUuLmQ1NjdmNWQ1NmMxMyAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hdG1lbF9sY2RmYi5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvYXRtZWxfbGNkZmIuYwpAQCAtODI0LDcgKzgyNCw3IEBAIHN0YXRpYyBp bnQgYXRtZWxfbGNkZmJfYmxhbmsoaW50IGJsYW5rX21vZGUsIHN0cnVjdCBmYl9pbmZvICppbmZv KQogCXJldHVybiAoKGJsYW5rX21vZGUgPT0gRkJfQkxBTktfTk9STUFMKSA/IDEgOiAwKTsKIH0K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgYXRtZWxfbGNkZmJfb3BzID0geworc3RhdGljIGNvbnN0 IHN0cnVjdCBmYl9vcHMgYXRtZWxfbGNkZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVM RSwKIAkuZmJfY2hlY2tfdmFyCT0gYXRtZWxfbGNkZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFy CT0gYXRtZWxfbGNkZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYv YXR5L2F0eTEyOGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9hdHkxMjhmYi5jCmluZGV4 IGZjMWU0NWQ0NDcxOS4uZDdlNDFjOGRkNTMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L2F0eS9hdHkxMjhmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXR5L2F0eTEyOGZi LmMKQEAgLTUwOSw3ICs1MDksNyBAQCBzdGF0aWMgdm9pZCBhdHkxMjhfYmxfc2V0X3Bvd2VyKHN0 cnVjdCBmYl9pbmZvICppbmZvLCBpbnQgcG93ZXIpOwogCQkJICAocmVhZGIoYmlvcyArICh2KSAr IDMpIDw8IDI0KSkKIAogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBhdHkxMjhmYl9vcHMgPSB7Citz dGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhdHkxMjhmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRI SVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBhdHkxMjhmYl9jaGVja192YXIsCiAJLmZiX3Nl dF9wYXIJPSBhdHkxMjhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRl di9hdHkvYXR5ZmJfYmFzZS5jIGIvZHJpdmVycy92aWRlby9mYmRldi9hdHkvYXR5ZmJfYmFzZS5j CmluZGV4IDZkZGE1ZDg4NWEwMy4uOWM1NzM3MDU5NmYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L2F0eS9hdHlmYl9iYXNlLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9hdHkv YXR5ZmJfYmFzZS5jCkBAIC0yODAsNyArMjgwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmYl92 aWRlb21vZGUgZGVmbW9kZSA9IHsKIAkwLCBGQl9WTU9ERV9OT05JTlRFUkxBQ0VECiB9OwogCi1z dGF0aWMgc3RydWN0IGZiX29wcyBhdHlmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZi X29wcyBhdHlmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0g YXR5ZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQk9IGF0eWZiX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9yYWRlb25fYmFzZS5jIGIvZHJpdmVycy92aWRlby9mYmRl di9hdHkvcmFkZW9uX2Jhc2UuYwppbmRleCA0Y2EwNzg2NmYyZjYuLjNhZjAwZTNiOTY1ZSAxMDA2 NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hdHkvcmFkZW9uX2Jhc2UuYworKysgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9yYWRlb25fYmFzZS5jCkBAIC0xOTY1LDcgKzE5NjUsNyBAQCBz dGF0aWMgaW50IHJhZGVvbmZiX3NldF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8pCiB9CiAKIAot c3RhdGljIHN0cnVjdCBmYl9vcHMgcmFkZW9uZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgcmFkZW9uZmJfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmZi X2NoZWNrX3ZhcgkJPSByYWRlb25mYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJCT0gcmFkZW9u ZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXUxMTAwZmIuYyBi L2RyaXZlcnMvdmlkZW8vZmJkZXYvYXUxMTAwZmIuYwppbmRleCA5OTk0MWFlMWYzYTEuLjM3YTY1 MTJmZWRhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hdTExMDBmYi5jCisrKyBi L2RyaXZlcnMvdmlkZW8vZmJkZXYvYXUxMTAwZmIuYwpAQCAtMzQ4LDcgKzM0OCw3IEBAIGludCBh dTExMDBmYl9mYl9tbWFwKHN0cnVjdCBmYl9pbmZvICpmYmksIHN0cnVjdCB2bV9hcmVhX3N0cnVj dCAqdm1hKQogCQkJZmJkZXYtPmZiX2xlbik7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGF1 MTEwMGZiX29wcyA9CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhdTExMDBmYl9vcHMgPQog ewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3NldGNvbHJlZwkJPSBhdTExMDBmYl9m Yl9zZXRjb2xyZWcsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F1MTIwMGZiLmMg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F1MTIwMGZiLmMKaW5kZXggMjY1ZDNiNDVlZmQwLi5jMDBl MDFhMTczNjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXUxMjAwZmIuYworKysg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F1MTIwMGZiLmMKQEAgLTE0ODMsNyArMTQ4Myw3IEBAIHN0 YXRpYyBpbnQgYXUxMjAwZmJfaW9jdGwoc3RydWN0IGZiX2luZm8gKmluZm8sIHVuc2lnbmVkIGlu dCBjbWQsCiB9CiAKIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgYXUxMjAwZmJfZmJfb3BzID0gewor c3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgYXUxMjAwZmJfZmJfb3BzID0gewogCS5vd25lcgkJ PSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyCT0gYXUxMjAwZmJfZmJfY2hlY2tfdmFyLAog CS5mYl9zZXRfcGFyCT0gYXUxMjAwZmJfZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvYnJvYWRzaGVldGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2Jyb2Fkc2hl ZXRmYi5jCmluZGV4IGQ2YmEzNDhkZWI5Zi4uZmQ2NmY0ZDRhNjIxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2Jyb2Fkc2hlZXRmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv YnJvYWRzaGVldGZiLmMKQEAgLTEwNDgsNyArMTA0OCw3IEBAIHN0YXRpYyBzc2l6ZV90IGJyb2Fk c2hlZXRmYl93cml0ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3QgY2hhciBfX3VzZXIgKmJ1 ZiwKIAlyZXR1cm4gKGVycikgPyBlcnIgOiBjb3VudDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9v cHMgYnJvYWRzaGVldGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGJyb2Fk c2hlZXRmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFkICAgICAg ICA9IGZiX3N5c19yZWFkLAogCS5mYl93cml0ZQk9IGJyb2Fkc2hlZXRmYl93cml0ZSwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYncyLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2J3 Mi5jCmluZGV4IDQzNmYxMGYzZDM3NS4uMGQ5YTZiYjU3YTA5IDEwMDY0NAotLS0gYS9kcml2ZXJz L3ZpZGVvL2ZiZGV2L2J3Mi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYncyLmMKQEAgLTM3 LDcgKzM3LDcgQEAgc3RhdGljIGludCBidzJfaW9jdGwoc3RydWN0IGZiX2luZm8gKiwgdW5zaWdu ZWQgaW50LCB1bnNpZ25lZCBsb25nKTsKICAqICBGcmFtZSBidWZmZXIgb3BlcmF0aW9ucwogICov CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGJ3Ml9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0 IGZiX29wcyBidzJfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2JsYW5r CQk9IGJ3Ml9ibGFuaywKIAkuZmJfZmlsbHJlY3QJCT0gY2ZiX2ZpbGxyZWN0LApkaWZmIC0tZ2l0 IGEvZHJpdmVycy92aWRlby9mYmRldi9jYXJtaW5lZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv Y2FybWluZWZiLmMKaW5kZXggOWYzYmUwMjU4NjIzLi5iZjNmMmE5NTk4YjEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvdmlkZW8vZmJkZXYvY2FybWluZWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRl di9jYXJtaW5lZmIuYwpAQCAtNTI3LDcgKzUyNyw3IEBAIHN0YXRpYyBpbnQgaW5pdF9oYXJkd2Fy ZShzdHJ1Y3QgY2FybWluZV9odyAqaHcpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3Qg ZmJfb3BzIGNhcm1pbmVmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBjYXJt aW5lZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfZmlsbHJlY3QJPSBj ZmJfZmlsbHJlY3QsCiAJLmZiX2NvcHlhcmVhCT0gY2ZiX2NvcHlhcmVhLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy92aWRlby9mYmRldi9jZzE0LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NnMTQuYwpp bmRleCBkODBkOTlkYjNhNDYuLmE2MjBiNTFjZjdkMCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRl by9mYmRldi9jZzE0LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9jZzE0LmMKQEAgLTM5LDcg KzM5LDcgQEAgc3RhdGljIGludCBjZzE0X3Bhbl9kaXNwbGF5KHN0cnVjdCBmYl92YXJfc2NyZWVu aW5mbyAqLCBzdHJ1Y3QgZmJfaW5mbyAqKTsKICAqICBGcmFtZSBidWZmZXIgb3BlcmF0aW9ucwog ICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGNnMTRfb3BzID0geworc3RhdGljIGNvbnN0IHN0 cnVjdCBmYl9vcHMgY2cxNF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJf c2V0Y29scmVnCQk9IGNnMTRfc2V0Y29scmVnLAogCS5mYl9wYW5fZGlzcGxheQkJPSBjZzE0X3Bh bl9kaXNwbGF5LApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9jZzMuYyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvY2czLmMKaW5kZXggMDlmNjE2ZGRkZmQ3Li43N2Y2NDcwY2U2NjUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2czLmMKKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9jZzMuYwpAQCAtMzksNyArMzksNyBAQCBzdGF0aWMgaW50IGNnM19pb2N0bChzdHJ1Y3Qg ZmJfaW5mbyAqLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGxvbmcpOwogICogIEZyYW1lIGJ1ZmZl ciBvcGVyYXRpb25zCiAgKi8KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgY2czX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNnM19vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01P RFVMRSwKIAkuZmJfc2V0Y29scmVnCQk9IGNnM19zZXRjb2xyZWcsCiAJLmZiX2JsYW5rCQk9IGNn M19ibGFuaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2c2LmMgYi9kcml2ZXJz L3ZpZGVvL2ZiZGV2L2NnNi5jCmluZGV4IGQ1ODg4YWVjYzJmYi4uYTFjNjhjZDQ4ZDdlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NnNi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvY2c2LmMKQEAgLTQ0LDcgKzQ0LDcgQEAgc3RhdGljIGludCBjZzZfcGFuX2Rpc3BsYXkoc3Ry dWN0IGZiX3Zhcl9zY3JlZW5pbmZvICosIHN0cnVjdCBmYl9pbmZvICopOwogICogIEZyYW1lIGJ1 ZmZlciBvcGVyYXRpb25zCiAgKi8KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgY2c2X29wcyA9IHsK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNnNl9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElT X01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCQk9IGNnNl9zZXRjb2xyZWcsCiAJLmZiX2JsYW5rCQk9 IGNnNl9ibGFuaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2hpcHNmYi5jIGIv ZHJpdmVycy92aWRlby9mYmRldi9jaGlwc2ZiLmMKaW5kZXggZjRkYzMyMGRjYWZlLi45OTgwNjdi NzAxZmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2hpcHNmYi5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvY2hpcHNmYi5jCkBAIC03OSw3ICs3OSw3IEBAIHN0YXRpYyBpbnQg Y2hpcHNmYl9zZXRjb2xyZWcodV9pbnQgcmVnbm8sIHVfaW50IHJlZCwgdV9pbnQgZ3JlZW4sIHVf aW50IGJsdWUsCiAJCQkgICAgIHVfaW50IHRyYW5zcCwgc3RydWN0IGZiX2luZm8gKmluZm8pOwog c3RhdGljIGludCBjaGlwc2ZiX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2luZm8gKmluZm8p OwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBjaGlwc2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZmJfb3BzIGNoaXBzZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAku ZmJfY2hlY2tfdmFyCT0gY2hpcHNmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBjaGlwc2Zi X3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NpcnJ1c2ZiLmMgYi9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2NpcnJ1c2ZiLmMKaW5kZXggZTRjZTU2NjdiMTI1Li5jM2EzZTM0 NGNlZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2lycnVzZmIuYworKysgYi9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2NpcnJ1c2ZiLmMKQEAgLTE5NTYsNyArMTk1Niw3IEBAIHN0YXRp YyB2b2lkIGNpcnJ1c2ZiX3pvcnJvX3VubWFwKHN0cnVjdCBmYl9pbmZvICppbmZvKQogI2VuZGlm IC8qIENPTkZJR19aT1JSTyAqLwogCiAvKiBmdW5jdGlvbiB0YWJsZSBvZiB0aGUgYWJvdmUgZnVu Y3Rpb25zICovCi1zdGF0aWMgc3RydWN0IGZiX29wcyBjaXJydXNmYl9vcHMgPSB7CitzdGF0aWMg Y29uc3Qgc3RydWN0IGZiX29wcyBjaXJydXNmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9E VUxFLAogCS5mYl9vcGVuCT0gY2lycnVzZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQk9IGNpcnJ1c2Zi X3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NscHM3MTF4LWZiLmMg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NscHM3MTF4LWZiLmMKaW5kZXggY2FiYmM3MjFmODk0Li5j NWQxNWM2ZGIyODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2xwczcxMXgtZmIu YworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NscHM3MTF4LWZiLmMKQEAgLTE1Myw3ICsxNTMs NyBAQCBzdGF0aWMgaW50IGNscHM3MTF4X2ZiX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2lu Zm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGNscHM3MTF4 X2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNscHM3MTF4X2ZiX29wcyA9 IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3NldGNvbHJlZwk9IGNscHM3MTF4X2Zi X3NldGNvbHJlZywKIAkuZmJfY2hlY2tfdmFyCT0gY2xwczcxMXhfZmJfY2hlY2tfdmFyLApkaWZm IC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9jb2JhbHRfbGNkZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvY29iYWx0X2xjZGZiLmMKaW5kZXggNTQ0OTQ2OTAxZThiLi41ZjhiNjMyNGQyZTgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY29iYWx0X2xjZGZiLmMKKysrIGIvZHJp dmVycy92aWRlby9mYmRldi9jb2JhbHRfbGNkZmIuYwpAQCAtMjY5LDcgKzI2OSw3IEBAIHN0YXRp YyBpbnQgY29iYWx0X2xjZGZiX2N1cnNvcihzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgc3RydWN0IGZi X2N1cnNvciAqY3Vyc29yKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBj b2JhbHRfbGNkX2Zib3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgY29iYWx0X2xj ZF9mYm9wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3JlYWQJPSBjb2JhbHRf bGNkZmJfcmVhZCwKIAkuZmJfd3JpdGUJPSBjb2JhbHRfbGNkZmJfd3JpdGUsCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvbnRyb2xmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9j b250cm9sZmIuYwppbmRleCA5YTY4MGVmM2ZmYzMuLjM4YjYxY2RiNWNhNCAxMDA2NDQKLS0tIGEv ZHJpdmVycy92aWRlby9mYmRldi9jb250cm9sZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2NvbnRyb2xmYi5jCkBAIC0xNTcsNyArMTU3LDcgQEAgc3RhdGljIGludCBkZWZhdWx0X3Ztb2Rl IF9faW5pdGRhdGEgPSBWTU9ERV9OVlJBTTsKIHN0YXRpYyBpbnQgZGVmYXVsdF9jbW9kZSBfX2lu aXRkYXRhID0gQ01PREVfTlZSQU07CiAKIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgY29udHJvbGZi X29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNvbnRyb2xmYl9vcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBjb250cm9sZmJfY2hlY2tf dmFyLAogCS5mYl9zZXRfcGFyCT0gY29udHJvbGZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2N5YmVyMjAwMGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2N5YmVy MjAwMGZiLmMKaW5kZXggM2EyZDlmZjBhYTQyLi40NjA4MjZhN2FkNTUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvY3liZXIyMDAwZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2N5YmVyMjAwMGZiLmMKQEAgLTEwNjAsNyArMTA2MCw3IEBAIHN0YXRpYyBpbnQgY3liZXIyMDAw ZmJfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgY3liZXIyMDAwZmJfb3BzID0geworc3RhdGljIGNvbnN0 IHN0cnVjdCBmYl9vcHMgY3liZXIyMDAwZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVM RSwKIAkuZmJfY2hlY2tfdmFyCT0gY3liZXIyMDAwZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFy CT0gY3liZXIyMDAwZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYv ZGE4eHgtZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZGE4eHgtZmIuYwppbmRleCAyZDNkY2M1 MmZjZjMuLjczYzNjNGM4Y2MxMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9kYTh4 eC1mYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZGE4eHgtZmIuYwpAQCAtMTI5NCw3ICsx Mjk0LDcgQEAgc3RhdGljIGludCBkYTh4eGZiX3NldF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8p CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGRhOHh4X2ZiX29wcyA9IHsK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGRhOHh4X2ZiX29wcyA9IHsKIAkub3duZXIgPSBU SElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyID0gZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFy ID0gZGE4eHhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9kbmZi LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2RuZmIuYwppbmRleCA4ZGE1MTdlYWE0YTMuLjM2ODhm OTE2NTg0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9kbmZiLmMKKysrIGIvZHJp dmVycy92aWRlby9mYmRldi9kbmZiLmMKQEAgLTEwOCw3ICsxMDgsNyBAQAogc3RhdGljIGludCBk bmZiX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2luZm8gKmluZm8pOwogc3RhdGljIHZvaWQg ZG5mYl9jb3B5YXJlYShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IGZiX2NvcHlh cmVhICphcmVhKTsKIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgZG5fZmJfb3BzID0geworc3RhdGlj IGNvbnN0IHN0cnVjdCBmYl9vcHMgZG5fZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVM RSwKIAkuZmJfYmxhbmsJPSBkbmZiX2JsYW5rLAogCS5mYl9maWxscmVjdAk9IGNmYl9maWxscmVj dCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZWZpZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvZWZpZmIuYwppbmRleCA1MWQ5N2VjNGY1OGYuLmYwM2Y5ZmI2MGMyNiAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9lZmlmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvZWZpZmIuYwpAQCAtMjU1LDcgKzI1NSw3IEBAIHN0YXRpYyB2b2lkIGVmaWZiX2Rlc3Ryb3ko c3RydWN0IGZiX2luZm8gKmluZm8pCiAJZmJfZGVhbGxvY19jbWFwKCZpbmZvLT5jbWFwKTsKIH0K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgZWZpZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgZWZpZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfZGVz dHJveQk9IGVmaWZiX2Rlc3Ryb3ksCiAJLmZiX3NldGNvbHJlZwk9IGVmaWZiX3NldGNvbHJlZywK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZXA5M3h4LWZiLmMgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L2VwOTN4eC1mYi5jCmluZGV4IGQwNGEwNDcwOTRmYy4uY2RhMmVmMzM3NDIzIDEw MDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2VwOTN4eC1mYi5jCisrKyBiL2RyaXZlcnMv dmlkZW8vZmJkZXYvZXA5M3h4LWZiLmMKQEAgLTQwMiw3ICs0MDIsNyBAQCBzdGF0aWMgaW50IGVw OTN4eGZiX3NldGNvbHJlZyh1bnNpZ25lZCBpbnQgcmVnbm8sIHVuc2lnbmVkIGludCByZWQsCiAJ cmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGVwOTN4eGZiX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGVwOTN4eGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJ U19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGVwOTN4eGZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0 X3Bhcgk9IGVwOTN4eGZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2ZiLXB1djMuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZmItcHV2My5jCmluZGV4IGZhNjJjNGRm ZjdkMS4uNzVkZjZhYWJhYzIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2ZiLXB1 djMuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2ZiLXB1djMuYwpAQCAtNjQ0LDcgKzY0NCw3 IEBAIGludCB1bmlmYl9tbWFwKHN0cnVjdCBmYl9pbmZvICppbmZvLAogCXJldHVybiB2bV9pb21h cF9tZW1vcnkodm1hLCBpbmZvLT5maXguc21lbV9zdGFydCwgaW5mby0+Zml4LnNtZW1fbGVuKTsK IH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgdW5pZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0 cnVjdCBmYl9vcHMgdW5pZmJfb3BzID0gewogCS5mYl9yZWFkICAgICAgICA9IGZiX3N5c19yZWFk LAogCS5mYl93cml0ZSAgICAgICA9IGZiX3N5c193cml0ZSwKIAkuZmJfY2hlY2tfdmFyCT0gdW5p ZmJfY2hlY2tfdmFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9mZmIuYyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvZmZiLmMKaW5kZXggY2QyZDFkYjIzOWEyLi45NDhiNzMxODQ0MzMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZmZiLmMKKysrIGIvZHJpdmVycy92aWRl by9mYmRldi9mZmIuYwpAQCAtNDQsNyArNDQsNyBAQCBzdGF0aWMgaW50IGZmYl9wYW5fZGlzcGxh eShzdHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8gKiwgc3RydWN0IGZiX2luZm8gKik7CiAgKiAgRnJh bWUgYnVmZmVyIG9wZXJhdGlvbnMKICAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBmZmJfb3Bz ID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgZmZiX29wcyA9IHsKIAkub3duZXIJCQk9 IFRISVNfTU9EVUxFLAogCS5mYl9zZXRjb2xyZWcJCT0gZmZiX3NldGNvbHJlZywKIAkuZmJfYmxh bmsJCT0gZmZiX2JsYW5rLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9mbTJmYi5j IGIvZHJpdmVycy92aWRlby9mYmRldi9mbTJmYi5jCmluZGV4IGFjN2E0ZWJmZDM5MC4uM2I3Mjdk NTI4ZmRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2ZtMmZiLmMKKysrIGIvZHJp dmVycy92aWRlby9mYmRldi9mbTJmYi5jCkBAIC0xNjUsNyArMTY1LDcgQEAgc3RhdGljIGludCBm bTJmYl9zZXRjb2xyZWcodV9pbnQgcmVnbm8sIHVfaW50IHJlZCwgdV9pbnQgZ3JlZW4sIHVfaW50 IGJsdWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1X2ludCB0cmFuc3AsIHN0cnVjdCBm Yl9pbmZvICppbmZvKTsKIHN0YXRpYyBpbnQgZm0yZmJfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbyk7CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGZtMmZiX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGZtMmZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19N T0RVTEUsCiAJLmZiX3NldGNvbHJlZwk9IGZtMmZiX3NldGNvbHJlZywKIAkuZmJfYmxhbmsJPSBm bTJmYl9ibGFuaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZnNsLWRpdS1mYi5j IGIvZHJpdmVycy92aWRlby9mYmRldi9mc2wtZGl1LWZiLmMKaW5kZXggZDE5ZjU4MjYzYjRlLi43 Y2FjYWJkZDVmMTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZnNsLWRpdS1mYi5j CisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZnNsLWRpdS1mYi5jCkBAIC0xNDQ4LDcgKzE0NDgs NyBAQCBzdGF0aWMgaW50IGZzbF9kaXVfcmVsZWFzZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgaW50 IHVzZXIpCiAJcmV0dXJuIHJlczsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgZnNsX2RpdV9v cHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBmc2xfZGl1X29wcyA9IHsKIAkub3du ZXIgPSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyID0gZnNsX2RpdV9jaGVja192YXIsCiAJ LmZiX3NldF9wYXIgPSBmc2xfZGl1X3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L2czNjRmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9nMzY0ZmIuYwppbmRleCAyMjM4 OTZjYzVmN2QuLjg0NWI3OWRhMmE3YyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9n MzY0ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2czNjRmYi5jCkBAIC0xMTEsNyArMTEx LDcgQEAgc3RhdGljIGludCBnMzY0ZmJfc2V0Y29scmVnKHVfaW50IHJlZ25vLCB1X2ludCByZWQs IHVfaW50IGdyZWVuLAogc3RhdGljIGludCBnMzY0ZmJfY3Vyc29yKHN0cnVjdCBmYl9pbmZvICpp bmZvLCBzdHJ1Y3QgZmJfY3Vyc29yICpjdXJzb3IpOwogc3RhdGljIGludCBnMzY0ZmJfYmxhbmso aW50IGJsYW5rLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3Bz IGczNjRmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBnMzY0ZmJfb3BzID0g ewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCT0gZzM2NGZiX3NldGNv bHJlZywKIAkuZmJfcGFuX2Rpc3BsYXkJPSBnMzY0ZmJfcGFuX2Rpc3BsYXksCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2diZWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2diZWZi LmMKaW5kZXggYjlmNmE4MmEwNDk1Li4zMTI3MGE4OTg2ZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvZ2JlZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2diZWZiLmMKQEAg LTEwNDQsNyArMTA0NCw3IEBAIHN0YXRpYyBpbnQgZ2JlZmJfbW1hcChzdHJ1Y3QgZmJfaW5mbyAq aW5mbywKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgZ2JlZmJfb3BzID0g eworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgZ2JlZmJfb3BzID0gewogCS5vd25lcgkJPSBU SElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyCT0gZ2JlZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRf cGFyCT0gZ2JlZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZ2Vv ZGUvZ3gxZmJfY29yZS5jIGIvZHJpdmVycy92aWRlby9mYmRldi9nZW9kZS9neDFmYl9jb3JlLmMK aW5kZXggNzM3ZTQ3MmZhYzE0Li41ZDM0ZDg5ZmI2NjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlk ZW8vZmJkZXYvZ2VvZGUvZ3gxZmJfY29yZS5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZ2Vv ZGUvZ3gxZmJfY29yZS5jCkBAIC0yNTIsNyArMjUyLDcgQEAgc3RhdGljIGludCBwYXJzZV9wYW5l bF9vcHRpb24oc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBz dHJ1Y3QgZmJfb3BzIGd4MWZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGd4 MWZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGd4 MWZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IGd4MWZiX3NldF9wYXIsCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2dlb2RlL2d4ZmJfY29yZS5jIGIvZHJpdmVycy92aWRlby9m YmRldi9nZW9kZS9neGZiX2NvcmUuYwppbmRleCA0MzVjZTJhYTQyNDAuLmQzOGExNDhkNDc0NiAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9nZW9kZS9neGZiX2NvcmUuYworKysgYi9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2dlb2RlL2d4ZmJfY29yZS5jCkBAIC0yNjUsNyArMjY1LDcgQEAg c3RhdGljIGludCBneGZiX21hcF92aWRlb19tZW1vcnkoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0 cnVjdCBwY2lfZGV2ICpkZXYpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3Bz IGd4ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgZ3hmYl9vcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBneGZiX2NoZWNrX3ZhciwK IAkuZmJfc2V0X3Bhcgk9IGd4ZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8v ZmJkZXYvZ2VvZGUvbHhmYl9jb3JlLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2dlb2RlL2x4ZmJf Y29yZS5jCmluZGV4IGIwZjA3ZDY3NmViMy4uYWRjMmQ5YzIzOTVlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2dlb2RlL2x4ZmJfY29yZS5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvZ2VvZGUvbHhmYl9jb3JlLmMKQEAgLTM4Niw3ICszODYsNyBAQCBzdGF0aWMgaW50IGx4ZmJf bWFwX3ZpZGVvX21lbW9yeShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgc3RydWN0IHBjaV9kZXYgKmRl dikKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgbHhmYl9vcHMgPSB7Citz dGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBseGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19N T0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGx4ZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0g bHhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9nb2xkZmlzaGZi LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2dvbGRmaXNoZmIuYwppbmRleCBmNjBhYzI3NjcwM2Qu LjljODNlYzNmOGUxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9nb2xkZmlzaGZi LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9nb2xkZmlzaGZiLmMKQEAgLTE2MCw3ICsxNjAs NyBAQCBzdGF0aWMgaW50IGdvbGRmaXNoX2ZiX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2lu Zm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGdvbGRmaXNo X2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGdvbGRmaXNoX2ZiX29wcyA9 IHsKIAkub3duZXIgICAgICAgICAgPSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyICAgPSBn b2xkZmlzaF9mYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIgICAgID0gZ29sZGZpc2hfZmJfc2V0 X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZ3J2Z2EuYyBiL2RyaXZlcnMv dmlkZW8vZmJkZXYvZ3J2Z2EuYwppbmRleCBkMjJlOGIwYzkwNmQuLjA3ZGRhMDNlMDk1NyAxMDA2 NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9ncnZnYS5jCisrKyBiL2RyaXZlcnMvdmlkZW8v ZmJkZXYvZ3J2Z2EuYwpAQCAtMjUxLDcgKzI1MSw3IEBAIHN0YXRpYyBpbnQgZ3J2Z2FfcGFuX2Rp c3BsYXkoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCiAJcmV0dXJuIDA7CiB9CiAKLXN0 YXRpYyBzdHJ1Y3QgZmJfb3BzIGdydmdhX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJf b3BzIGdydmdhX29wcyA9IHsKIAkub3duZXIgICAgICAgICAgPSBUSElTX01PRFVMRSwKIAkuZmJf Y2hlY2tfdmFyICAgPSBncnZnYV9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBncnZnYV9zZXRf cGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9neHQ0NTAwLmMgYi9kcml2ZXJz L3ZpZGVvL2ZiZGV2L2d4dDQ1MDAuYwppbmRleCBjNzUwMmZkOGY0NDcuLjEzZGVkM2ExMDcwOCAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9neHQ0NTAwLmMKKysrIGIvZHJpdmVycy92 aWRlby9mYmRldi9neHQ0NTAwLmMKQEAgLTU5OSw3ICs1OTksNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGZiX2ZpeF9zY3JlZW5pbmZvIGd4dDQ1MDBfZml4ID0gewogCS5tbWlvX2xlbiA9IDB4MjAw MDAsCiB9OwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBneHQ0NTAwX29wcyA9IHsKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZmJfb3BzIGd4dDQ1MDBfb3BzID0gewogCS5vd25lciA9IFRISVNfTU9EVUxF LAogCS5mYl9jaGVja192YXIgPSBneHQ0NTAwX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3BhciA9IGd4 dDQ1MDBfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaGVjdWJhZmIu YyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaGVjdWJhZmIuYwppbmRleCA4NTc3MTk1Y2I1MzMuLjAw ZDc3MTA1MTYxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9oZWN1YmFmYi5jCisr KyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaGVjdWJhZmIuYwpAQCAtMTk3LDcgKzE5Nyw3IEBAIHN0 YXRpYyBzc2l6ZV90IGhlY3ViYWZiX3dyaXRlKHN0cnVjdCBmYl9pbmZvICppbmZvLCBjb25zdCBj aGFyIF9fdXNlciAqYnVmLAogCXJldHVybiAoZXJyKSA/IGVyciA6IGNvdW50OwogfQogCi1zdGF0 aWMgc3RydWN0IGZiX29wcyBoZWN1YmFmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZi X29wcyBoZWN1YmFmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFk ICAgICAgICA9IGZiX3N5c19yZWFkLAogCS5mYl93cml0ZQk9IGhlY3ViYWZiX3dyaXRlLApkaWZm IC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9oZ2FmYi5jIGIvZHJpdmVycy92aWRlby9mYmRl di9oZ2FmYi5jCmluZGV4IDU5ZTFjYWU1Nzk0OC4uYTQ1ZmNmZjE0NjFmIDEwMDY0NAotLS0gYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2hnYWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9oZ2Fm Yi5jCkBAIC01MjMsNyArNTIzLDcgQEAgc3RhdGljIHZvaWQgaGdhZmJfaW1hZ2VibGl0KHN0cnVj dCBmYl9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgZmJfaW1hZ2UgKmltYWdlKQogCX0KIH0KIAot c3RhdGljIHN0cnVjdCBmYl9vcHMgaGdhZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBm Yl9vcHMgaGdhZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfb3Blbgk9 IGhnYWZiX29wZW4sCiAJLmZiX3JlbGVhc2UJPSBoZ2FmYl9yZWxlYXNlLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy92aWRlby9mYmRldi9oaXRmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9oaXRmYi5j CmluZGV4IGFiZTNlNTRkNDUwNi4uMDA5ZTVkMmFhMTAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L2hpdGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9oaXRmYi5jCkBAIC0z MTEsNyArMzExLDcgQEAgc3RhdGljIGludCBoaXRmYl9zZXRfcGFyKHN0cnVjdCBmYl9pbmZvICpp bmZvKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBoaXRmYl9vcHMgPSB7 CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBoaXRmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRI SVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBoaXRmYl9jaGVja192YXIsCiAJLmZiX3NldF9w YXIJCT0gaGl0ZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaHBm Yi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9ocGZiLmMKaW5kZXggYTc5YWY4ZjA2OWQxLi5mMDJi ZTBkYjMzNWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaHBmYi5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvaHBmYi5jCkBAIC0xODQsNyArMTg0LDcgQEAgc3RhdGljIGludCBo cGZiX3N5bmMoc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBz dHJ1Y3QgZmJfb3BzIGhwZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgaHBm Yl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9zZXRjb2xyZWcJPSBocGZi X3NldGNvbHJlZywKIAkuZmJfYmxhbmsJPSBocGZiX2JsYW5rLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy92aWRlby9mYmRldi9oeXBlcnZfZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaHlwZXJ2X2Zi LmMKaW5kZXggMmRjYjdjNThiMzFlLi5mY2Q1NDZlNWMwMzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvaHlwZXJ2X2ZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9oeXBlcnZf ZmIuYwpAQCAtNjIzLDcgKzYyMyw3IEBAIHN0YXRpYyB2b2lkIGh2ZmJfY2ZiX2ltYWdlYmxpdChz dHJ1Y3QgZmJfaW5mbyAqcCwKIAkJc3ludGh2aWRfdXBkYXRlKHApOwogfQogCi1zdGF0aWMgc3Ry dWN0IGZiX29wcyBodmZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGh2ZmJf b3BzID0gewogCS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIgPSBodmZiX2No ZWNrX3ZhciwKIAkuZmJfc2V0X3BhciA9IGh2ZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvaTc0MGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2k3NDBmYi5jCmlu ZGV4IDM0N2NmOGJhYmMzZS4uYzY1ZWM3Mzg2ZTg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L2k3NDBmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaTc0MGZiLmMKQEAgLTk4 MSw3ICs5ODEsNyBAQCBzdGF0aWMgaW50IGk3NDBmYl9ibGFuayhpbnQgYmxhbmtfbW9kZSwgc3Ry dWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIChibGFua19tb2RlID09IEZCX0JMQU5LX05PUk1B TCkgPyAxIDogMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgaTc0MGZiX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGk3NDBmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNf TU9EVUxFLAogCS5mYl9vcGVuCT0gaTc0MGZiX29wZW4sCiAJLmZiX3JlbGVhc2UJPSBpNzQwZmJf cmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaW1zdHRmYi5jIGIvZHJp dmVycy92aWRlby9mYmRldi9pbXN0dGZiLmMKaW5kZXggNThiMDFjN2Q5MDU2Li4zYWMwNTNiODg0 OTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaW1zdHRmYi5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvaW1zdHRmYi5jCkBAIC0xMzMzLDcgKzEzMzMsNyBAQCBzdGF0aWMgc3Ry dWN0IHBjaV9kcml2ZXIgaW1zdHRmYl9wY2lfZHJpdmVyID0gewogCS5yZW1vdmUgPQlpbXN0dGZi X3JlbW92ZSwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGltc3R0ZmJfb3BzID0geworc3Rh dGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgaW1zdHRmYl9vcHMgPSB7CiAJLm93bmVyIAkJPSBUSElT X01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyCT0gaW1zdHRmYl9jaGVja192YXIsCiAJLmZiX3NldF9w YXIgCT0gaW1zdHRmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9p bXhmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9pbXhmYi5jCmluZGV4IGIzMjg2ZDFmYTU0My4u MDhhMTdlYjJhNWM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2lteGZiLmMKKysr IGIvZHJpdmVycy92aWRlby9mYmRldi9pbXhmYi5jCkBAIC01NjYsNyArNTY2LDcgQEAgc3RhdGlj IGludCBpbXhmYl9ibGFuayhpbnQgYmxhbmssIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCXJldHVy biAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBpbXhmYl9vcHMgPSB7CitzdGF0aWMgY29u c3Qgc3RydWN0IGZiX29wcyBpbXhmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAog CS5mYl9jaGVja192YXIJPSBpbXhmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBpbXhmYl9z ZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9pbnRlbGZiL2ludGVsZmJk cnYuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaW50ZWxmYi9pbnRlbGZiZHJ2LmMKaW5kZXggYTc2 YzYxNTEyYzYwLi5jNzQ0ODkxNzgxYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYv aW50ZWxmYi9pbnRlbGZiZHJ2LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9pbnRlbGZiL2lu dGVsZmJkcnYuYwpAQCAtMTkzLDcgKzE5Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2Rl dmljZV9pZCBpbnRlbGZiX3BjaV90YWJsZVtdID0gewogc3RhdGljIGludCBudW1fcmVnaXN0ZXJl ZCA9IDA7CiAKIC8qIGZiIG9wcyAqLwotc3RhdGljIHN0cnVjdCBmYl9vcHMgaW50ZWxfZmJfb3Bz ID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgaW50ZWxfZmJfb3BzID0gewogCS5vd25l ciA9CQlUSElTX01PRFVMRSwKIAkuZmJfb3BlbiA9ICAgICAgICAgICAgICBpbnRlbGZiX29wZW4s CiAJLmZiX3JlbGVhc2UgPSAgICAgICAgICAgaW50ZWxmYl9yZWxlYXNlLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy92aWRlby9mYmRldi9reXJvL2ZiZGV2LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2t5 cm8vZmJkZXYuYwppbmRleCBhN2JkOWYyNTkxMWIuLjcyZGZmMmU0MmUzYSAxMDA2NDQKLS0tIGEv ZHJpdmVycy92aWRlby9mYmRldi9reXJvL2ZiZGV2LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRl di9reXJvL2ZiZGV2LmMKQEAgLTY0OCw3ICs2NDgsNyBAQCBzdGF0aWMgc3RydWN0IHBjaV9kcml2 ZXIga3lyb2ZiX3BjaV9kcml2ZXIgPSB7CiAJLnJlbW92ZQkJPSBreXJvZmJfcmVtb3ZlLAogfTsK IAotc3RhdGljIHN0cnVjdCBmYl9vcHMga3lyb2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgZmJfb3BzIGt5cm9mYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9j aGVja192YXIJPSBreXJvZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0ga3lyb2ZiX3NldF9w YXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2xlby5jIGIvZHJpdmVycy92aWRl by9mYmRldi9sZW8uYwppbmRleCA1YjExNDFhYzE4MmIuLjQwYjExY2NlMGFkNiAxMDA2NDQKLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9sZW8uYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2xl by5jCkBAIC0zOSw3ICszOSw3IEBAIHN0YXRpYyBpbnQgbGVvX3Bhbl9kaXNwbGF5KHN0cnVjdCBm Yl92YXJfc2NyZWVuaW5mbyAqLCBzdHJ1Y3QgZmJfaW5mbyAqKTsKICAqICBGcmFtZSBidWZmZXIg b3BlcmF0aW9ucwogICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGxlb19vcHMgPSB7CitzdGF0 aWMgY29uc3Qgc3RydWN0IGZiX29wcyBsZW9fb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RV TEUsCiAJLmZiX3NldGNvbHJlZwkJPSBsZW9fc2V0Y29scmVnLAogCS5mYl9ibGFuawkJPSBsZW9f YmxhbmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21hY2ZiLmMgYi9kcml2ZXJz L3ZpZGVvL2ZiZGV2L21hY2ZiLmMKaW5kZXggOWE2ZmVlZTk2MTMzLi5lMDVhOTc2NjJjYTggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWFjZmIuYworKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L21hY2ZiLmMKQEAgLTQ5Niw3ICs0OTYsNyBAQCBzdGF0aWMgaW50IG1hY2ZiX3NldGNv bHJlZyh1bnNpZ25lZCByZWdubywgdW5zaWduZWQgcmVkLCB1bnNpZ25lZCBncmVlbiwKIAlyZXR1 cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgbWFjZmJfb3BzID0geworc3RhdGljIGNv bnN0IHN0cnVjdCBmYl9vcHMgbWFjZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwK IAkuZmJfc2V0Y29scmVnCT0gbWFjZmJfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAk9IGNmYl9m aWxscmVjdCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWF0cm94L21hdHJveGZi X2NydGMyLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21hdHJveC9tYXRyb3hmYl9jcnRjMi5jCmlu ZGV4IGQyYTgxYTJjM2FjMC4uNzY1NWFmYTNmZDUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L21hdHJveC9tYXRyb3hmYl9jcnRjMi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv bWF0cm94L21hdHJveGZiX2NydGMyLmMKQEAgLTU2Myw3ICs1NjMsNyBAQCBzdGF0aWMgaW50IG1h dHJveGZiX2RoX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2luZm8qIGluZm8pIHsKICN1bmRl ZiBtMmluZm8KIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgbWF0cm94ZmJfZGhfb3BzID0gewor c3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgbWF0cm94ZmJfZGhfb3BzID0gewogCS5vd25lciA9 CVRISVNfTU9EVUxFLAogCS5mYl9vcGVuID0JbWF0cm94ZmJfZGhfb3BlbiwKIAkuZmJfcmVsZWFz ZSA9CW1hdHJveGZiX2RoX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L21heGluZWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21heGluZWZiLmMKaW5kZXggNWJiMWI1 YzMwOGE3Li5hZTFhNDJiY2IwZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWF4 aW5lZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21heGluZWZiLmMKQEAgLTEwNSw3ICsx MDUsNyBAQCBzdGF0aWMgaW50IG1heGluZWZiX3NldGNvbHJlZyh1bnNpZ25lZCByZWdubywgdW5z aWduZWQgcmVkLCB1bnNpZ25lZCBncmVlbiwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgbWF4aW5lZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgbWF4 aW5lZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCT0g bWF4aW5lZmJfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAk9IGNmYl9maWxscmVjdCwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWI4NjJ4eC9tYjg2Mnh4ZmJkcnYuYyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvbWI4NjJ4eC9tYjg2Mnh4ZmJkcnYuYwppbmRleCA5NjJjMDE3MWQyNzEu LjI5OGUxMGZlMDQwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9tYjg2Mnh4L21i ODYyeHhmYmRydi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWI4NjJ4eC9tYjg2Mnh4ZmJk cnYuYwpAQCAtNDAxLDcgKzQwMSw3IEBAIHN0YXRpYyBpbnQgbWI4NjJ4eGZiX2lvY3RsKHN0cnVj dCBmYl9pbmZvICpmYmksIHVuc2lnbmVkIGludCBjbWQsCiB9CiAKIC8qIGZyYW1lYnVmZmVyIG9w cyAqLwotc3RhdGljIHN0cnVjdCBmYl9vcHMgbWI4NjJ4eGZiX29wcyA9IHsKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgZmJfb3BzIG1iODYyeHhmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxF LAogCS5mYl9jaGVja192YXIJPSBtYjg2Mnh4ZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0g bWI4NjJ4eGZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21ieC9t YnhmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9tYngvbWJ4ZmIuYwppbmRleCA1MDkzNTI1MmI1 MGIuLjI1ZGFkNDUwN2Q3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9tYngvbWJ4 ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21ieC9tYnhmYi5jCkBAIC02NzEsNyArNjcx LDcgQEAgc3RhdGljIGludCBtYnhmYl9pb2N0bChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgdW5zaWdu ZWQgaW50IGNtZCwKIAlyZXR1cm4gLUVJTlZBTDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMg bWJ4ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgbWJ4ZmJfb3BzID0gewog CS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIgPSBtYnhmYl9jaGVja192YXIs CiAJLmZiX3NldF9wYXIgPSBtYnhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRl by9mYmRldi9tZXRyb25vbWVmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9tZXRyb25vbWVmYi5j CmluZGV4IGJiNGZlZTUyZTUwMS4uYTQyZTJlY2VlZTQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L21ldHJvbm9tZWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9tZXRyb25v bWVmYi5jCkBAIC01NTgsNyArNTU4LDcgQEAgc3RhdGljIHNzaXplX3QgbWV0cm9ub21lZmJfd3Jp dGUoc3RydWN0IGZiX2luZm8gKmluZm8sIGNvbnN0IGNoYXIgX191c2VyICpidWYsCiAJcmV0dXJu IChlcnIpID8gZXJyIDogY291bnQ7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIG1ldHJvbm9t ZWZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIG1ldHJvbm9tZWZiX29wcyA9 IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3dyaXRlCT0gbWV0cm9ub21lZmJfd3Jp dGUsCiAJLmZiX2ZpbGxyZWN0CT0gbWV0cm9ub21lZmJfZmlsbHJlY3QsCmRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L21tcC9mYi9tbXBmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9t bXAvZmIvbW1wZmIuYwppbmRleCA0N2JjN2M1OWJiZDguLjMzZGIwODUwMDg2ZiAxMDA2NDQKLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9tbXAvZmIvbW1wZmIuYworKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L21tcC9mYi9tbXBmYi5jCkBAIC00NTQsNyArNDU0LDcgQEAgc3RhdGljIGludCBtbXBm Yl9ibGFuayhpbnQgYmxhbmssIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCXJldHVybiAwOwogfQog Ci1zdGF0aWMgc3RydWN0IGZiX29wcyBtbXBmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0 IGZiX29wcyBtbXBmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9ibGFu awk9IG1tcGZiX2JsYW5rLAogCS5mYl9jaGVja192YXIJPSBtbXBmYl9jaGVja192YXIsCmRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L214M2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L214M2ZiLmMKaW5kZXggYmFmZDVmNWZhYzVhLi40YWYyOGU0NDIxZTUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvbXgzZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L214M2Zi LmMKQEAgLTEyNDksNyArMTI0OSw3IEBAIHN0YXRpYyBpbnQgbXgzZmJfcGFuX2Rpc3BsYXkoc3Ry dWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCiAgKiBpbnZva2VkIGJ5IHRoZSBjb3JlIGZyYW1l YnVmZmVyIGRyaXZlciB0byBwZXJmb3JtIG9wZXJhdGlvbnMgbGlrZQogICogYmxpdHRpbmcsIHJl Y3RhbmdsZSBmaWxsaW5nLCBjb3B5IHJlZ2lvbnMgYW5kIGN1cnNvciBkZWZpbml0aW9uLgogICov Ci1zdGF0aWMgc3RydWN0IGZiX29wcyBteDNmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0 IGZiX29wcyBteDNmYl9vcHMgPSB7CiAJLm93bmVyID0gVEhJU19NT0RVTEUsCiAJLmZiX3NldF9w YXIgPSBteDNmYl9zZXRfcGFyLAogCS5mYl9jaGVja192YXIgPSBteDNmYl9jaGVja192YXIsCkBA IC0xMzg5LDcgKzEzODksOCBAQCBzdGF0aWMgaW50IG14M2ZiX3VubWFwX3ZpZGVvX21lbW9yeShz dHJ1Y3QgZmJfaW5mbyAqZmJpKQogICogbXgzZmJfaW5pdF9mYmluZm8oKSAtIGluaXRpYWxpemUg ZnJhbWVidWZmZXIgaW5mb3JtYXRpb24gb2JqZWN0LgogICogQHJldHVybjoJaW5pdGlhbGl6ZWQg ZnJhbWVidWZmZXIgc3RydWN0dXJlLgogICovCi1zdGF0aWMgc3RydWN0IGZiX2luZm8gKm14M2Zi X2luaXRfZmJpbmZvKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGZiX29wcyAqb3BzKQorc3Rh dGljIHN0cnVjdCBmYl9pbmZvICpteDNmYl9pbml0X2ZiaW5mbyhzdHJ1Y3QgZGV2aWNlICpkZXYs CisJCQkJCSBjb25zdCBzdHJ1Y3QgZmJfb3BzICpvcHMpCiB7CiAJc3RydWN0IGZiX2luZm8gKmZi aTsKIAlzdHJ1Y3QgbXgzZmJfaW5mbyAqbXgzZmJpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRl by9mYmRldi9uZW9mYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9uZW9mYi5jCmluZGV4IGI3NzA5 NDZhMDkyMC4uZTZlYTg1M2MxNzIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L25l b2ZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9uZW9mYi5jCkBAIC0xNjEwLDcgKzE2MTAs NyBAQCBuZW9mYl9jdXJzb3Ioc3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCBmYl9jdXJzb3Ig KmN1cnNvcikKIH0KICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIG5lb2ZiX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIG5lb2ZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19N T0RVTEUsCiAJLmZiX29wZW4JPSBuZW9mYl9vcGVuLAogCS5mYl9yZWxlYXNlCT0gbmVvZmJfcmVs ZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbnZpZGlhL252aWRpYS5jIGIv ZHJpdmVycy92aWRlby9mYmRldi9udmlkaWEvbnZpZGlhLmMKaW5kZXggZmJlZWVkNWFmZTM1Li44 YTI1MjdiMGZkMjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbnZpZGlhL252aWRp YS5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvbnZpZGlhL252aWRpYS5jCkBAIC0xMDI0LDcg KzEwMjQsNyBAQCBzdGF0aWMgaW50IG52aWRpYWZiX3JlbGVhc2Uoc3RydWN0IGZiX2luZm8gKmlu Zm8sIGludCB1c2VyKQogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIG52 aWRpYV9mYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBudmlkaWFfZmJfb3Bz ID0gewogCS5vd25lciAgICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuICAgICAgICA9 IG52aWRpYWZiX29wZW4sCiAJLmZiX3JlbGVhc2UgICAgID0gbnZpZGlhZmJfcmVsZWFzZSwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvb2NmYi5jIGIvZHJpdmVycy92aWRlby9mYmRl di9vY2ZiLmMKaW5kZXggYTk3MGVkYzJhNmY4Li5jOGNlZTJkODkwZGMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvb2NmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvb2NmYi5j CkBAIC0yODUsNyArMjg1LDcgQEAgc3RhdGljIGludCBvY2ZiX2luaXRfdmFyKHN0cnVjdCBvY2Zi X2RldiAqZmJkZXYpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIG9jZmJf b3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgb2NmYl9vcHMgPSB7CiAJLm93bmVy CQk9IFRISVNfTU9EVUxFLAogCS5mYl9zZXRjb2xyZWcJPSBvY2ZiX3NldGNvbHJlZywKIAkuZmJf ZmlsbHJlY3QJPSBjZmJfZmlsbHJlY3QsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L29mZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvb2ZmYi5jCmluZGV4IGZiYzZlYWZiNjNjNy4u NWNkMGY1ZjZhNGFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L29mZmIuYworKysg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L29mZmIuYwpAQCAtMjg2LDcgKzI4Niw3IEBAIHN0YXRpYyB2 b2lkIG9mZmJfZGVzdHJveShzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlmcmFtZWJ1ZmZlcl9yZWxl YXNlKGluZm8pOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBvZmZiX29wcyA9IHsKK3N0YXRp YyBjb25zdCBzdHJ1Y3QgZmJfb3BzIG9mZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVM RSwKIAkuZmJfZGVzdHJveQk9IG9mZmJfZGVzdHJveSwKIAkuZmJfc2V0Y29scmVnCT0gb2ZmYl9z ZXRjb2xyZWcsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L29tYXAyL29tYXBmYi9v bWFwZmItbWFpbi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvb21hcGZiLW1h aW4uYwppbmRleCA4NThjMmMwMTFkMTkuLjhkZmE5MTU4YmE3OCAxMDA2NDQKLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvb21hcGZiLW1haW4uYworKysgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L29tYXAyL29tYXBmYi9vbWFwZmItbWFpbi5jCkBAIC0xMjgwLDcgKzEyODAsNyBA QCBzc2l6ZV90IG9tYXBmYl93cml0ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3QgY2hhciBf X3VzZXIgKmJ1ZiwKIH0KICNlbmRpZgogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBvbWFwZmJfb3Bz ID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgb21hcGZiX29wcyA9IHsKIAkub3duZXIg ICAgICAgICAgPSBUSElTX01PRFVMRSwKIAkuZmJfb3BlbiAgICAgICAgPSBvbWFwZmJfb3BlbiwK IAkuZmJfcmVsZWFzZSAgICAgPSBvbWFwZmJfcmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvcDkxMDAuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcDkxMDAuYwppbmRleCA4 YzE4Y2M1MWFhZTIuLjZkYTY3MmU5MjY0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRl di9wOTEwMC5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcDkxMDAuYwpAQCAtMzcsNyArMzcs NyBAQCBzdGF0aWMgaW50IHA5MTAwX2lvY3RsKHN0cnVjdCBmYl9pbmZvICosIHVuc2lnbmVkIGlu dCwgdW5zaWduZWQgbG9uZyk7CiAgKiAgRnJhbWUgYnVmZmVyIG9wZXJhdGlvbnMKICAqLwogCi1z dGF0aWMgc3RydWN0IGZiX29wcyBwOTEwMF9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZi X29wcyBwOTEwMF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29s cmVnCQk9IHA5MTAwX3NldGNvbHJlZywKIAkuZmJfYmxhbmsJCT0gcDkxMDBfYmxhbmssCmRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BsYXRpbnVtZmIuYyBiL2RyaXZlcnMvdmlkZW8v ZmJkZXYvcGxhdGludW1mYi5jCmluZGV4IDYzMmIyNDZjYTM1Zi4uY2U0MTNhOWRmMDZlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BsYXRpbnVtZmIuYworKysgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3BsYXRpbnVtZmIuYwpAQCAtOTYsNyArOTYsNyBAQCBzdGF0aWMgaW50IHBsYXRp bnVtX3Zhcl90b19wYXIoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCiAgKiBJbnRlcmZh Y2UgdXNlZCBieSB0aGUgd29ybGQKICAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBwbGF0aW51 bWZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHBsYXRpbnVtZmJfb3BzID0g ewogCS5vd25lciA9CVRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBwbGF0aW51bWZiX2No ZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IHBsYXRpbnVtZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBh L2RyaXZlcnMvdmlkZW8vZmJkZXYvcG0yZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcG0yZmIu YwppbmRleCAxZGNmMDJlMTJhZjQuLjhmOTMzYmFkNDYxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy92 aWRlby9mYmRldi9wbTJmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcG0yZmIuYwpAQCAt MTQ4Myw3ICsxNDgzLDcgQEAgc3RhdGljIGludCBwbTJmYl9jdXJzb3Ioc3RydWN0IGZiX2luZm8g KmluZm8sIHN0cnVjdCBmYl9jdXJzb3IgKmN1cnNvcikKICAqICBGcmFtZSBidWZmZXIgb3BlcmF0 aW9ucwogICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHBtMmZiX29wcyA9IHsKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZmJfb3BzIHBtMmZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUs CiAJLmZiX2NoZWNrX3Zhcgk9IHBtMmZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IHBtMmZi X3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtM2ZiLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3BtM2ZiLmMKaW5kZXggNjEzMGFhNTZhMWU5Li4xNWEyYjQ5NTIzNWIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcG0zZmIuYworKysgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3BtM2ZiLmMKQEAgLTEyMDAsNyArMTIwMCw3IEBAIHN0YXRpYyBpbnQgcG0zZmJf YmxhbmsoaW50IGJsYW5rX21vZGUsIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCSAqICBGcmFtZSBi dWZmZXIgb3BlcmF0aW9ucwogCSAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBwbTNmYl9vcHMg PSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBwbTNmYl9vcHMgPSB7CiAJLm93bmVyCQk9 IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBwbTNmYl9jaGVja192YXIsCiAJLmZiX3Nl dF9wYXIJPSBwbTNmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9w bWFnLWFhLWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtYWctYWEtZmIuYwppbmRleCBkMWU3 OGNlM2E5YzIuLjdiMzNiNTJiMjUyNiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9w bWFnLWFhLWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9wbWFnLWFhLWZiLmMKQEAgLTE0 Nyw3ICsxNDcsNyBAQCBzdGF0aWMgaW50IGFhZmJfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3QgZmJf aW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgYWFmYl9v cHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhYWZiX29wcyA9IHsKIAkub3duZXIJ CT0gVEhJU19NT0RVTEUsCiAJLmZiX2JsYW5rCT0gYWFmYl9ibGFuaywKIAkuZmJfZmlsbHJlY3QJ PSBjZmJfZmlsbHJlY3QsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtYWctYmEt ZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcG1hZy1iYS1mYi5jCmluZGV4IDU2YjkxMmJiMjhk ZS4uYTYwZTU2ZDg5ODBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtYWctYmEt ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtYWctYmEtZmIuYwpAQCAtMTE3LDcgKzEx Nyw3IEBAIHN0YXRpYyBpbnQgcG1hZ2JhZmJfc2V0Y29scmVnKHVuc2lnbmVkIGludCByZWdubywg dW5zaWduZWQgaW50IHJlZCwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMg cG1hZ2JhZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgcG1hZ2JhZmJfb3Bz ID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCT0gcG1hZ2JhZmJf c2V0Y29scmVnLAogCS5mYl9maWxscmVjdAk9IGNmYl9maWxscmVjdCwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvcG1hZ2ItYi1mYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9wbWFn Yi1iLWZiLmMKaW5kZXggMjgyMmIyMjI1OTI0Li5mMDIwODBmMjEwNzcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvcG1hZ2ItYi1mYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv cG1hZ2ItYi1mYi5jCkBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIGludCBwbWFnYmJmYl9zZXRj b2xyZWcodW5zaWduZWQgaW50IHJlZ25vLCB1bnNpZ25lZCBpbnQgcmVkLAogCXJldHVybiAwOwog fQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBwbWFnYmJmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qg c3RydWN0IGZiX29wcyBwbWFnYmJmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAog CS5mYl9zZXRjb2xyZWcJPSBwbWFnYmJmYl9zZXRjb2xyZWcsCiAJLmZiX2ZpbGxyZWN0CT0gY2Zi X2ZpbGxyZWN0LApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9wczNmYi5jIGIvZHJp dmVycy92aWRlby9mYmRldi9wczNmYi5jCmluZGV4IDVlZDJkYjM5ZDgyMy4uODM0ZjYzZWRmNzAw IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BzM2ZiLmMKKysrIGIvZHJpdmVycy92 aWRlby9mYmRldi9wczNmYi5jCkBAIC05MzQsNyArOTM0LDcgQEAgc3RhdGljIGlycXJldHVybl90 IHBzM2ZiX3ZzeW5jX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpwdHIpCiB9CiAKIAotc3RhdGlj IHN0cnVjdCBmYl9vcHMgcHMzZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMg cHMzZmJfb3BzID0gewogCS5mYl9vcGVuCT0gcHMzZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQk9IHBz M2ZiX3JlbGVhc2UsCiAJLmZiX3JlYWQgICAgICAgID0gZmJfc3lzX3JlYWQsCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3B2cjJmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9wdnIy ZmIuYwppbmRleCAwYTNiMmI3Yzc4OTEuLmZjYjE2ZWFiYmIwZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi9wdnIyZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3B2cjJmYi5j CkBAIC03MDcsNyArNzA3LDcgQEAgc3RhdGljIHNzaXplX3QgcHZyMmZiX3dyaXRlKHN0cnVjdCBm Yl9pbmZvICppbmZvLCBjb25zdCBjaGFyICpidWYsCiB9CiAjZW5kaWYgLyogQ09ORklHX1BWUjJf RE1BICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHB2cjJmYl9vcHMgPSB7CitzdGF0aWMgY29u c3Qgc3RydWN0IGZiX29wcyBwdnIyZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwK IAkuZmJfc2V0Y29scmVnCT0gcHZyMmZiX3NldGNvbHJlZywKIAkuZmJfYmxhbmsJPSBwdnIyZmJf YmxhbmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3B4YTE2OGZiLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3B4YTE2OGZiLmMKaW5kZXggMTQxMGY0NzZlMTM1Li5jNjcyYzMzNTRh MmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcHhhMTY4ZmIuYworKysgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3B4YTE2OGZiLmMKQEAgLTU0NSw3ICs1NDUsNyBAQCBzdGF0aWMgaXJx cmV0dXJuX3QgcHhhMTY4ZmJfaGFuZGxlX2lycShpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiAJcmV0 dXJuIElSUV9OT05FOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBweGExNjhmYl9vcHMgPSB7 CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBweGExNjhmYl9vcHMgPSB7CiAJLm93bmVyCQk9 IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBweGExNjhmYl9jaGVja192YXIsCiAJLmZi X3NldF9wYXIJPSBweGExNjhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9m YmRldi9weGFmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9weGFmYi5jCmluZGV4IGY3MGM5Zjc5 NjIyZS4uNmY3ZTlmYjYzMTkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3B4YWZi LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9weGFmYi5jCkBAIC01OTcsNyArNTk3LDcgQEAg c3RhdGljIGludCBweGFmYl9ibGFuayhpbnQgYmxhbmssIHN0cnVjdCBmYl9pbmZvICppbmZvKQog CXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBweGFmYl9vcHMgPSB7CitzdGF0 aWMgY29uc3Qgc3RydWN0IGZiX29wcyBweGFmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9E VUxFLAogCS5mYl9jaGVja192YXIJPSBweGFmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBw eGFmYl9zZXRfcGFyLApAQCAtODY1LDcgKzg2NSw3IEBAIHN0YXRpYyBpbnQgb3ZlcmxheWZiX3Nl dF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1 Y3QgZmJfb3BzIG92ZXJsYXlfZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMg b3ZlcmxheV9mYl9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfb3BlbgkJ PSBvdmVybGF5ZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQkJPSBvdmVybGF5ZmJfcmVsZWFzZSwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcTQwZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvcTQwZmIuYwppbmRleCAwYjkzYWE5NjRkNDMuLjc5ZmYxNGEzNWM4NSAxMDA2NDQKLS0tIGEv ZHJpdmVycy92aWRlby9mYmRldi9xNDBmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcTQw ZmIuYwpAQCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgaW50IHE0MGZiX3NldGNvbHJlZyh1bnNpZ25l ZCByZWdubywgdW5zaWduZWQgcmVkLCB1bnNpZ25lZCBncmVlbiwKICAgICByZXR1cm4gMDsKIH0K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgcTQwZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgcTQwZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0 Y29scmVnCT0gcTQwZmJfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAk9IGNmYl9maWxscmVjdCwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcml2YS9mYmRldi5jIGIvZHJpdmVycy92 aWRlby9mYmRldi9yaXZhL2ZiZGV2LmMKaW5kZXggY2E1OTNhM2U0MWQ3Li43NjRlYzMyODVlNjIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcml2YS9mYmRldi5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvcml2YS9mYmRldi5jCkBAIC0xNjczLDcgKzE2NzMsNyBAQCBzdGF0aWMg aW50IHJpdmFmYl9zeW5jKHN0cnVjdCBmYl9pbmZvICppbmZvKQogICogLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSAqLwogCiAvKiBrZXJuZWwgaW50ZXJmYWNlICovCi1zdGF0aWMgc3RydWN0IGZiX29wcyByaXZh X2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHJpdmFfZmJfb3BzID0gewog CS5vd25lciAJCT0gVEhJU19NT0RVTEUsCiAJLmZiX29wZW4JPSByaXZhZmJfb3BlbiwKIAkuZmJf cmVsZWFzZQk9IHJpdmFmYl9yZWxlYXNlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRl di9zM2MtZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvczNjLWZiLmMKaW5kZXggYmEwNGQ3YTY3 ODI5Li5mNDg3MWM0MzBmOGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvczNjLWZi LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9zM2MtZmIuYwpAQCAtMTAzNSw3ICsxMDM1LDcg QEAgc3RhdGljIGludCBzM2NfZmJfaW9jdGwoc3RydWN0IGZiX2luZm8gKmluZm8sIHVuc2lnbmVk IGludCBjbWQsCiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgczNjX2Zi X29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHMzY19mYl9vcHMgPSB7CiAJLm93 bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBzM2NfZmJfY2hlY2tfdmFyLAog CS5mYl9zZXRfcGFyCT0gczNjX2ZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3MzYzI0MTBmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9zM2MyNDEwZmIuYwppbmRl eCBhNzAyZGE4OTkxMGIuLjJmYjE1YTU0MDE2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9m YmRldi9zM2MyNDEwZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3MzYzI0MTBmYi5jCkBA IC02MTgsNyArNjE4LDcgQEAgc3RhdGljIGludCBzM2MyNDEwZmJfZGVidWdfc3RvcmUoc3RydWN0 IGRldmljZSAqZGV2LAogCiBzdGF0aWMgREVWSUNFX0FUVFIoZGVidWcsIDA2NjQsIHMzYzI0MTBm Yl9kZWJ1Z19zaG93LCBzM2MyNDEwZmJfZGVidWdfc3RvcmUpOwogCi1zdGF0aWMgc3RydWN0IGZi X29wcyBzM2MyNDEwZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgczNjMjQx MGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IHMz YzI0MTBmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBzM2MyNDEwZmJfc2V0X3BhciwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvczNmYi5jIGIvZHJpdmVycy92aWRlby9mYmRl di9zM2ZiLmMKaW5kZXggYmUxNmMzNDljMTBmLi42MGM0MjRmYWU5ODggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvczNmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvczNmYi5j CkBAIC0xMDM3LDcgKzEwMzcsNyBAQCBzdGF0aWMgaW50IHMzZmJfcGFuX2Rpc3BsYXkoc3RydWN0 IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCiAvKiBGcmFt ZSBidWZmZXIgb3BlcmF0aW9ucyAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBzM2ZiX29wcyA9 IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHMzZmJfb3BzID0gewogCS5vd25lcgkJPSBU SElTX01PRFVMRSwKIAkuZmJfb3Blbgk9IHMzZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQk9IHMzZmJf cmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2ExMTAwZmIuYyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvc2ExMTAwZmIuYwppbmRleCA4MWFkM2FhMWNhMDYuLjQ2ODBjYzNl ZmI4MSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9zYTExMDBmYi5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvc2ExMTAwZmIuYwpAQCAtNTc0LDcgKzU3NCw3IEBAIHN0YXRpYyBp bnQgc2ExMTAwZmJfbW1hcChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywKIAlyZXR1cm4gdm1faW9tYXBf bWVtb3J5KHZtYSwgaW5mby0+Zml4Lm1taW9fc3RhcnQsIGluZm8tPmZpeC5tbWlvX2xlbik7CiB9 CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHNhMTEwMGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZmJfb3BzIHNhMTEwMGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJ LmZiX2NoZWNrX3Zhcgk9IHNhMTEwMGZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IHNhMTEw MGZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NhdmFnZS9zYXZh Z2VmYl9kcml2ZXIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2F2YWdlL3NhdmFnZWZiX2RyaXZl ci5jCmluZGV4IDUxMjc4OWY1Zjg4NC4uYWFiMzEyYTdkOWRhIDEwMDY0NAotLS0gYS9kcml2ZXJz L3ZpZGVvL2ZiZGV2L3NhdmFnZS9zYXZhZ2VmYl9kcml2ZXIuYworKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3NhdmFnZS9zYXZhZ2VmYl9kcml2ZXIuYwpAQCAtMTYzNyw3ICsxNjM3LDcgQEAgc3Rh dGljIGludCBzYXZhZ2VmYl9yZWxlYXNlKHN0cnVjdCBmYl9pbmZvICppbmZvLCBpbnQgdXNlcikK IAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgc2F2YWdlZmJfb3BzID0gewor c3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgc2F2YWdlZmJfb3BzID0gewogCS5vd25lciAgICAg ICAgICA9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuICAgICAgICA9IHNhdmFnZWZiX29wZW4sCiAJ LmZiX3JlbGVhc2UgICAgID0gc2F2YWdlZmJfcmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvc2g3NzYwZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2g3NzYwZmIuYwpp bmRleCBhYjhmZTgzOGM3NzYuLmI4ZWM4ZDliYjRjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRl by9mYmRldi9zaDc3NjBmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2g3NzYwZmIuYwpA QCAtMzQxLDcgKzM0MSw3IEBAIHN0YXRpYyBpbnQgc2g3NzYwZmJfc2V0X3BhcihzdHJ1Y3QgZmJf aW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgc2g3NzYw ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgc2g3NzYwZmJfb3BzID0gewog CS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5mYl9ibGFuayA9IHNoNzc2MGZiX2JsYW5rLAogCS5m Yl9jaGVja192YXIgPSBzaDc3NjBmYl9jaGVja192YXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3NoX21vYmlsZV9sY2RjZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2hfbW9i aWxlX2xjZGNmYi5jCmluZGV4IGMyNDk3NjNkYmYwYi4uMjVmMTE5ZWZlYmMwIDEwMDY0NAotLS0g YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NoX21vYmlsZV9sY2RjZmIuYworKysgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3NoX21vYmlsZV9sY2RjZmIuYwpAQCAtMTQ5MCw3ICsxNDkwLDcgQEAgc2hfbW9i aWxlX2xjZGNfb3ZlcmxheV9tbWFwKHN0cnVjdCBmYl9pbmZvICppbmZvLCBzdHJ1Y3Qgdm1fYXJl YV9zdHJ1Y3QgKnZtYSkKIAkJCQkgb3ZsLT5kbWFfaGFuZGxlLCBvdmwtPmZiX3NpemUpOwogfQog Ci1zdGF0aWMgc3RydWN0IGZiX29wcyBzaF9tb2JpbGVfbGNkY19vdmVybGF5X29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHNoX21vYmlsZV9sY2RjX292ZXJsYXlfb3BzID0gewog CS5vd25lciAgICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFkICAgICAgICA9IGZiX3N5 c19yZWFkLAogCS5mYl93cml0ZSAgICAgICA9IGZiX3N5c193cml0ZSwKQEAgLTE5NjQsNyArMTk2 NCw3IEBAIHNoX21vYmlsZV9sY2RjX21tYXAoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCB2 bV9hcmVhX3N0cnVjdCAqdm1hKQogCQkJCSBjaC0+ZG1hX2hhbmRsZSwgY2gtPmZiX3NpemUpOwog fQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBzaF9tb2JpbGVfbGNkY19vcHMgPSB7CitzdGF0aWMg Y29uc3Qgc3RydWN0IGZiX29wcyBzaF9tb2JpbGVfbGNkY19vcHMgPSB7CiAJLm93bmVyICAgICAg ICAgID0gVEhJU19NT0RVTEUsCiAJLmZiX3NldGNvbHJlZwk9IHNoX21vYmlsZV9sY2RjX3NldGNv bHJlZywKIAkuZmJfcmVhZCAgICAgICAgPSBmYl9zeXNfcmVhZCwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvc2ltcGxlZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2ltcGxlZmIu YwppbmRleCA3ZGMwMTA1ZjcwMGQuLjUzM2EwNDdkMDdhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92 aWRlby9mYmRldi9zaW1wbGVmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2ltcGxlZmIu YwpAQCAtNzgsNyArNzgsNyBAQCBzdGF0aWMgdm9pZCBzaW1wbGVmYl9kZXN0cm95KHN0cnVjdCBm Yl9pbmZvICppbmZvKQogCQlpb3VubWFwKGluZm8tPnNjcmVlbl9iYXNlKTsKIH0KIAotc3RhdGlj IHN0cnVjdCBmYl9vcHMgc2ltcGxlZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9v cHMgc2ltcGxlZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfZGVzdHJv eQk9IHNpbXBsZWZiX2Rlc3Ryb3ksCiAJLmZiX3NldGNvbHJlZwk9IHNpbXBsZWZiX3NldGNvbHJl ZywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2lzL3Npc19tYWluLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3Npcy9zaXNfbWFpbi5jCmluZGV4IGI0NDNhOGVkNDYwMC4uYWMxNDA5 NjJiMWJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Npcy9zaXNfbWFpbi5jCisr KyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2lzL3Npc19tYWluLmMKQEAgLTE5MDYsNyArMTkwNiw3 IEBAIHNpc2ZiX2dldF9maXgoc3RydWN0IGZiX2ZpeF9zY3JlZW5pbmZvICpmaXgsIGludCBjb24s IHN0cnVjdCBmYl9pbmZvICppbmZvKQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tICBmYl9vcHMgc3Ry dWN0dXJlcyAtLS0tLS0tLS0tLS0tLS0tLSAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBzaXNm Yl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBzaXNmYl9vcHMgPSB7CiAJLm93 bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0gc2lzZmJfb3BlbiwKIAkuZmJfcmVsZWFz ZQk9IHNpc2ZiX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NrZWxl dG9uZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2tlbGV0b25mYi5jCmluZGV4IDgxMmEzNmNi NjBjMy4uYmNhY2ZiNjkzNGZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NrZWxl dG9uZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NrZWxldG9uZmIuYwpAQCAtNjM0LDcg KzYzNCw3IEBAIGludCB4eHhmYl9zeW5jKHN0cnVjdCBmYl9pbmZvICppbmZvKQogICAgICAqICBG cmFtZSBidWZmZXIgb3BlcmF0aW9ucwogICAgICAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyB4 eHhmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB4eHhmYl9vcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0geHh4ZmJfb3BlbiwKIAkuZmJfcmVh ZAk9IHh4eGZiX3JlYWQsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NtNzEyZmIu YyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc203MTJmYi5jCmluZGV4IDIwN2QwYWRkNjg0Yi4uNmEx YjRhODUzZDllIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NtNzEyZmIuYworKysg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NtNzEyZmIuYwpAQCAtMTM2OSw3ICsxMzY5LDcgQEAgc3Rh dGljIGludCBzbXRjX3NldF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9 CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHNtdGNmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3Ry dWN0IGZiX29wcyBzbXRjZmJfb3BzID0gewogCS5vd25lciAgICAgICAgPSBUSElTX01PRFVMRSwK IAkuZmJfY2hlY2tfdmFyID0gc210Y19jaGVja192YXIsCiAJLmZiX3NldF9wYXIgICA9IHNtdGNf c2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc21zY3VmeC5jIGIvZHJp dmVycy92aWRlby9mYmRldi9zbXNjdWZ4LmMKaW5kZXggZTM2MmQ3ZGE4N2ZjLi5iZmFjM2VlNGE2 NDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc21zY3VmeC5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvc21zY3VmeC5jCkBAIC0xMjY4LDcgKzEyNjgsNyBAQCBzdGF0aWMgaW50 IHVmeF9vcHNfYmxhbmsoaW50IGJsYW5rX21vZGUsIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCXJl dHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyB1Znhfb3BzID0geworc3RhdGljIGNv bnN0IHN0cnVjdCBmYl9vcHMgdWZ4X29wcyA9IHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAku ZmJfcmVhZCA9IGZiX3N5c19yZWFkLAogCS5mYl93cml0ZSA9IHVmeF9vcHNfd3JpdGUsCmRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NzZDEzMDdmYi5jIGIvZHJpdmVycy92aWRlby9m YmRldi9zc2QxMzA3ZmIuYwppbmRleCA3OGNhN2ZmYzQwYzIuLjE0MjUzNTI2N2ZlYyAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9zc2QxMzA3ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3NzZDEzMDdmYi5jCkBAIC0yODAsNyArMjgwLDcgQEAgc3RhdGljIHZvaWQgc3NkMTMw N2ZiX2ltYWdlYmxpdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IGZiX2ltYWdl ICppbWEKIAlzc2QxMzA3ZmJfdXBkYXRlX2Rpc3BsYXkocGFyKTsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgc3NkMTMwN2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHNz ZDEzMDdmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFkCT0gZmJf c3lzX3JlYWQsCiAJLmZiX3dyaXRlCT0gc3NkMTMwN2ZiX3dyaXRlLApkaWZmIC0tZ2l0IGEvZHJp dmVycy92aWRlby9mYmRldi9zc3RmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9zc3RmYi5jCmlu ZGV4IDRlMjJhZTM4M2M4Ny4uODJlNzA3YTQ4ZTRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3NzdGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9zc3RmYi5jCkBAIC0xMzA3 LDcgKzEzMDcsNyBAQCBzdGF0aWMgaW50IHNzdGZiX3NldHVwKGNoYXIgKm9wdGlvbnMpCiB9CiAK IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgc3N0ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgc3N0ZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfY2hl Y2tfdmFyCT0gc3N0ZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0gc3N0ZmJfc2V0X3BhciwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc3RpZmIuYyBiL2RyaXZlcnMvdmlkZW8v ZmJkZXYvc3RpZmIuYwppbmRleCA5ZTg4ZTNmNTk0YzIuLjU0MDBhYjc5ZmJiZCAxMDA2NDQKLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9zdGlmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv c3RpZmIuYwpAQCAtMTEwMSw3ICsxMTAxLDcgQEAgc3RpZmJfaW5pdF9kaXNwbGF5KHN0cnVjdCBz dGlmYl9pbmZvICpmYikKIAogLyogLS0tLS0tLS0tLS0tIEludGVyZmFjZXMgdG8gaGFyZHdhcmUg ZnVuY3Rpb25zIC0tLS0tLS0tLS0tLSAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBzdGlmYl9v cHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBzdGlmYl9vcHMgPSB7CiAJLm93bmVy CQk9IFRISVNfTU9EVUxFLAogCS5mYl9zZXRjb2xyZWcJPSBzdGlmYl9zZXRjb2xyZWcsCiAJLmZi X2JsYW5rCT0gc3RpZmJfYmxhbmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1 bnh2cjEwMDAuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc3VueHZyMTAwMC5jCmluZGV4IDc4NGM5 YmQ1ZDUwMi4uMTViMDc5NTA1YTAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1 bnh2cjEwMDAuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjEwMDAuYwpAQCAtNTks NyArNTksNyBAQCBzdGF0aWMgaW50IGdmYl9zZXRjb2xyZWcodW5zaWduZWQgcmVnbm8sCiAJcmV0 dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGdmYl9vcHMgPSB7CitzdGF0aWMgY29u c3Qgc3RydWN0IGZiX29wcyBnZmJfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJ LmZiX3NldGNvbHJlZwkJPSBnZmJfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAkJPSBjZmJfZmls bHJlY3QsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjI1MDAuYyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvc3VueHZyMjUwMC5jCmluZGV4IDMxNjgzZTVhOGI3OS4uMWQzYmFj ZDlkNWFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjI1MDAuYworKysg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjI1MDAuYwpAQCAtNjMsNyArNjMsNyBAQCBzdGF0 aWMgaW50IHMzZF9zZXRjb2xyZWcodW5zaWduZWQgcmVnbm8sCiAJcmV0dXJuIDA7CiB9CiAKLXN0 YXRpYyBzdHJ1Y3QgZmJfb3BzIHMzZF9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29w cyBzM2Rfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3NldGNvbHJlZwkJ PSBzM2Rfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAkJPSBjZmJfZmlsbHJlY3QsCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjUwMC5jIGIvZHJpdmVycy92aWRlby9mYmRl di9zdW54dnI1MDAuYwppbmRleCBkMzkyOTc2MTI2YTYuLjlkYWYxN2IxMTEwNiAxMDA2NDQKLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9zdW54dnI1MDAuYworKysgYi9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L3N1bnh2cjUwMC5jCkBAIC0xODYsNyArMTg2LDcgQEAgc3RhdGljIHZvaWQgZTNkX2NvcHlh cmVhKHN0cnVjdCBmYl9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgZmJfY29weWFyZWEgKmFyZWEp CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZXAtPmxvY2ssIGZsYWdzKTsKIH0KIAotc3RhdGlj IHN0cnVjdCBmYl9vcHMgZTNkX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGUz ZF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCQk9IGUz ZF9zZXRjb2xyZWcsCiAJLmZiX2ZpbGxyZWN0CQk9IGUzZF9maWxscmVjdCwKZGlmZiAtLWdpdCBh L2RyaXZlcnMvdmlkZW8vZmJkZXYvdGN4LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3RjeC5jCmlu ZGV4IDc4OTdmODZmYjIzZS4uMzRiMmU1YjZlODRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3RjeC5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvdGN4LmMKQEAgLTQwLDcgKzQw LDcgQEAgc3RhdGljIGludCB0Y3hfcGFuX2Rpc3BsYXkoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZv ICosIHN0cnVjdCBmYl9pbmZvICopOwogICogIEZyYW1lIGJ1ZmZlciBvcGVyYXRpb25zCiAgKi8K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgdGN4X29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg ZmJfb3BzIHRjeF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29s cmVnCQk9IHRjeF9zZXRjb2xyZWcsCiAJLmZiX2JsYW5rCQk9IHRjeF9ibGFuaywKZGlmZiAtLWdp dCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvdGRmeGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Rk ZnhmYi5jCmluZGV4IGZkYmIxZWE2NmU2Yy4uMDM0OWNmNjk2NTJmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3RkZnhmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvdGRmeGZi LmMKQEAgLTExNDEsNyArMTE0MSw3IEBAIHN0YXRpYyBpbnQgdGRmeGZiX2N1cnNvcihzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbywgc3RydWN0IGZiX2N1cnNvciAqY3Vyc29yKQogCXJldHVybiAwOwogfQog Ci1zdGF0aWMgc3RydWN0IGZiX29wcyB0ZGZ4ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgdGRmeGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2No ZWNrX3Zhcgk9IHRkZnhmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSB0ZGZ4ZmJfc2V0X3Bh ciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvdGdhZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvdGdhZmIuYwppbmRleCAyODZiMjM3MWM3ZGQuLjdjZDI2Mjg1ODI0MSAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi90Z2FmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvdGdhZmIuYwpAQCAtNzAsNyArNzAsNyBAQCBzdGF0aWMgc3RydWN0IHRjX2RyaXZlciB0Z2Fm Yl90Y19kcml2ZXI7CiAgKiAgRnJhbWUgYnVmZmVyIG9wZXJhdGlvbnMKICAqLwogCi1zdGF0aWMg c3RydWN0IGZiX29wcyB0Z2FmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB0 Z2FmYl9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyCQk9 IHRnYWZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3BhcgkJPSB0Z2FmYl9zZXRfcGFyLApkaWZmIC0t Z2l0IGEvZHJpdmVycy92aWRlby9mYmRldi90bWlvZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv dG1pb2ZiLmMKaW5kZXggNGYyZmNlYTEwZDJiLi41MDExMTk2NmM5ODEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvdG1pb2ZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi90bWlv ZmIuYwpAQCAtNjQ2LDcgKzY0Niw3IEBAIHN0YXRpYyBpbnQgdG1pb2ZiX2JsYW5rKGludCBibGFu aywgc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3Qg ZmJfb3BzIHRtaW9mYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB0bWlvZmJf b3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAogCS5mYl9pb2N0bAk9IHRtaW9mYl9p b2N0bCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvdHJpZGVudGZiLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3RyaWRlbnRmYi5jCmluZGV4IGRhNzRiZjZjNTk5Ni4uNzE1NTA5OTE3 ZWFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3RyaWRlbnRmYi5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvdHJpZGVudGZiLmMKQEAgLTE0NDMsNyArMTQ0Myw3IEBAIHN0YXRp YyBpbnQgdHJpZGVudGZiX2JsYW5rKGludCBibGFua19tb2RlLCBzdHJ1Y3QgZmJfaW5mbyAqaW5m bykKIAlyZXR1cm4gKGJsYW5rX21vZGUgPT0gRkJfQkxBTktfTk9STUFMKSA/IDEgOiAwOwogfQog Ci1zdGF0aWMgc3RydWN0IGZiX29wcyB0cmlkZW50ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0 cnVjdCBmYl9vcHMgdHJpZGVudGZiX29wcyA9IHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAku ZmJfc2V0Y29scmVnID0gdHJpZGVudGZiX3NldGNvbHJlZywKIAkuZmJfcGFuX2Rpc3BsYXkgPSB0 cmlkZW50ZmJfcGFuX2Rpc3BsYXksCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2 ZXNhZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvdXZlc2FmYi5jCmluZGV4IDQzOTU2NWNhZTdh Yi4uZmIzMGU2YzI4YWZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2ZXNhZmIu YworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2ZXNhZmIuYwpAQCAtMTQxMCw3ICsxNDEwLDcg QEAgc3RhdGljIGludCB1dmVzYWZiX2NoZWNrX3ZhcihzdHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8g KnZhciwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgdXZlc2FmYl9vcHMg PSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB1dmVzYWZiX29wcyA9IHsKIAkub3duZXIJ CT0gVEhJU19NT0RVTEUsCiAJLmZiX29wZW4JPSB1dmVzYWZiX29wZW4sCiAJLmZiX3JlbGVhc2UJ PSB1dmVzYWZiX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZhbGt5 cmllZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvdmFsa3lyaWVmYi5jCmluZGV4IGUwNGZkZTlj MWZjZC4uY2E4ZDczNDNhYWExIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZhbGt5 cmllZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZhbGt5cmllZmIuYwpAQCAtMTEzLDcg KzExMyw3IEBAIHN0YXRpYyBpbnQgdmFsa3lyaWVfaW5pdF9pbmZvKHN0cnVjdCBmYl9pbmZvICpp bmZvLCBzdHJ1Y3QgZmJfaW5mb192YWxreXJpZSAqcCk7CiBzdGF0aWMgdm9pZCB2YWxreXJpZV9w YXJfdG9fZml4KHN0cnVjdCBmYl9wYXJfdmFsa3lyaWUgKnBhciwgc3RydWN0IGZiX2ZpeF9zY3Jl ZW5pbmZvICpmaXgpOwogc3RhdGljIHZvaWQgdmFsa3lyaWVfaW5pdF9maXgoc3RydWN0IGZiX2Zp eF9zY3JlZW5pbmZvICpmaXgsIHN0cnVjdCBmYl9pbmZvX3ZhbGt5cmllICpwKTsKIAotc3RhdGlj IHN0cnVjdCBmYl9vcHMgdmFsa3lyaWVmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZi X29wcyB2YWxreXJpZWZiX29wcyA9IHsKIAkub3duZXIgPQlUSElTX01PRFVMRSwKIAkuZmJfY2hl Y2tfdmFyID0JdmFsa3lyaWVmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIgPQl2YWxreXJpZWZi X3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZmYi5jIGIvZHJpdmVy cy92aWRlby9mYmRldi92ZmIuYwppbmRleCA1NDEyNzkwNWJmZTcuLjk1ZDNjNTk4NjdkMCAxMDA2 NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi92ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L3ZmYi5jCkBAIC03OCw3ICs3OCw3IEBAIHN0YXRpYyBpbnQgdmZiX3Bhbl9kaXNwbGF5KHN0 cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyLAogc3RhdGljIGludCB2ZmJfbW1hcChzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbywKIAkJICAgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKIAotc3Rh dGljIHN0cnVjdCBmYl9vcHMgdmZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3Bz IHZmYl9vcHMgPSB7CiAJLmZiX3JlYWQgICAgICAgID0gZmJfc3lzX3JlYWQsCiAJLmZiX3dyaXRl ICAgICAgID0gZmJfc3lzX3dyaXRlLAogCS5mYl9jaGVja192YXIJPSB2ZmJfY2hlY2tfdmFyLApk aWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi92Z2ExNmZiLmMgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3ZnYTE2ZmIuYwppbmRleCAyYzZhNTc2ZWQ4NGMuLmEyMGVlYjgzMDhmZiAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi92Z2ExNmZiLmMKKysrIGIvZHJpdmVycy92aWRlby9m YmRldi92Z2ExNmZiLmMKQEAgLTEyNzAsNyArMTI3MCw3IEBAIHN0YXRpYyB2b2lkIHZnYTE2ZmJf ZGVzdHJveShzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlmcmFtZWJ1ZmZlcl9yZWxlYXNlKGluZm8p OwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyB2Z2ExNmZiX29wcyA9IHsKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgZmJfb3BzIHZnYTE2ZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwK IAkuZmJfb3BlbiAgICAgICAgPSB2Z2ExNmZiX29wZW4sCiAJLmZiX3JlbGVhc2UgICAgID0gdmdh MTZmYl9yZWxlYXNlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi92dDg1MDBsY2Rm Yi5jIGIvZHJpdmVycy92aWRlby9mYmRldi92dDg1MDBsY2RmYi5jCmluZGV4IGJlOGQ5NzAyY2Ji Mi4uZjc0NDQ3OWRjN2RmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Z0ODUwMGxj ZGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi92dDg1MDBsY2RmYi5jCkBAIC0yMzgsNyAr MjM4LDcgQEAgc3RhdGljIGludCB2dDg1MDBsY2RfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3QgZmJf aW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgdnQ4NTAw bGNkX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHZ0ODUwMGxjZF9vcHMgPSB7 CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9zZXRfcGFyCT0gdnQ4NTAwbGNkX3NldF9w YXIsCiAJLmZiX3NldGNvbHJlZwk9IHZ0ODUwMGxjZF9zZXRjb2xyZWcsCmRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L3Z0ODYyM2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Z0ODYy M2ZiLmMKaW5kZXggYzMzOWE4ZmJhZDgxLi43YjNlZWYxYjg5M2YgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvdnQ4NjIzZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Z0ODYy M2ZiLmMKQEAgLTYzNCw3ICs2MzQsNyBAQCBzdGF0aWMgaW50IHZ0ODYyM2ZiX3Bhbl9kaXNwbGF5 KHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyLCBzdHJ1Y3QgZmJfaW5mbyAqaQogCiAvKiBG cmFtZSBidWZmZXIgb3BlcmF0aW9ucyAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyB2dDg2MjNm Yl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB2dDg2MjNmYl9vcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0gdnQ4NjIzZmJfb3BlbiwKIAkuZmJf cmVsZWFzZQk9IHZ0ODYyM2ZiX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L3cxMDBmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi93MTAwZmIuYwppbmRleCAzYmUwNzgw N2VkY2QuLmZlNjI4ZWMyMDE0OSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi93MTAw ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3cxMDBmYi5jCkBAIC01NDksNyArNTQ5LDcg QEAgc3RhdGljIGludCB3MTAwZmJfc2V0X3BhcihzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIC8qCiAg KiAgRnJhbWUgYnVmZmVyIG9wZXJhdGlvbnMKICAqLwotc3RhdGljIHN0cnVjdCBmYl9vcHMgdzEw MGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHcxMDBmYl9vcHMgPSB7CiAJ Lm93bmVyICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIgPSB3MTAwZmJfY2hl Y2tfdmFyLAogCS5mYl9zZXRfcGFyICAgPSB3MTAwZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvd204NTA1ZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvd204NTA1 ZmIuYwppbmRleCAxN2M3ODAzMTVjYTUuLmI2NTZlZmY1OGMyMyAxMDA2NDQKLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi93bTg1MDVmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvd204NTA1 ZmIuYwpAQCAtMjQ2LDcgKzI0Niw3IEBAIHN0YXRpYyBpbnQgd204NTA1ZmJfYmxhbmsoaW50IGJs YW5rLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgd204NTA1ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgd204 NTA1ZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0X3Bhcgk9IHdt ODUwNWZiX3NldF9wYXIsCiAJLmZiX3NldGNvbHJlZwk9IHdtODUwNWZiX3NldGNvbHJlZywKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYveGVuLWZiZnJvbnQuYwppbmRleCBhM2Q2YjZkYjIyMWIuLjAwMzA3Yjg2OTNiZiAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi94ZW4tZmJmcm9udC5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuYwpAQCAtMzI4LDcgKzMyOCw3IEBAIHN0YXRpYyBp bnQgeGVuZmJfc2V0X3BhcihzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAot c3RhdGljIHN0cnVjdCBmYl9vcHMgeGVuZmJfZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgeGVuZmJfZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJf cmVhZAk9IGZiX3N5c19yZWFkLAogCS5mYl93cml0ZQk9IHhlbmZiX3dyaXRlLApkaWZmIC0tZ2l0 IGEvZHJpdmVycy92aWRlby9mYmRldi94aWxpbnhmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi94 aWxpbnhmYi5jCmluZGV4IDg2Mjg4MjliNDcwZC4uY2E0ZmY2NThjYWQwIDEwMDY0NAotLS0gYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L3hpbGlueGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi94 aWxpbnhmYi5jCkBAIC0yNDcsNyArMjQ3LDcgQEAgeGlsaW54X2ZiX2JsYW5rKGludCBibGFua19t b2RlLCBzdHJ1Y3QgZmJfaW5mbyAqZmJpKQogCXJldHVybiAwOyAvKiBzdWNjZXNzICovCiB9CiAK LXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHhpbGlueGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgZmJfb3BzIHhpbGlueGZiX29wcyA9IHsKIAkub3duZXIJCQk9IFRISVNfTU9EVUxFLAogCS5m Yl9zZXRjb2xyZWcJCT0geGlsaW54X2ZiX3NldGNvbHJlZywKIAkuZmJfYmxhbmsJCT0geGlsaW54 X2ZiX2JsYW5rLAotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7C17C432C3 for ; Fri, 29 Nov 2019 10:31:04 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A245E215F1 for ; Fri, 29 Nov 2019 10:31:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A245E215F1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2FAE66E8C2; Fri, 29 Nov 2019 10:31:04 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id A477F6E8C2; Fri, 29 Nov 2019 10:31:02 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Nov 2019 02:31:02 -0800 X-IronPort-AV: E=Sophos;i="5.69,257,1571727600"; d="scan'208";a="410933512" Received: from jnikula-mobl3.fi.intel.com (HELO localhost) ([10.237.66.161]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Nov 2019 02:30:57 -0800 From: Jani Nikula To: dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org Date: Fri, 29 Nov 2019 12:29:40 +0200 Message-Id: X-Mailer: git-send-email 2.20.1 In-Reply-To: References: MIME-Version: 1.0 Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo Subject: [Intel-gfx] [PATCH v2 10/14] video: constify fb ops across all drivers X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: jani.nikula@intel.com, Daniel Vetter , intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191129102940.9QPF4GTATg2HGADyXrMPLMuezFKDcfM_01j1AqbW0LM@z> Tm93IHRoYXQgdGhlIGZib3BzIG1lbWJlciBvZiBzdHJ1Y3QgZmJfaW5mbyBpcyBjb25zdCwgd2Ug Y2FuIHN0YXJ0Cm1ha2luZyB0aGUgb3BzIGNvbnN0IGFzIHdlbGwuCgpUaGlzIGRvZXMgbm90IGNv dmVyIGFsbCBkcml2ZXJzOyBzb21lIGFjdHVhbGx5IG1vZGlmeSB0aGUgZmJvcHMgc3RydWN0LApm b3IgZXhhbXBsZSB0byBhZGp1c3QgZm9yIGRpZmZlcmVudCBjb25maWd1cmF0aW9ucywgYW5kIG90 aGVycyBkbyBtb3JlCmludm9sdmVkIHRoaW5ncyB0aGF0IEknZCByYXRoZXIgbm90IHRvdWNoIGlu IHByYWN0aWNhbGx5IG9ic29sZXRlCmRyaXZlcnMuIE1vc3RseSB0aGlzIGlzIHRoZSBsb3cgaGFu Z2luZyBmcnVpdCB3aGVyZSB3ZSBjYW4gYWRkICJjb25zdCIKYW5kIGJlIGRvbmUgd2l0aCBpdC4K CnYyOgotIGZpeCB0eXBvIChDaHJpc3RvcGhlIGRlIERpbmVjaGluKQotIHVzZSAic3RhdGljIGNv bnN0IiBpbnN0ZWFkIG9mICJjb25zdCBzdGF0aWMiIGluIG14M2ZiLmMKLSBhbHNvIGNvbnN0aWZ5 IHNtc2N1ZnguYwoKQ2M6IGxpbnV4LWZiZGV2QHZnZXIua2VybmVsLm9yZwpSZXZpZXdlZC1ieTog RGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KU2lnbmVkLW9mZi1ieTogSmFu aSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KCmZpeHVwIHRvIHZpZGVvIGRyaXZlcnMK LS0tCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2LzY4MzI4ZmIuYyAgICAgICAgICAgICAgICAgIHwgMiAr LQogZHJpdmVycy92aWRlby9mYmRldi9hY29ybmZiLmMgICAgICAgICAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvdmlkZW8vZmJkZXYvYW1iYS1jbGNkLmMgICAgICAgICAgICAgICAgfCAyICstCiBk cml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJp dmVycy92aWRlby9mYmRldi9hcmNmYi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZl cnMvdmlkZW8vZmJkZXYvYXJrZmIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJz L3ZpZGVvL2ZiZGV2L2FzaWxpYW50ZmIuYyAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92 aWRlby9mYmRldi9hdG1lbF9sY2RmYi5jICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlk ZW8vZmJkZXYvYXR5L2F0eTEyOGZiLmMgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVv L2ZiZGV2L2F0eS9hdHlmYl9iYXNlLmMgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9m YmRldi9hdHkvcmFkZW9uX2Jhc2UuYyAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJk ZXYvYXUxMTAwZmIuYyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2 L2F1MTIwMGZiLmMgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9i cm9hZHNoZWV0ZmIuYyAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvYncy LmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2Nhcm1p bmVmYi5jICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9jZzE0LmMg ICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvY2czLmMgICAg ICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2NnNi5jICAgICAg ICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9jaGlwc2ZiLmMgICAg ICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvY2lycnVzZmIuYyAgICAg ICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2NscHM3MTF4LWZiLmMgICAg ICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9jb2JhbHRfbGNkZmIuYyAgICAg ICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvY29udHJvbGZiLmMgICAgICAgICAg ICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2N5YmVyMjAwMGZiLmMgICAgICAgICAg ICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9kYTh4eC1mYi5jICAgICAgICAgICAgICAg ICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvZG5mYi5jICAgICAgICAgICAgICAgICAgICAg fCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2VmaWZiLmMgICAgICAgICAgICAgICAgICAgIHwg MiArLQogZHJpdmVycy92aWRlby9mYmRldi9lcDkzeHgtZmIuYyAgICAgICAgICAgICAgICB8IDIg Ky0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvZmItcHV2My5jICAgICAgICAgICAgICAgICAgfCAyICst CiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2ZmYi5jICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQog ZHJpdmVycy92aWRlby9mYmRldi9mbTJmYi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRy aXZlcnMvdmlkZW8vZmJkZXYvZnNsLWRpdS1mYi5jICAgICAgICAgICAgICAgfCAyICstCiBkcml2 ZXJzL3ZpZGVvL2ZiZGV2L2czNjRmYi5jICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVy cy92aWRlby9mYmRldi9nYmVmYi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMv dmlkZW8vZmJkZXYvZ2VvZGUvZ3gxZmJfY29yZS5jICAgICAgICAgfCAyICstCiBkcml2ZXJzL3Zp ZGVvL2ZiZGV2L2dlb2RlL2d4ZmJfY29yZS5jICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRl by9mYmRldi9nZW9kZS9seGZiX2NvcmUuYyAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8v ZmJkZXYvZ29sZGZpc2hmYi5jICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2Zi ZGV2L2dydmdhLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRl di9neHQ0NTAwLmMgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYv aGVjdWJhZmIuYyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2hn YWZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9oaXRm Yi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvaHBmYi5j ICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2h5cGVydl9m Yi5jICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9pNzQwZmIuYyAg ICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvaW1zdHRmYi5jICAg ICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2lteGZiLmMgICAgICAg ICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9pbnRlbGZiL2ludGVsZmJk cnYuYyAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYva3lyby9mYmRldi5jICAgICAg ICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2xlby5jICAgICAgICAgICAgICAg ICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9tYWNmYi5jICAgICAgICAgICAgICAg ICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvbWF0cm94L21hdHJveGZiX2NydGMyLmMg ICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L21heGluZWZiLmMgICAgICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9tYjg2Mnh4L21iODYyeHhmYmRydi5jICAgICB8 IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvbWJ4L21ieGZiLmMgICAgICAgICAgICAgICAgfCAy ICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L21ldHJvbm9tZWZiLmMgICAgICAgICAgICAgIHwgMiAr LQogZHJpdmVycy92aWRlby9mYmRldi9tbXAvZmIvbW1wZmIuYyAgICAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvdmlkZW8vZmJkZXYvbXgzZmIuYyAgICAgICAgICAgICAgICAgICAgfCA1ICsrKy0t CiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L25lb2ZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQog ZHJpdmVycy92aWRlby9mYmRldi9udmlkaWEvbnZpZGlhLmMgICAgICAgICAgICB8IDIgKy0KIGRy aXZlcnMvdmlkZW8vZmJkZXYvb2NmYi5jICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2 ZXJzL3ZpZGVvL2ZiZGV2L29mZmIuYyAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVy cy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvb21hcGZiLW1haW4uYyB8IDIgKy0KIGRyaXZlcnMv dmlkZW8vZmJkZXYvcDkxMDAuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3Zp ZGVvL2ZiZGV2L3BsYXRpbnVtZmIuYyAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRl by9mYmRldi9wbTJmYi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8v ZmJkZXYvcG0zZmIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2Zi ZGV2L3BtYWctYWEtZmIuYyAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRl di9wbWFnLWJhLWZiLmMgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYv cG1hZ2ItYi1mYi5jICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3Bz M2ZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9wdnIy ZmIuYyAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvcHhhMTY4 ZmIuYyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3B4YWZiLmMg ICAgICAgICAgICAgICAgICAgIHwgNCArKy0tCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3E0MGZiLmMg ICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9yaXZhL2ZiZGV2 LmMgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvczNjLWZiLmMgICAg ICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3MzYzI0MTBmYi5jICAg ICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9zM2ZiLmMgICAgICAgICAg ICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvc2ExMTAwZmIuYyAgICAgICAg ICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3NhdmFnZS9zYXZhZ2VmYl9kcml2 ZXIuYyAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9zaDc3NjBmYi5jICAgICAgICAgICAg ICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvc2hfbW9iaWxlX2xjZGNmYi5jICAgICAg ICAgfCA0ICsrLS0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvc2ltcGxlZmIuYyAgICAgICAgICAgICAg ICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3Npcy9zaXNfbWFpbi5jICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi9za2VsZXRvbmZiLmMgICAgICAgICAgICAgICB8 IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvc203MTJmYi5jICAgICAgICAgICAgICAgICAgfCAy ICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3Ntc2N1ZnguYyAgICAgICAgICAgICAgICAgIHwgMiAr LQogZHJpdmVycy92aWRlby9mYmRldi9zc2QxMzA3ZmIuYyAgICAgICAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvdmlkZW8vZmJkZXYvc3N0ZmIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBk cml2ZXJzL3ZpZGVvL2ZiZGV2L3N0aWZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJp dmVycy92aWRlby9mYmRldi9zdW54dnIxMDAwLmMgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZl cnMvdmlkZW8vZmJkZXYvc3VueHZyMjUwMC5jICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJz L3ZpZGVvL2ZiZGV2L3N1bnh2cjUwMC5jICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92 aWRlby9mYmRldi90Y3guYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlk ZW8vZmJkZXYvdGRmeGZiLmMgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVv L2ZiZGV2L3RnYWZiLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9m YmRldi90bWlvZmIuYyAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJk ZXYvdHJpZGVudGZiLmMgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2 L3V2ZXNhZmIuYyAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi92 YWxreXJpZWZiLmMgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvdmZi LmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZnYTE2 ZmIuYyAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi92dDg1MDBs Y2RmYi5jICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvdnQ4NjIzZmIu YyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3cxMDBmYi5jICAg ICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy92aWRlby9mYmRldi93bTg1MDVmYi5jICAg ICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuYyAg ICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3hpbGlueGZiLmMgICAgICAg ICAgICAgICAgIHwgMiArLQogMTExIGZpbGVzIGNoYW5nZWQsIDExNSBpbnNlcnRpb25zKCspLCAx MTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi82ODMyOGZi LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2LzY4MzI4ZmIuYwppbmRleCBkNDhlOTYwODhmNzYuLjQ5 MWZkNWE4Mjk5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi82ODMyOGZiLmMKKysr IGIvZHJpdmVycy92aWRlby9mYmRldi82ODMyOGZiLmMKQEAgLTk2LDcgKzk2LDcgQEAgc3RhdGlj IGludCBtYzY4eDMyOGZiX3Bhbl9kaXNwbGF5KHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFy LAogCQkJICAgc3RydWN0IGZiX2luZm8gKmluZm8pOwogc3RhdGljIGludCBtYzY4eDMyOGZiX21t YXAoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKIAot c3RhdGljIHN0cnVjdCBmYl9vcHMgbWM2OHgzMjhmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3Ry dWN0IGZiX29wcyBtYzY4eDMyOGZiX29wcyA9IHsKIAkuZmJfY2hlY2tfdmFyCT0gbWM2OHgzMjhm Yl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBtYzY4eDMyOGZiX3NldF9wYXIsCiAJLmZiX3Nl dGNvbHJlZwk9IG1jNjh4MzI4ZmJfc2V0Y29scmVnLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRl by9mYmRldi9hY29ybmZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2Fjb3JuZmIuYwppbmRleCA3 Y2FjYWU1YTg3OTcuLmEzYWY0OTUyOTE3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRl di9hY29ybmZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9hY29ybmZiLmMKQEAgLTYwNCw3 ICs2MDQsNyBAQCBhY29ybmZiX3Bhbl9kaXNwbGF5KHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAq dmFyLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgYWNvcm5mYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhY29y bmZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGFj b3JuZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0gYWNvcm5mYl9zZXRfcGFyLApkaWZmIC0t Z2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9hbWJhLWNsY2QuYyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvYW1iYS1jbGNkLmMKaW5kZXggN2RlNDNiZTZlZjJjLi5jM2Q1NWZjNmM0ZTAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYW1iYS1jbGNkLmMKKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9hbWJhLWNsY2QuYwpAQCAtNDIzLDcgKzQyMyw3IEBAIHN0YXRpYyBpbnQgY2xjZGZiX21t YXAoc3RydWN0IGZiX2luZm8gKmluZm8sCiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgY2xjZGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNsY2Rm Yl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBjbGNk ZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0gY2xjZGZiX3NldF9wYXIsCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZi LmMKaW5kZXggOTFkZGM5NjAyMDE0Li4yMGUwM2UwMGI2NmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvYW1pZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FtaWZiLmMKQEAg LTM0OTMsNyArMzQ5Myw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBhbWlmYl9pbnRlcnJ1cHQoaW50 IGlycSwgdm9pZCAqZGV2X2lkKQogfQogCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGFtaWZiX29w cyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGFtaWZiX29wcyA9IHsKIAkub3duZXIJ CT0gVEhJU19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGFtaWZiX2NoZWNrX3ZhciwKIAkuZmJf c2V0X3Bhcgk9IGFtaWZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2FyY2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FyY2ZiLmMKaW5kZXggYTQ4NzQxYWFiMjQw Li4zMTRhYjgyZTAxYzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXJjZmIuYwor KysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2FyY2ZiLmMKQEAgLTQ5MSw3ICs0OTEsNyBAQCBzdGF0 aWMgc3NpemVfdCBhcmNmYl93cml0ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3QgY2hhciBf X3VzZXIgKmJ1ZiwKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBhcmNm Yl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhcmNmYl9vcHMgPSB7CiAJLm93 bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0gYXJjZmJfb3BlbiwKIAkuZmJfcmVhZCAg ICAgICAgPSBmYl9zeXNfcmVhZCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXJr ZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXJrZmIuYwppbmRleCBmOTQwZThiNjZiODUuLjEx YWI5YTE1Mzg2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hcmtmYi5jCisrKyBi L2RyaXZlcnMvdmlkZW8vZmJkZXYvYXJrZmIuYwpAQCAtOTE3LDcgKzkxNyw3IEBAIHN0YXRpYyBp bnQgYXJrZmJfcGFuX2Rpc3BsYXkoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsIHN0cnVj dCBmYl9pbmZvICppbmZvCiAKIC8qIEZyYW1lIGJ1ZmZlciBvcGVyYXRpb25zICovCiAKLXN0YXRp YyBzdHJ1Y3QgZmJfb3BzIGFya2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3Bz IGFya2ZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX29wZW4JPSBhcmtm Yl9vcGVuLAogCS5mYl9yZWxlYXNlCT0gYXJrZmJfcmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvYXNpbGlhbnRmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9hc2lsaWFu dGZiLmMKaW5kZXggZWEzMTA1NGEyOGNhLi4zZTAwNmRhNDc3NTIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvYXNpbGlhbnRmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXNp bGlhbnRmYi5jCkBAIC05NSw3ICs5NSw3IEBAIHN0YXRpYyBpbnQgYXNpbGlhbnRmYl9zZXRfcGFy KHN0cnVjdCBmYl9pbmZvICppbmZvKTsKIHN0YXRpYyBpbnQgYXNpbGlhbnRmYl9zZXRjb2xyZWco dV9pbnQgcmVnbm8sIHVfaW50IHJlZCwgdV9pbnQgZ3JlZW4sIHVfaW50IGJsdWUsCiAJCQkJdV9p bnQgdHJhbnNwLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3Bz IGFzaWxpYW50ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgYXNpbGlhbnRm Yl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBhc2ls aWFudGZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IGFzaWxpYW50ZmJfc2V0X3BhciwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXRtZWxfbGNkZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvYXRtZWxfbGNkZmIuYwppbmRleCA1ZmY4ZTAzMjBkOTUuLmQ1NjdmNWQ1NmMxMyAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hdG1lbF9sY2RmYi5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvYXRtZWxfbGNkZmIuYwpAQCAtODI0LDcgKzgyNCw3IEBAIHN0YXRpYyBp bnQgYXRtZWxfbGNkZmJfYmxhbmsoaW50IGJsYW5rX21vZGUsIHN0cnVjdCBmYl9pbmZvICppbmZv KQogCXJldHVybiAoKGJsYW5rX21vZGUgPT0gRkJfQkxBTktfTk9STUFMKSA/IDEgOiAwKTsKIH0K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgYXRtZWxfbGNkZmJfb3BzID0geworc3RhdGljIGNvbnN0 IHN0cnVjdCBmYl9vcHMgYXRtZWxfbGNkZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVM RSwKIAkuZmJfY2hlY2tfdmFyCT0gYXRtZWxfbGNkZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFy CT0gYXRtZWxfbGNkZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYv YXR5L2F0eTEyOGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9hdHkxMjhmYi5jCmluZGV4 IGZjMWU0NWQ0NDcxOS4uZDdlNDFjOGRkNTMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L2F0eS9hdHkxMjhmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXR5L2F0eTEyOGZi LmMKQEAgLTUwOSw3ICs1MDksNyBAQCBzdGF0aWMgdm9pZCBhdHkxMjhfYmxfc2V0X3Bvd2VyKHN0 cnVjdCBmYl9pbmZvICppbmZvLCBpbnQgcG93ZXIpOwogCQkJICAocmVhZGIoYmlvcyArICh2KSAr IDMpIDw8IDI0KSkKIAogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBhdHkxMjhmYl9vcHMgPSB7Citz dGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhdHkxMjhmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRI SVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBhdHkxMjhmYl9jaGVja192YXIsCiAJLmZiX3Nl dF9wYXIJPSBhdHkxMjhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRl di9hdHkvYXR5ZmJfYmFzZS5jIGIvZHJpdmVycy92aWRlby9mYmRldi9hdHkvYXR5ZmJfYmFzZS5j CmluZGV4IDZkZGE1ZDg4NWEwMy4uOWM1NzM3MDU5NmYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L2F0eS9hdHlmYl9iYXNlLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9hdHkv YXR5ZmJfYmFzZS5jCkBAIC0yODAsNyArMjgwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmYl92 aWRlb21vZGUgZGVmbW9kZSA9IHsKIAkwLCBGQl9WTU9ERV9OT05JTlRFUkxBQ0VECiB9OwogCi1z dGF0aWMgc3RydWN0IGZiX29wcyBhdHlmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZi X29wcyBhdHlmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0g YXR5ZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQk9IGF0eWZiX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9yYWRlb25fYmFzZS5jIGIvZHJpdmVycy92aWRlby9mYmRl di9hdHkvcmFkZW9uX2Jhc2UuYwppbmRleCA0Y2EwNzg2NmYyZjYuLjNhZjAwZTNiOTY1ZSAxMDA2 NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hdHkvcmFkZW9uX2Jhc2UuYworKysgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9yYWRlb25fYmFzZS5jCkBAIC0xOTY1LDcgKzE5NjUsNyBAQCBz dGF0aWMgaW50IHJhZGVvbmZiX3NldF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8pCiB9CiAKIAot c3RhdGljIHN0cnVjdCBmYl9vcHMgcmFkZW9uZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgcmFkZW9uZmJfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmZi X2NoZWNrX3ZhcgkJPSByYWRlb25mYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJCT0gcmFkZW9u ZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXUxMTAwZmIuYyBi L2RyaXZlcnMvdmlkZW8vZmJkZXYvYXUxMTAwZmIuYwppbmRleCA5OTk0MWFlMWYzYTEuLjM3YTY1 MTJmZWRhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hdTExMDBmYi5jCisrKyBi L2RyaXZlcnMvdmlkZW8vZmJkZXYvYXUxMTAwZmIuYwpAQCAtMzQ4LDcgKzM0OCw3IEBAIGludCBh dTExMDBmYl9mYl9tbWFwKHN0cnVjdCBmYl9pbmZvICpmYmksIHN0cnVjdCB2bV9hcmVhX3N0cnVj dCAqdm1hKQogCQkJZmJkZXYtPmZiX2xlbik7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGF1 MTEwMGZiX29wcyA9CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhdTExMDBmYl9vcHMgPQog ewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3NldGNvbHJlZwkJPSBhdTExMDBmYl9m Yl9zZXRjb2xyZWcsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F1MTIwMGZiLmMg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F1MTIwMGZiLmMKaW5kZXggMjY1ZDNiNDVlZmQwLi5jMDBl MDFhMTczNjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXUxMjAwZmIuYworKysg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F1MTIwMGZiLmMKQEAgLTE0ODMsNyArMTQ4Myw3IEBAIHN0 YXRpYyBpbnQgYXUxMjAwZmJfaW9jdGwoc3RydWN0IGZiX2luZm8gKmluZm8sIHVuc2lnbmVkIGlu dCBjbWQsCiB9CiAKIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgYXUxMjAwZmJfZmJfb3BzID0gewor c3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgYXUxMjAwZmJfZmJfb3BzID0gewogCS5vd25lcgkJ PSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyCT0gYXUxMjAwZmJfZmJfY2hlY2tfdmFyLAog CS5mYl9zZXRfcGFyCT0gYXUxMjAwZmJfZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvYnJvYWRzaGVldGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2Jyb2Fkc2hl ZXRmYi5jCmluZGV4IGQ2YmEzNDhkZWI5Zi4uZmQ2NmY0ZDRhNjIxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2Jyb2Fkc2hlZXRmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv YnJvYWRzaGVldGZiLmMKQEAgLTEwNDgsNyArMTA0OCw3IEBAIHN0YXRpYyBzc2l6ZV90IGJyb2Fk c2hlZXRmYl93cml0ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3QgY2hhciBfX3VzZXIgKmJ1 ZiwKIAlyZXR1cm4gKGVycikgPyBlcnIgOiBjb3VudDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9v cHMgYnJvYWRzaGVldGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGJyb2Fk c2hlZXRmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFkICAgICAg ICA9IGZiX3N5c19yZWFkLAogCS5mYl93cml0ZQk9IGJyb2Fkc2hlZXRmYl93cml0ZSwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYncyLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2J3 Mi5jCmluZGV4IDQzNmYxMGYzZDM3NS4uMGQ5YTZiYjU3YTA5IDEwMDY0NAotLS0gYS9kcml2ZXJz L3ZpZGVvL2ZiZGV2L2J3Mi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYncyLmMKQEAgLTM3 LDcgKzM3LDcgQEAgc3RhdGljIGludCBidzJfaW9jdGwoc3RydWN0IGZiX2luZm8gKiwgdW5zaWdu ZWQgaW50LCB1bnNpZ25lZCBsb25nKTsKICAqICBGcmFtZSBidWZmZXIgb3BlcmF0aW9ucwogICov CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGJ3Ml9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0 IGZiX29wcyBidzJfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2JsYW5r CQk9IGJ3Ml9ibGFuaywKIAkuZmJfZmlsbHJlY3QJCT0gY2ZiX2ZpbGxyZWN0LApkaWZmIC0tZ2l0 IGEvZHJpdmVycy92aWRlby9mYmRldi9jYXJtaW5lZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv Y2FybWluZWZiLmMKaW5kZXggOWYzYmUwMjU4NjIzLi5iZjNmMmE5NTk4YjEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvdmlkZW8vZmJkZXYvY2FybWluZWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRl di9jYXJtaW5lZmIuYwpAQCAtNTI3LDcgKzUyNyw3IEBAIHN0YXRpYyBpbnQgaW5pdF9oYXJkd2Fy ZShzdHJ1Y3QgY2FybWluZV9odyAqaHcpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3Qg ZmJfb3BzIGNhcm1pbmVmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBjYXJt aW5lZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfZmlsbHJlY3QJPSBj ZmJfZmlsbHJlY3QsCiAJLmZiX2NvcHlhcmVhCT0gY2ZiX2NvcHlhcmVhLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy92aWRlby9mYmRldi9jZzE0LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NnMTQuYwpp bmRleCBkODBkOTlkYjNhNDYuLmE2MjBiNTFjZjdkMCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRl by9mYmRldi9jZzE0LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9jZzE0LmMKQEAgLTM5LDcg KzM5LDcgQEAgc3RhdGljIGludCBjZzE0X3Bhbl9kaXNwbGF5KHN0cnVjdCBmYl92YXJfc2NyZWVu aW5mbyAqLCBzdHJ1Y3QgZmJfaW5mbyAqKTsKICAqICBGcmFtZSBidWZmZXIgb3BlcmF0aW9ucwog ICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGNnMTRfb3BzID0geworc3RhdGljIGNvbnN0IHN0 cnVjdCBmYl9vcHMgY2cxNF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJf c2V0Y29scmVnCQk9IGNnMTRfc2V0Y29scmVnLAogCS5mYl9wYW5fZGlzcGxheQkJPSBjZzE0X3Bh bl9kaXNwbGF5LApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9jZzMuYyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvY2czLmMKaW5kZXggMDlmNjE2ZGRkZmQ3Li43N2Y2NDcwY2U2NjUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2czLmMKKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9jZzMuYwpAQCAtMzksNyArMzksNyBAQCBzdGF0aWMgaW50IGNnM19pb2N0bChzdHJ1Y3Qg ZmJfaW5mbyAqLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGxvbmcpOwogICogIEZyYW1lIGJ1ZmZl ciBvcGVyYXRpb25zCiAgKi8KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgY2czX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNnM19vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01P RFVMRSwKIAkuZmJfc2V0Y29scmVnCQk9IGNnM19zZXRjb2xyZWcsCiAJLmZiX2JsYW5rCQk9IGNn M19ibGFuaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2c2LmMgYi9kcml2ZXJz L3ZpZGVvL2ZiZGV2L2NnNi5jCmluZGV4IGQ1ODg4YWVjYzJmYi4uYTFjNjhjZDQ4ZDdlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NnNi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvY2c2LmMKQEAgLTQ0LDcgKzQ0LDcgQEAgc3RhdGljIGludCBjZzZfcGFuX2Rpc3BsYXkoc3Ry dWN0IGZiX3Zhcl9zY3JlZW5pbmZvICosIHN0cnVjdCBmYl9pbmZvICopOwogICogIEZyYW1lIGJ1 ZmZlciBvcGVyYXRpb25zCiAgKi8KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgY2c2X29wcyA9IHsK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNnNl9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElT X01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCQk9IGNnNl9zZXRjb2xyZWcsCiAJLmZiX2JsYW5rCQk9 IGNnNl9ibGFuaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2hpcHNmYi5jIGIv ZHJpdmVycy92aWRlby9mYmRldi9jaGlwc2ZiLmMKaW5kZXggZjRkYzMyMGRjYWZlLi45OTgwNjdi NzAxZmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2hpcHNmYi5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvY2hpcHNmYi5jCkBAIC03OSw3ICs3OSw3IEBAIHN0YXRpYyBpbnQg Y2hpcHNmYl9zZXRjb2xyZWcodV9pbnQgcmVnbm8sIHVfaW50IHJlZCwgdV9pbnQgZ3JlZW4sIHVf aW50IGJsdWUsCiAJCQkgICAgIHVfaW50IHRyYW5zcCwgc3RydWN0IGZiX2luZm8gKmluZm8pOwog c3RhdGljIGludCBjaGlwc2ZiX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2luZm8gKmluZm8p OwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBjaGlwc2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZmJfb3BzIGNoaXBzZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAku ZmJfY2hlY2tfdmFyCT0gY2hpcHNmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBjaGlwc2Zi X3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NpcnJ1c2ZiLmMgYi9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2NpcnJ1c2ZiLmMKaW5kZXggZTRjZTU2NjdiMTI1Li5jM2EzZTM0 NGNlZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2lycnVzZmIuYworKysgYi9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2NpcnJ1c2ZiLmMKQEAgLTE5NTYsNyArMTk1Niw3IEBAIHN0YXRp YyB2b2lkIGNpcnJ1c2ZiX3pvcnJvX3VubWFwKHN0cnVjdCBmYl9pbmZvICppbmZvKQogI2VuZGlm IC8qIENPTkZJR19aT1JSTyAqLwogCiAvKiBmdW5jdGlvbiB0YWJsZSBvZiB0aGUgYWJvdmUgZnVu Y3Rpb25zICovCi1zdGF0aWMgc3RydWN0IGZiX29wcyBjaXJydXNmYl9vcHMgPSB7CitzdGF0aWMg Y29uc3Qgc3RydWN0IGZiX29wcyBjaXJydXNmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9E VUxFLAogCS5mYl9vcGVuCT0gY2lycnVzZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQk9IGNpcnJ1c2Zi X3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NscHM3MTF4LWZiLmMg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NscHM3MTF4LWZiLmMKaW5kZXggY2FiYmM3MjFmODk0Li5j NWQxNWM2ZGIyODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY2xwczcxMXgtZmIu YworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NscHM3MTF4LWZiLmMKQEAgLTE1Myw3ICsxNTMs NyBAQCBzdGF0aWMgaW50IGNscHM3MTF4X2ZiX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2lu Zm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGNscHM3MTF4 X2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNscHM3MTF4X2ZiX29wcyA9 IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3NldGNvbHJlZwk9IGNscHM3MTF4X2Zi X3NldGNvbHJlZywKIAkuZmJfY2hlY2tfdmFyCT0gY2xwczcxMXhfZmJfY2hlY2tfdmFyLApkaWZm IC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9jb2JhbHRfbGNkZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvY29iYWx0X2xjZGZiLmMKaW5kZXggNTQ0OTQ2OTAxZThiLi41ZjhiNjMyNGQyZTgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvY29iYWx0X2xjZGZiLmMKKysrIGIvZHJp dmVycy92aWRlby9mYmRldi9jb2JhbHRfbGNkZmIuYwpAQCAtMjY5LDcgKzI2OSw3IEBAIHN0YXRp YyBpbnQgY29iYWx0X2xjZGZiX2N1cnNvcihzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgc3RydWN0IGZi X2N1cnNvciAqY3Vyc29yKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBj b2JhbHRfbGNkX2Zib3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgY29iYWx0X2xj ZF9mYm9wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3JlYWQJPSBjb2JhbHRf bGNkZmJfcmVhZCwKIAkuZmJfd3JpdGUJPSBjb2JhbHRfbGNkZmJfd3JpdGUsCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvbnRyb2xmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9j b250cm9sZmIuYwppbmRleCA5YTY4MGVmM2ZmYzMuLjM4YjYxY2RiNWNhNCAxMDA2NDQKLS0tIGEv ZHJpdmVycy92aWRlby9mYmRldi9jb250cm9sZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2NvbnRyb2xmYi5jCkBAIC0xNTcsNyArMTU3LDcgQEAgc3RhdGljIGludCBkZWZhdWx0X3Ztb2Rl IF9faW5pdGRhdGEgPSBWTU9ERV9OVlJBTTsKIHN0YXRpYyBpbnQgZGVmYXVsdF9jbW9kZSBfX2lu aXRkYXRhID0gQ01PREVfTlZSQU07CiAKIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgY29udHJvbGZi X29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGNvbnRyb2xmYl9vcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBjb250cm9sZmJfY2hlY2tf dmFyLAogCS5mYl9zZXRfcGFyCT0gY29udHJvbGZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2N5YmVyMjAwMGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2N5YmVy MjAwMGZiLmMKaW5kZXggM2EyZDlmZjBhYTQyLi40NjA4MjZhN2FkNTUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvY3liZXIyMDAwZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2N5YmVyMjAwMGZiLmMKQEAgLTEwNjAsNyArMTA2MCw3IEBAIHN0YXRpYyBpbnQgY3liZXIyMDAw ZmJfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgY3liZXIyMDAwZmJfb3BzID0geworc3RhdGljIGNvbnN0 IHN0cnVjdCBmYl9vcHMgY3liZXIyMDAwZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVM RSwKIAkuZmJfY2hlY2tfdmFyCT0gY3liZXIyMDAwZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFy CT0gY3liZXIyMDAwZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYv ZGE4eHgtZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZGE4eHgtZmIuYwppbmRleCAyZDNkY2M1 MmZjZjMuLjczYzNjNGM4Y2MxMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9kYTh4 eC1mYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZGE4eHgtZmIuYwpAQCAtMTI5NCw3ICsx Mjk0LDcgQEAgc3RhdGljIGludCBkYTh4eGZiX3NldF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8p CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGRhOHh4X2ZiX29wcyA9IHsK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGRhOHh4X2ZiX29wcyA9IHsKIAkub3duZXIgPSBU SElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyID0gZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFy ID0gZGE4eHhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9kbmZi LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2RuZmIuYwppbmRleCA4ZGE1MTdlYWE0YTMuLjM2ODhm OTE2NTg0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9kbmZiLmMKKysrIGIvZHJp dmVycy92aWRlby9mYmRldi9kbmZiLmMKQEAgLTEwOCw3ICsxMDgsNyBAQAogc3RhdGljIGludCBk bmZiX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2luZm8gKmluZm8pOwogc3RhdGljIHZvaWQg ZG5mYl9jb3B5YXJlYShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IGZiX2NvcHlh cmVhICphcmVhKTsKIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgZG5fZmJfb3BzID0geworc3RhdGlj IGNvbnN0IHN0cnVjdCBmYl9vcHMgZG5fZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVM RSwKIAkuZmJfYmxhbmsJPSBkbmZiX2JsYW5rLAogCS5mYl9maWxscmVjdAk9IGNmYl9maWxscmVj dCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZWZpZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvZWZpZmIuYwppbmRleCA1MWQ5N2VjNGY1OGYuLmYwM2Y5ZmI2MGMyNiAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9lZmlmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvZWZpZmIuYwpAQCAtMjU1LDcgKzI1NSw3IEBAIHN0YXRpYyB2b2lkIGVmaWZiX2Rlc3Ryb3ko c3RydWN0IGZiX2luZm8gKmluZm8pCiAJZmJfZGVhbGxvY19jbWFwKCZpbmZvLT5jbWFwKTsKIH0K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgZWZpZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgZWZpZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfZGVz dHJveQk9IGVmaWZiX2Rlc3Ryb3ksCiAJLmZiX3NldGNvbHJlZwk9IGVmaWZiX3NldGNvbHJlZywK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZXA5M3h4LWZiLmMgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L2VwOTN4eC1mYi5jCmluZGV4IGQwNGEwNDcwOTRmYy4uY2RhMmVmMzM3NDIzIDEw MDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2VwOTN4eC1mYi5jCisrKyBiL2RyaXZlcnMv dmlkZW8vZmJkZXYvZXA5M3h4LWZiLmMKQEAgLTQwMiw3ICs0MDIsNyBAQCBzdGF0aWMgaW50IGVw OTN4eGZiX3NldGNvbHJlZyh1bnNpZ25lZCBpbnQgcmVnbm8sIHVuc2lnbmVkIGludCByZWQsCiAJ cmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGVwOTN4eGZiX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGVwOTN4eGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJ U19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGVwOTN4eGZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0 X3Bhcgk9IGVwOTN4eGZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2ZiLXB1djMuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZmItcHV2My5jCmluZGV4IGZhNjJjNGRm ZjdkMS4uNzVkZjZhYWJhYzIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2ZiLXB1 djMuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2ZiLXB1djMuYwpAQCAtNjQ0LDcgKzY0NCw3 IEBAIGludCB1bmlmYl9tbWFwKHN0cnVjdCBmYl9pbmZvICppbmZvLAogCXJldHVybiB2bV9pb21h cF9tZW1vcnkodm1hLCBpbmZvLT5maXguc21lbV9zdGFydCwgaW5mby0+Zml4LnNtZW1fbGVuKTsK IH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgdW5pZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0 cnVjdCBmYl9vcHMgdW5pZmJfb3BzID0gewogCS5mYl9yZWFkICAgICAgICA9IGZiX3N5c19yZWFk LAogCS5mYl93cml0ZSAgICAgICA9IGZiX3N5c193cml0ZSwKIAkuZmJfY2hlY2tfdmFyCT0gdW5p ZmJfY2hlY2tfdmFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9mZmIuYyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvZmZiLmMKaW5kZXggY2QyZDFkYjIzOWEyLi45NDhiNzMxODQ0MzMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZmZiLmMKKysrIGIvZHJpdmVycy92aWRl by9mYmRldi9mZmIuYwpAQCAtNDQsNyArNDQsNyBAQCBzdGF0aWMgaW50IGZmYl9wYW5fZGlzcGxh eShzdHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8gKiwgc3RydWN0IGZiX2luZm8gKik7CiAgKiAgRnJh bWUgYnVmZmVyIG9wZXJhdGlvbnMKICAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBmZmJfb3Bz ID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgZmZiX29wcyA9IHsKIAkub3duZXIJCQk9 IFRISVNfTU9EVUxFLAogCS5mYl9zZXRjb2xyZWcJCT0gZmZiX3NldGNvbHJlZywKIAkuZmJfYmxh bmsJCT0gZmZiX2JsYW5rLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9mbTJmYi5j IGIvZHJpdmVycy92aWRlby9mYmRldi9mbTJmYi5jCmluZGV4IGFjN2E0ZWJmZDM5MC4uM2I3Mjdk NTI4ZmRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2ZtMmZiLmMKKysrIGIvZHJp dmVycy92aWRlby9mYmRldi9mbTJmYi5jCkBAIC0xNjUsNyArMTY1LDcgQEAgc3RhdGljIGludCBm bTJmYl9zZXRjb2xyZWcodV9pbnQgcmVnbm8sIHVfaW50IHJlZCwgdV9pbnQgZ3JlZW4sIHVfaW50 IGJsdWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1X2ludCB0cmFuc3AsIHN0cnVjdCBm Yl9pbmZvICppbmZvKTsKIHN0YXRpYyBpbnQgZm0yZmJfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbyk7CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGZtMmZiX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGZtMmZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19N T0RVTEUsCiAJLmZiX3NldGNvbHJlZwk9IGZtMmZiX3NldGNvbHJlZywKIAkuZmJfYmxhbmsJPSBm bTJmYl9ibGFuaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZnNsLWRpdS1mYi5j IGIvZHJpdmVycy92aWRlby9mYmRldi9mc2wtZGl1LWZiLmMKaW5kZXggZDE5ZjU4MjYzYjRlLi43 Y2FjYWJkZDVmMTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZnNsLWRpdS1mYi5j CisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZnNsLWRpdS1mYi5jCkBAIC0xNDQ4LDcgKzE0NDgs NyBAQCBzdGF0aWMgaW50IGZzbF9kaXVfcmVsZWFzZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgaW50 IHVzZXIpCiAJcmV0dXJuIHJlczsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgZnNsX2RpdV9v cHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBmc2xfZGl1X29wcyA9IHsKIAkub3du ZXIgPSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyID0gZnNsX2RpdV9jaGVja192YXIsCiAJ LmZiX3NldF9wYXIgPSBmc2xfZGl1X3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L2czNjRmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9nMzY0ZmIuYwppbmRleCAyMjM4 OTZjYzVmN2QuLjg0NWI3OWRhMmE3YyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9n MzY0ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2czNjRmYi5jCkBAIC0xMTEsNyArMTEx LDcgQEAgc3RhdGljIGludCBnMzY0ZmJfc2V0Y29scmVnKHVfaW50IHJlZ25vLCB1X2ludCByZWQs IHVfaW50IGdyZWVuLAogc3RhdGljIGludCBnMzY0ZmJfY3Vyc29yKHN0cnVjdCBmYl9pbmZvICpp bmZvLCBzdHJ1Y3QgZmJfY3Vyc29yICpjdXJzb3IpOwogc3RhdGljIGludCBnMzY0ZmJfYmxhbmso aW50IGJsYW5rLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3Bz IGczNjRmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBnMzY0ZmJfb3BzID0g ewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCT0gZzM2NGZiX3NldGNv bHJlZywKIAkuZmJfcGFuX2Rpc3BsYXkJPSBnMzY0ZmJfcGFuX2Rpc3BsYXksCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2diZWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2diZWZi LmMKaW5kZXggYjlmNmE4MmEwNDk1Li4zMTI3MGE4OTg2ZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvZ2JlZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2diZWZiLmMKQEAg LTEwNDQsNyArMTA0NCw3IEBAIHN0YXRpYyBpbnQgZ2JlZmJfbW1hcChzdHJ1Y3QgZmJfaW5mbyAq aW5mbywKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgZ2JlZmJfb3BzID0g eworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgZ2JlZmJfb3BzID0gewogCS5vd25lcgkJPSBU SElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyCT0gZ2JlZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRf cGFyCT0gZ2JlZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZ2Vv ZGUvZ3gxZmJfY29yZS5jIGIvZHJpdmVycy92aWRlby9mYmRldi9nZW9kZS9neDFmYl9jb3JlLmMK aW5kZXggNzM3ZTQ3MmZhYzE0Li41ZDM0ZDg5ZmI2NjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlk ZW8vZmJkZXYvZ2VvZGUvZ3gxZmJfY29yZS5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZ2Vv ZGUvZ3gxZmJfY29yZS5jCkBAIC0yNTIsNyArMjUyLDcgQEAgc3RhdGljIGludCBwYXJzZV9wYW5l bF9vcHRpb24oc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBz dHJ1Y3QgZmJfb3BzIGd4MWZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGd4 MWZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGd4 MWZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IGd4MWZiX3NldF9wYXIsCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2dlb2RlL2d4ZmJfY29yZS5jIGIvZHJpdmVycy92aWRlby9m YmRldi9nZW9kZS9neGZiX2NvcmUuYwppbmRleCA0MzVjZTJhYTQyNDAuLmQzOGExNDhkNDc0NiAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9nZW9kZS9neGZiX2NvcmUuYworKysgYi9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2dlb2RlL2d4ZmJfY29yZS5jCkBAIC0yNjUsNyArMjY1LDcgQEAg c3RhdGljIGludCBneGZiX21hcF92aWRlb19tZW1vcnkoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0 cnVjdCBwY2lfZGV2ICpkZXYpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3Bz IGd4ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgZ3hmYl9vcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBneGZiX2NoZWNrX3ZhciwK IAkuZmJfc2V0X3Bhcgk9IGd4ZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8v ZmJkZXYvZ2VvZGUvbHhmYl9jb3JlLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2dlb2RlL2x4ZmJf Y29yZS5jCmluZGV4IGIwZjA3ZDY3NmViMy4uYWRjMmQ5YzIzOTVlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2dlb2RlL2x4ZmJfY29yZS5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvZ2VvZGUvbHhmYl9jb3JlLmMKQEAgLTM4Niw3ICszODYsNyBAQCBzdGF0aWMgaW50IGx4ZmJf bWFwX3ZpZGVvX21lbW9yeShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgc3RydWN0IHBjaV9kZXYgKmRl dikKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgbHhmYl9vcHMgPSB7Citz dGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBseGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19N T0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IGx4ZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0g bHhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9nb2xkZmlzaGZi LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2dvbGRmaXNoZmIuYwppbmRleCBmNjBhYzI3NjcwM2Qu LjljODNlYzNmOGUxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9nb2xkZmlzaGZi LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9nb2xkZmlzaGZiLmMKQEAgLTE2MCw3ICsxNjAs NyBAQCBzdGF0aWMgaW50IGdvbGRmaXNoX2ZiX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2lu Zm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGdvbGRmaXNo X2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGdvbGRmaXNoX2ZiX29wcyA9 IHsKIAkub3duZXIgICAgICAgICAgPSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyICAgPSBn b2xkZmlzaF9mYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIgICAgID0gZ29sZGZpc2hfZmJfc2V0 X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvZ3J2Z2EuYyBiL2RyaXZlcnMv dmlkZW8vZmJkZXYvZ3J2Z2EuYwppbmRleCBkMjJlOGIwYzkwNmQuLjA3ZGRhMDNlMDk1NyAxMDA2 NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9ncnZnYS5jCisrKyBiL2RyaXZlcnMvdmlkZW8v ZmJkZXYvZ3J2Z2EuYwpAQCAtMjUxLDcgKzI1MSw3IEBAIHN0YXRpYyBpbnQgZ3J2Z2FfcGFuX2Rp c3BsYXkoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCiAJcmV0dXJuIDA7CiB9CiAKLXN0 YXRpYyBzdHJ1Y3QgZmJfb3BzIGdydmdhX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJf b3BzIGdydmdhX29wcyA9IHsKIAkub3duZXIgICAgICAgICAgPSBUSElTX01PRFVMRSwKIAkuZmJf Y2hlY2tfdmFyICAgPSBncnZnYV9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBncnZnYV9zZXRf cGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9neHQ0NTAwLmMgYi9kcml2ZXJz L3ZpZGVvL2ZiZGV2L2d4dDQ1MDAuYwppbmRleCBjNzUwMmZkOGY0NDcuLjEzZGVkM2ExMDcwOCAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9neHQ0NTAwLmMKKysrIGIvZHJpdmVycy92 aWRlby9mYmRldi9neHQ0NTAwLmMKQEAgLTU5OSw3ICs1OTksNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGZiX2ZpeF9zY3JlZW5pbmZvIGd4dDQ1MDBfZml4ID0gewogCS5tbWlvX2xlbiA9IDB4MjAw MDAsCiB9OwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBneHQ0NTAwX29wcyA9IHsKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZmJfb3BzIGd4dDQ1MDBfb3BzID0gewogCS5vd25lciA9IFRISVNfTU9EVUxF LAogCS5mYl9jaGVja192YXIgPSBneHQ0NTAwX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3BhciA9IGd4 dDQ1MDBfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaGVjdWJhZmIu YyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaGVjdWJhZmIuYwppbmRleCA4NTc3MTk1Y2I1MzMuLjAw ZDc3MTA1MTYxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9oZWN1YmFmYi5jCisr KyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaGVjdWJhZmIuYwpAQCAtMTk3LDcgKzE5Nyw3IEBAIHN0 YXRpYyBzc2l6ZV90IGhlY3ViYWZiX3dyaXRlKHN0cnVjdCBmYl9pbmZvICppbmZvLCBjb25zdCBj aGFyIF9fdXNlciAqYnVmLAogCXJldHVybiAoZXJyKSA/IGVyciA6IGNvdW50OwogfQogCi1zdGF0 aWMgc3RydWN0IGZiX29wcyBoZWN1YmFmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZi X29wcyBoZWN1YmFmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFk ICAgICAgICA9IGZiX3N5c19yZWFkLAogCS5mYl93cml0ZQk9IGhlY3ViYWZiX3dyaXRlLApkaWZm IC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9oZ2FmYi5jIGIvZHJpdmVycy92aWRlby9mYmRl di9oZ2FmYi5jCmluZGV4IDU5ZTFjYWU1Nzk0OC4uYTQ1ZmNmZjE0NjFmIDEwMDY0NAotLS0gYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2hnYWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9oZ2Fm Yi5jCkBAIC01MjMsNyArNTIzLDcgQEAgc3RhdGljIHZvaWQgaGdhZmJfaW1hZ2VibGl0KHN0cnVj dCBmYl9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgZmJfaW1hZ2UgKmltYWdlKQogCX0KIH0KIAot c3RhdGljIHN0cnVjdCBmYl9vcHMgaGdhZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBm Yl9vcHMgaGdhZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfb3Blbgk9 IGhnYWZiX29wZW4sCiAJLmZiX3JlbGVhc2UJPSBoZ2FmYl9yZWxlYXNlLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy92aWRlby9mYmRldi9oaXRmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9oaXRmYi5j CmluZGV4IGFiZTNlNTRkNDUwNi4uMDA5ZTVkMmFhMTAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L2hpdGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9oaXRmYi5jCkBAIC0z MTEsNyArMzExLDcgQEAgc3RhdGljIGludCBoaXRmYl9zZXRfcGFyKHN0cnVjdCBmYl9pbmZvICpp bmZvKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBoaXRmYl9vcHMgPSB7 CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBoaXRmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRI SVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBoaXRmYl9jaGVja192YXIsCiAJLmZiX3NldF9w YXIJCT0gaGl0ZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaHBm Yi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9ocGZiLmMKaW5kZXggYTc5YWY4ZjA2OWQxLi5mMDJi ZTBkYjMzNWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaHBmYi5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvaHBmYi5jCkBAIC0xODQsNyArMTg0LDcgQEAgc3RhdGljIGludCBo cGZiX3N5bmMoc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBz dHJ1Y3QgZmJfb3BzIGhwZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgaHBm Yl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9zZXRjb2xyZWcJPSBocGZi X3NldGNvbHJlZywKIAkuZmJfYmxhbmsJPSBocGZiX2JsYW5rLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy92aWRlby9mYmRldi9oeXBlcnZfZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaHlwZXJ2X2Zi LmMKaW5kZXggMmRjYjdjNThiMzFlLi5mY2Q1NDZlNWMwMzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvaHlwZXJ2X2ZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9oeXBlcnZf ZmIuYwpAQCAtNjIzLDcgKzYyMyw3IEBAIHN0YXRpYyB2b2lkIGh2ZmJfY2ZiX2ltYWdlYmxpdChz dHJ1Y3QgZmJfaW5mbyAqcCwKIAkJc3ludGh2aWRfdXBkYXRlKHApOwogfQogCi1zdGF0aWMgc3Ry dWN0IGZiX29wcyBodmZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGh2ZmJf b3BzID0gewogCS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIgPSBodmZiX2No ZWNrX3ZhciwKIAkuZmJfc2V0X3BhciA9IGh2ZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvaTc0MGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2k3NDBmYi5jCmlu ZGV4IDM0N2NmOGJhYmMzZS4uYzY1ZWM3Mzg2ZTg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L2k3NDBmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaTc0MGZiLmMKQEAgLTk4 MSw3ICs5ODEsNyBAQCBzdGF0aWMgaW50IGk3NDBmYl9ibGFuayhpbnQgYmxhbmtfbW9kZSwgc3Ry dWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIChibGFua19tb2RlID09IEZCX0JMQU5LX05PUk1B TCkgPyAxIDogMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgaTc0MGZiX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGk3NDBmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNf TU9EVUxFLAogCS5mYl9vcGVuCT0gaTc0MGZiX29wZW4sCiAJLmZiX3JlbGVhc2UJPSBpNzQwZmJf cmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaW1zdHRmYi5jIGIvZHJp dmVycy92aWRlby9mYmRldi9pbXN0dGZiLmMKaW5kZXggNThiMDFjN2Q5MDU2Li4zYWMwNTNiODg0 OTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvaW1zdHRmYi5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvaW1zdHRmYi5jCkBAIC0xMzMzLDcgKzEzMzMsNyBAQCBzdGF0aWMgc3Ry dWN0IHBjaV9kcml2ZXIgaW1zdHRmYl9wY2lfZHJpdmVyID0gewogCS5yZW1vdmUgPQlpbXN0dGZi X3JlbW92ZSwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGltc3R0ZmJfb3BzID0geworc3Rh dGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgaW1zdHRmYl9vcHMgPSB7CiAJLm93bmVyIAkJPSBUSElT X01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyCT0gaW1zdHRmYl9jaGVja192YXIsCiAJLmZiX3NldF9w YXIgCT0gaW1zdHRmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9p bXhmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9pbXhmYi5jCmluZGV4IGIzMjg2ZDFmYTU0My4u MDhhMTdlYjJhNWM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2lteGZiLmMKKysr IGIvZHJpdmVycy92aWRlby9mYmRldi9pbXhmYi5jCkBAIC01NjYsNyArNTY2LDcgQEAgc3RhdGlj IGludCBpbXhmYl9ibGFuayhpbnQgYmxhbmssIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCXJldHVy biAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBpbXhmYl9vcHMgPSB7CitzdGF0aWMgY29u c3Qgc3RydWN0IGZiX29wcyBpbXhmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAog CS5mYl9jaGVja192YXIJPSBpbXhmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBpbXhmYl9z ZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9pbnRlbGZiL2ludGVsZmJk cnYuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvaW50ZWxmYi9pbnRlbGZiZHJ2LmMKaW5kZXggYTc2 YzYxNTEyYzYwLi5jNzQ0ODkxNzgxYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYv aW50ZWxmYi9pbnRlbGZiZHJ2LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9pbnRlbGZiL2lu dGVsZmJkcnYuYwpAQCAtMTkzLDcgKzE5Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2Rl dmljZV9pZCBpbnRlbGZiX3BjaV90YWJsZVtdID0gewogc3RhdGljIGludCBudW1fcmVnaXN0ZXJl ZCA9IDA7CiAKIC8qIGZiIG9wcyAqLwotc3RhdGljIHN0cnVjdCBmYl9vcHMgaW50ZWxfZmJfb3Bz ID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgaW50ZWxfZmJfb3BzID0gewogCS5vd25l ciA9CQlUSElTX01PRFVMRSwKIAkuZmJfb3BlbiA9ICAgICAgICAgICAgICBpbnRlbGZiX29wZW4s CiAJLmZiX3JlbGVhc2UgPSAgICAgICAgICAgaW50ZWxmYl9yZWxlYXNlLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy92aWRlby9mYmRldi9reXJvL2ZiZGV2LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2t5 cm8vZmJkZXYuYwppbmRleCBhN2JkOWYyNTkxMWIuLjcyZGZmMmU0MmUzYSAxMDA2NDQKLS0tIGEv ZHJpdmVycy92aWRlby9mYmRldi9reXJvL2ZiZGV2LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRl di9reXJvL2ZiZGV2LmMKQEAgLTY0OCw3ICs2NDgsNyBAQCBzdGF0aWMgc3RydWN0IHBjaV9kcml2 ZXIga3lyb2ZiX3BjaV9kcml2ZXIgPSB7CiAJLnJlbW92ZQkJPSBreXJvZmJfcmVtb3ZlLAogfTsK IAotc3RhdGljIHN0cnVjdCBmYl9vcHMga3lyb2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgZmJfb3BzIGt5cm9mYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9j aGVja192YXIJPSBreXJvZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0ga3lyb2ZiX3NldF9w YXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2xlby5jIGIvZHJpdmVycy92aWRl by9mYmRldi9sZW8uYwppbmRleCA1YjExNDFhYzE4MmIuLjQwYjExY2NlMGFkNiAxMDA2NDQKLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9sZW8uYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2xl by5jCkBAIC0zOSw3ICszOSw3IEBAIHN0YXRpYyBpbnQgbGVvX3Bhbl9kaXNwbGF5KHN0cnVjdCBm Yl92YXJfc2NyZWVuaW5mbyAqLCBzdHJ1Y3QgZmJfaW5mbyAqKTsKICAqICBGcmFtZSBidWZmZXIg b3BlcmF0aW9ucwogICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGxlb19vcHMgPSB7CitzdGF0 aWMgY29uc3Qgc3RydWN0IGZiX29wcyBsZW9fb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RV TEUsCiAJLmZiX3NldGNvbHJlZwkJPSBsZW9fc2V0Y29scmVnLAogCS5mYl9ibGFuawkJPSBsZW9f YmxhbmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21hY2ZiLmMgYi9kcml2ZXJz L3ZpZGVvL2ZiZGV2L21hY2ZiLmMKaW5kZXggOWE2ZmVlZTk2MTMzLi5lMDVhOTc2NjJjYTggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWFjZmIuYworKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L21hY2ZiLmMKQEAgLTQ5Niw3ICs0OTYsNyBAQCBzdGF0aWMgaW50IG1hY2ZiX3NldGNv bHJlZyh1bnNpZ25lZCByZWdubywgdW5zaWduZWQgcmVkLCB1bnNpZ25lZCBncmVlbiwKIAlyZXR1 cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgbWFjZmJfb3BzID0geworc3RhdGljIGNv bnN0IHN0cnVjdCBmYl9vcHMgbWFjZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwK IAkuZmJfc2V0Y29scmVnCT0gbWFjZmJfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAk9IGNmYl9m aWxscmVjdCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWF0cm94L21hdHJveGZi X2NydGMyLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21hdHJveC9tYXRyb3hmYl9jcnRjMi5jCmlu ZGV4IGQyYTgxYTJjM2FjMC4uNzY1NWFmYTNmZDUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L21hdHJveC9tYXRyb3hmYl9jcnRjMi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv bWF0cm94L21hdHJveGZiX2NydGMyLmMKQEAgLTU2Myw3ICs1NjMsNyBAQCBzdGF0aWMgaW50IG1h dHJveGZiX2RoX2JsYW5rKGludCBibGFuaywgc3RydWN0IGZiX2luZm8qIGluZm8pIHsKICN1bmRl ZiBtMmluZm8KIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgbWF0cm94ZmJfZGhfb3BzID0gewor c3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgbWF0cm94ZmJfZGhfb3BzID0gewogCS5vd25lciA9 CVRISVNfTU9EVUxFLAogCS5mYl9vcGVuID0JbWF0cm94ZmJfZGhfb3BlbiwKIAkuZmJfcmVsZWFz ZSA9CW1hdHJveGZiX2RoX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L21heGluZWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21heGluZWZiLmMKaW5kZXggNWJiMWI1 YzMwOGE3Li5hZTFhNDJiY2IwZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWF4 aW5lZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21heGluZWZiLmMKQEAgLTEwNSw3ICsx MDUsNyBAQCBzdGF0aWMgaW50IG1heGluZWZiX3NldGNvbHJlZyh1bnNpZ25lZCByZWdubywgdW5z aWduZWQgcmVkLCB1bnNpZ25lZCBncmVlbiwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgbWF4aW5lZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgbWF4 aW5lZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCT0g bWF4aW5lZmJfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAk9IGNmYl9maWxscmVjdCwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWI4NjJ4eC9tYjg2Mnh4ZmJkcnYuYyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvbWI4NjJ4eC9tYjg2Mnh4ZmJkcnYuYwppbmRleCA5NjJjMDE3MWQyNzEu LjI5OGUxMGZlMDQwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9tYjg2Mnh4L21i ODYyeHhmYmRydi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvbWI4NjJ4eC9tYjg2Mnh4ZmJk cnYuYwpAQCAtNDAxLDcgKzQwMSw3IEBAIHN0YXRpYyBpbnQgbWI4NjJ4eGZiX2lvY3RsKHN0cnVj dCBmYl9pbmZvICpmYmksIHVuc2lnbmVkIGludCBjbWQsCiB9CiAKIC8qIGZyYW1lYnVmZmVyIG9w cyAqLwotc3RhdGljIHN0cnVjdCBmYl9vcHMgbWI4NjJ4eGZiX29wcyA9IHsKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgZmJfb3BzIG1iODYyeHhmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxF LAogCS5mYl9jaGVja192YXIJPSBtYjg2Mnh4ZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0g bWI4NjJ4eGZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21ieC9t YnhmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9tYngvbWJ4ZmIuYwppbmRleCA1MDkzNTI1MmI1 MGIuLjI1ZGFkNDUwN2Q3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9tYngvbWJ4 ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L21ieC9tYnhmYi5jCkBAIC02NzEsNyArNjcx LDcgQEAgc3RhdGljIGludCBtYnhmYl9pb2N0bChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgdW5zaWdu ZWQgaW50IGNtZCwKIAlyZXR1cm4gLUVJTlZBTDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMg bWJ4ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgbWJ4ZmJfb3BzID0gewog CS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIgPSBtYnhmYl9jaGVja192YXIs CiAJLmZiX3NldF9wYXIgPSBtYnhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRl by9mYmRldi9tZXRyb25vbWVmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9tZXRyb25vbWVmYi5j CmluZGV4IGJiNGZlZTUyZTUwMS4uYTQyZTJlY2VlZTQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L21ldHJvbm9tZWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9tZXRyb25v bWVmYi5jCkBAIC01NTgsNyArNTU4LDcgQEAgc3RhdGljIHNzaXplX3QgbWV0cm9ub21lZmJfd3Jp dGUoc3RydWN0IGZiX2luZm8gKmluZm8sIGNvbnN0IGNoYXIgX191c2VyICpidWYsCiAJcmV0dXJu IChlcnIpID8gZXJyIDogY291bnQ7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIG1ldHJvbm9t ZWZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIG1ldHJvbm9tZWZiX29wcyA9 IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3dyaXRlCT0gbWV0cm9ub21lZmJfd3Jp dGUsCiAJLmZiX2ZpbGxyZWN0CT0gbWV0cm9ub21lZmJfZmlsbHJlY3QsCmRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L21tcC9mYi9tbXBmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9t bXAvZmIvbW1wZmIuYwppbmRleCA0N2JjN2M1OWJiZDguLjMzZGIwODUwMDg2ZiAxMDA2NDQKLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9tbXAvZmIvbW1wZmIuYworKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L21tcC9mYi9tbXBmYi5jCkBAIC00NTQsNyArNDU0LDcgQEAgc3RhdGljIGludCBtbXBm Yl9ibGFuayhpbnQgYmxhbmssIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCXJldHVybiAwOwogfQog Ci1zdGF0aWMgc3RydWN0IGZiX29wcyBtbXBmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0 IGZiX29wcyBtbXBmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9ibGFu awk9IG1tcGZiX2JsYW5rLAogCS5mYl9jaGVja192YXIJPSBtbXBmYl9jaGVja192YXIsCmRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L214M2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L214M2ZiLmMKaW5kZXggYmFmZDVmNWZhYzVhLi40YWYyOGU0NDIxZTUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvbXgzZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L214M2Zi LmMKQEAgLTEyNDksNyArMTI0OSw3IEBAIHN0YXRpYyBpbnQgbXgzZmJfcGFuX2Rpc3BsYXkoc3Ry dWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCiAgKiBpbnZva2VkIGJ5IHRoZSBjb3JlIGZyYW1l YnVmZmVyIGRyaXZlciB0byBwZXJmb3JtIG9wZXJhdGlvbnMgbGlrZQogICogYmxpdHRpbmcsIHJl Y3RhbmdsZSBmaWxsaW5nLCBjb3B5IHJlZ2lvbnMgYW5kIGN1cnNvciBkZWZpbml0aW9uLgogICov Ci1zdGF0aWMgc3RydWN0IGZiX29wcyBteDNmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0 IGZiX29wcyBteDNmYl9vcHMgPSB7CiAJLm93bmVyID0gVEhJU19NT0RVTEUsCiAJLmZiX3NldF9w YXIgPSBteDNmYl9zZXRfcGFyLAogCS5mYl9jaGVja192YXIgPSBteDNmYl9jaGVja192YXIsCkBA IC0xMzg5LDcgKzEzODksOCBAQCBzdGF0aWMgaW50IG14M2ZiX3VubWFwX3ZpZGVvX21lbW9yeShz dHJ1Y3QgZmJfaW5mbyAqZmJpKQogICogbXgzZmJfaW5pdF9mYmluZm8oKSAtIGluaXRpYWxpemUg ZnJhbWVidWZmZXIgaW5mb3JtYXRpb24gb2JqZWN0LgogICogQHJldHVybjoJaW5pdGlhbGl6ZWQg ZnJhbWVidWZmZXIgc3RydWN0dXJlLgogICovCi1zdGF0aWMgc3RydWN0IGZiX2luZm8gKm14M2Zi X2luaXRfZmJpbmZvKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGZiX29wcyAqb3BzKQorc3Rh dGljIHN0cnVjdCBmYl9pbmZvICpteDNmYl9pbml0X2ZiaW5mbyhzdHJ1Y3QgZGV2aWNlICpkZXYs CisJCQkJCSBjb25zdCBzdHJ1Y3QgZmJfb3BzICpvcHMpCiB7CiAJc3RydWN0IGZiX2luZm8gKmZi aTsKIAlzdHJ1Y3QgbXgzZmJfaW5mbyAqbXgzZmJpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRl by9mYmRldi9uZW9mYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9uZW9mYi5jCmluZGV4IGI3NzA5 NDZhMDkyMC4uZTZlYTg1M2MxNzIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L25l b2ZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9uZW9mYi5jCkBAIC0xNjEwLDcgKzE2MTAs NyBAQCBuZW9mYl9jdXJzb3Ioc3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCBmYl9jdXJzb3Ig KmN1cnNvcikKIH0KICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIG5lb2ZiX29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIG5lb2ZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19N T0RVTEUsCiAJLmZiX29wZW4JPSBuZW9mYl9vcGVuLAogCS5mYl9yZWxlYXNlCT0gbmVvZmJfcmVs ZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbnZpZGlhL252aWRpYS5jIGIv ZHJpdmVycy92aWRlby9mYmRldi9udmlkaWEvbnZpZGlhLmMKaW5kZXggZmJlZWVkNWFmZTM1Li44 YTI1MjdiMGZkMjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvbnZpZGlhL252aWRp YS5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvbnZpZGlhL252aWRpYS5jCkBAIC0xMDI0LDcg KzEwMjQsNyBAQCBzdGF0aWMgaW50IG52aWRpYWZiX3JlbGVhc2Uoc3RydWN0IGZiX2luZm8gKmlu Zm8sIGludCB1c2VyKQogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIG52 aWRpYV9mYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBudmlkaWFfZmJfb3Bz ID0gewogCS5vd25lciAgICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuICAgICAgICA9 IG52aWRpYWZiX29wZW4sCiAJLmZiX3JlbGVhc2UgICAgID0gbnZpZGlhZmJfcmVsZWFzZSwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvb2NmYi5jIGIvZHJpdmVycy92aWRlby9mYmRl di9vY2ZiLmMKaW5kZXggYTk3MGVkYzJhNmY4Li5jOGNlZTJkODkwZGMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvb2NmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvb2NmYi5j CkBAIC0yODUsNyArMjg1LDcgQEAgc3RhdGljIGludCBvY2ZiX2luaXRfdmFyKHN0cnVjdCBvY2Zi X2RldiAqZmJkZXYpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIG9jZmJf b3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgb2NmYl9vcHMgPSB7CiAJLm93bmVy CQk9IFRISVNfTU9EVUxFLAogCS5mYl9zZXRjb2xyZWcJPSBvY2ZiX3NldGNvbHJlZywKIAkuZmJf ZmlsbHJlY3QJPSBjZmJfZmlsbHJlY3QsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L29mZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvb2ZmYi5jCmluZGV4IGZiYzZlYWZiNjNjNy4u NWNkMGY1ZjZhNGFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L29mZmIuYworKysg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L29mZmIuYwpAQCAtMjg2LDcgKzI4Niw3IEBAIHN0YXRpYyB2 b2lkIG9mZmJfZGVzdHJveShzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlmcmFtZWJ1ZmZlcl9yZWxl YXNlKGluZm8pOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBvZmZiX29wcyA9IHsKK3N0YXRp YyBjb25zdCBzdHJ1Y3QgZmJfb3BzIG9mZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVM RSwKIAkuZmJfZGVzdHJveQk9IG9mZmJfZGVzdHJveSwKIAkuZmJfc2V0Y29scmVnCT0gb2ZmYl9z ZXRjb2xyZWcsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L29tYXAyL29tYXBmYi9v bWFwZmItbWFpbi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvb21hcGZiLW1h aW4uYwppbmRleCA4NThjMmMwMTFkMTkuLjhkZmE5MTU4YmE3OCAxMDA2NDQKLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvb21hcGZiLW1haW4uYworKysgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L29tYXAyL29tYXBmYi9vbWFwZmItbWFpbi5jCkBAIC0xMjgwLDcgKzEyODAsNyBA QCBzc2l6ZV90IG9tYXBmYl93cml0ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3QgY2hhciBf X3VzZXIgKmJ1ZiwKIH0KICNlbmRpZgogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBvbWFwZmJfb3Bz ID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgb21hcGZiX29wcyA9IHsKIAkub3duZXIg ICAgICAgICAgPSBUSElTX01PRFVMRSwKIAkuZmJfb3BlbiAgICAgICAgPSBvbWFwZmJfb3BlbiwK IAkuZmJfcmVsZWFzZSAgICAgPSBvbWFwZmJfcmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvcDkxMDAuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcDkxMDAuYwppbmRleCA4 YzE4Y2M1MWFhZTIuLjZkYTY3MmU5MjY0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRl di9wOTEwMC5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcDkxMDAuYwpAQCAtMzcsNyArMzcs NyBAQCBzdGF0aWMgaW50IHA5MTAwX2lvY3RsKHN0cnVjdCBmYl9pbmZvICosIHVuc2lnbmVkIGlu dCwgdW5zaWduZWQgbG9uZyk7CiAgKiAgRnJhbWUgYnVmZmVyIG9wZXJhdGlvbnMKICAqLwogCi1z dGF0aWMgc3RydWN0IGZiX29wcyBwOTEwMF9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZi X29wcyBwOTEwMF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29s cmVnCQk9IHA5MTAwX3NldGNvbHJlZywKIAkuZmJfYmxhbmsJCT0gcDkxMDBfYmxhbmssCmRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BsYXRpbnVtZmIuYyBiL2RyaXZlcnMvdmlkZW8v ZmJkZXYvcGxhdGludW1mYi5jCmluZGV4IDYzMmIyNDZjYTM1Zi4uY2U0MTNhOWRmMDZlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BsYXRpbnVtZmIuYworKysgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3BsYXRpbnVtZmIuYwpAQCAtOTYsNyArOTYsNyBAQCBzdGF0aWMgaW50IHBsYXRp bnVtX3Zhcl90b19wYXIoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCiAgKiBJbnRlcmZh Y2UgdXNlZCBieSB0aGUgd29ybGQKICAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBwbGF0aW51 bWZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHBsYXRpbnVtZmJfb3BzID0g ewogCS5vd25lciA9CVRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBwbGF0aW51bWZiX2No ZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IHBsYXRpbnVtZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBh L2RyaXZlcnMvdmlkZW8vZmJkZXYvcG0yZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcG0yZmIu YwppbmRleCAxZGNmMDJlMTJhZjQuLjhmOTMzYmFkNDYxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy92 aWRlby9mYmRldi9wbTJmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcG0yZmIuYwpAQCAt MTQ4Myw3ICsxNDgzLDcgQEAgc3RhdGljIGludCBwbTJmYl9jdXJzb3Ioc3RydWN0IGZiX2luZm8g KmluZm8sIHN0cnVjdCBmYl9jdXJzb3IgKmN1cnNvcikKICAqICBGcmFtZSBidWZmZXIgb3BlcmF0 aW9ucwogICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHBtMmZiX29wcyA9IHsKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZmJfb3BzIHBtMmZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUs CiAJLmZiX2NoZWNrX3Zhcgk9IHBtMmZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IHBtMmZi X3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtM2ZiLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3BtM2ZiLmMKaW5kZXggNjEzMGFhNTZhMWU5Li4xNWEyYjQ5NTIzNWIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcG0zZmIuYworKysgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3BtM2ZiLmMKQEAgLTEyMDAsNyArMTIwMCw3IEBAIHN0YXRpYyBpbnQgcG0zZmJf YmxhbmsoaW50IGJsYW5rX21vZGUsIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCSAqICBGcmFtZSBi dWZmZXIgb3BlcmF0aW9ucwogCSAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBwbTNmYl9vcHMg PSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBwbTNmYl9vcHMgPSB7CiAJLm93bmVyCQk9 IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBwbTNmYl9jaGVja192YXIsCiAJLmZiX3Nl dF9wYXIJPSBwbTNmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9w bWFnLWFhLWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtYWctYWEtZmIuYwppbmRleCBkMWU3 OGNlM2E5YzIuLjdiMzNiNTJiMjUyNiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9w bWFnLWFhLWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9wbWFnLWFhLWZiLmMKQEAgLTE0 Nyw3ICsxNDcsNyBAQCBzdGF0aWMgaW50IGFhZmJfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3QgZmJf aW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgYWFmYl9v cHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBhYWZiX29wcyA9IHsKIAkub3duZXIJ CT0gVEhJU19NT0RVTEUsCiAJLmZiX2JsYW5rCT0gYWFmYl9ibGFuaywKIAkuZmJfZmlsbHJlY3QJ PSBjZmJfZmlsbHJlY3QsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtYWctYmEt ZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcG1hZy1iYS1mYi5jCmluZGV4IDU2YjkxMmJiMjhk ZS4uYTYwZTU2ZDg5ODBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtYWctYmEt ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BtYWctYmEtZmIuYwpAQCAtMTE3LDcgKzEx Nyw3IEBAIHN0YXRpYyBpbnQgcG1hZ2JhZmJfc2V0Y29scmVnKHVuc2lnbmVkIGludCByZWdubywg dW5zaWduZWQgaW50IHJlZCwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMg cG1hZ2JhZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgcG1hZ2JhZmJfb3Bz ID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCT0gcG1hZ2JhZmJf c2V0Y29scmVnLAogCS5mYl9maWxscmVjdAk9IGNmYl9maWxscmVjdCwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvcG1hZ2ItYi1mYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9wbWFn Yi1iLWZiLmMKaW5kZXggMjgyMmIyMjI1OTI0Li5mMDIwODBmMjEwNzcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvcG1hZ2ItYi1mYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv cG1hZ2ItYi1mYi5jCkBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIGludCBwbWFnYmJmYl9zZXRj b2xyZWcodW5zaWduZWQgaW50IHJlZ25vLCB1bnNpZ25lZCBpbnQgcmVkLAogCXJldHVybiAwOwog fQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBwbWFnYmJmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qg c3RydWN0IGZiX29wcyBwbWFnYmJmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAog CS5mYl9zZXRjb2xyZWcJPSBwbWFnYmJmYl9zZXRjb2xyZWcsCiAJLmZiX2ZpbGxyZWN0CT0gY2Zi X2ZpbGxyZWN0LApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9wczNmYi5jIGIvZHJp dmVycy92aWRlby9mYmRldi9wczNmYi5jCmluZGV4IDVlZDJkYjM5ZDgyMy4uODM0ZjYzZWRmNzAw IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3BzM2ZiLmMKKysrIGIvZHJpdmVycy92 aWRlby9mYmRldi9wczNmYi5jCkBAIC05MzQsNyArOTM0LDcgQEAgc3RhdGljIGlycXJldHVybl90 IHBzM2ZiX3ZzeW5jX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpwdHIpCiB9CiAKIAotc3RhdGlj IHN0cnVjdCBmYl9vcHMgcHMzZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMg cHMzZmJfb3BzID0gewogCS5mYl9vcGVuCT0gcHMzZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQk9IHBz M2ZiX3JlbGVhc2UsCiAJLmZiX3JlYWQgICAgICAgID0gZmJfc3lzX3JlYWQsCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3B2cjJmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9wdnIy ZmIuYwppbmRleCAwYTNiMmI3Yzc4OTEuLmZjYjE2ZWFiYmIwZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi9wdnIyZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3B2cjJmYi5j CkBAIC03MDcsNyArNzA3LDcgQEAgc3RhdGljIHNzaXplX3QgcHZyMmZiX3dyaXRlKHN0cnVjdCBm Yl9pbmZvICppbmZvLCBjb25zdCBjaGFyICpidWYsCiB9CiAjZW5kaWYgLyogQ09ORklHX1BWUjJf RE1BICovCiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHB2cjJmYl9vcHMgPSB7CitzdGF0aWMgY29u c3Qgc3RydWN0IGZiX29wcyBwdnIyZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwK IAkuZmJfc2V0Y29scmVnCT0gcHZyMmZiX3NldGNvbHJlZywKIAkuZmJfYmxhbmsJPSBwdnIyZmJf YmxhbmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3B4YTE2OGZiLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3B4YTE2OGZiLmMKaW5kZXggMTQxMGY0NzZlMTM1Li5jNjcyYzMzNTRh MmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcHhhMTY4ZmIuYworKysgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3B4YTE2OGZiLmMKQEAgLTU0NSw3ICs1NDUsNyBAQCBzdGF0aWMgaXJx cmV0dXJuX3QgcHhhMTY4ZmJfaGFuZGxlX2lycShpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiAJcmV0 dXJuIElSUV9OT05FOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBweGExNjhmYl9vcHMgPSB7 CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBweGExNjhmYl9vcHMgPSB7CiAJLm93bmVyCQk9 IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBweGExNjhmYl9jaGVja192YXIsCiAJLmZi X3NldF9wYXIJPSBweGExNjhmYl9zZXRfcGFyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9m YmRldi9weGFmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9weGFmYi5jCmluZGV4IGY3MGM5Zjc5 NjIyZS4uNmY3ZTlmYjYzMTkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3B4YWZi LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9weGFmYi5jCkBAIC01OTcsNyArNTk3LDcgQEAg c3RhdGljIGludCBweGFmYl9ibGFuayhpbnQgYmxhbmssIHN0cnVjdCBmYl9pbmZvICppbmZvKQog CXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBweGFmYl9vcHMgPSB7CitzdGF0 aWMgY29uc3Qgc3RydWN0IGZiX29wcyBweGFmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9E VUxFLAogCS5mYl9jaGVja192YXIJPSBweGFmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBw eGFmYl9zZXRfcGFyLApAQCAtODY1LDcgKzg2NSw3IEBAIHN0YXRpYyBpbnQgb3ZlcmxheWZiX3Nl dF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1 Y3QgZmJfb3BzIG92ZXJsYXlfZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMg b3ZlcmxheV9mYl9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfb3BlbgkJ PSBvdmVybGF5ZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQkJPSBvdmVybGF5ZmJfcmVsZWFzZSwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcTQwZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvcTQwZmIuYwppbmRleCAwYjkzYWE5NjRkNDMuLjc5ZmYxNGEzNWM4NSAxMDA2NDQKLS0tIGEv ZHJpdmVycy92aWRlby9mYmRldi9xNDBmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcTQw ZmIuYwpAQCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgaW50IHE0MGZiX3NldGNvbHJlZyh1bnNpZ25l ZCByZWdubywgdW5zaWduZWQgcmVkLCB1bnNpZ25lZCBncmVlbiwKICAgICByZXR1cm4gMDsKIH0K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgcTQwZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgcTQwZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0 Y29scmVnCT0gcTQwZmJfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAk9IGNmYl9maWxscmVjdCwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcml2YS9mYmRldi5jIGIvZHJpdmVycy92 aWRlby9mYmRldi9yaXZhL2ZiZGV2LmMKaW5kZXggY2E1OTNhM2U0MWQ3Li43NjRlYzMyODVlNjIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcml2YS9mYmRldi5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvcml2YS9mYmRldi5jCkBAIC0xNjczLDcgKzE2NzMsNyBAQCBzdGF0aWMg aW50IHJpdmFmYl9zeW5jKHN0cnVjdCBmYl9pbmZvICppbmZvKQogICogLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSAqLwogCiAvKiBrZXJuZWwgaW50ZXJmYWNlICovCi1zdGF0aWMgc3RydWN0IGZiX29wcyByaXZh X2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHJpdmFfZmJfb3BzID0gewog CS5vd25lciAJCT0gVEhJU19NT0RVTEUsCiAJLmZiX29wZW4JPSByaXZhZmJfb3BlbiwKIAkuZmJf cmVsZWFzZQk9IHJpdmFmYl9yZWxlYXNlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRl di9zM2MtZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvczNjLWZiLmMKaW5kZXggYmEwNGQ3YTY3 ODI5Li5mNDg3MWM0MzBmOGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvczNjLWZi LmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9zM2MtZmIuYwpAQCAtMTAzNSw3ICsxMDM1LDcg QEAgc3RhdGljIGludCBzM2NfZmJfaW9jdGwoc3RydWN0IGZiX2luZm8gKmluZm8sIHVuc2lnbmVk IGludCBjbWQsCiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgczNjX2Zi X29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHMzY19mYl9vcHMgPSB7CiAJLm93 bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIJPSBzM2NfZmJfY2hlY2tfdmFyLAog CS5mYl9zZXRfcGFyCT0gczNjX2ZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3MzYzI0MTBmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9zM2MyNDEwZmIuYwppbmRl eCBhNzAyZGE4OTkxMGIuLjJmYjE1YTU0MDE2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9m YmRldi9zM2MyNDEwZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3MzYzI0MTBmYi5jCkBA IC02MTgsNyArNjE4LDcgQEAgc3RhdGljIGludCBzM2MyNDEwZmJfZGVidWdfc3RvcmUoc3RydWN0 IGRldmljZSAqZGV2LAogCiBzdGF0aWMgREVWSUNFX0FUVFIoZGVidWcsIDA2NjQsIHMzYzI0MTBm Yl9kZWJ1Z19zaG93LCBzM2MyNDEwZmJfZGVidWdfc3RvcmUpOwogCi1zdGF0aWMgc3RydWN0IGZi X29wcyBzM2MyNDEwZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgczNjMjQx MGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2NoZWNrX3Zhcgk9IHMz YzI0MTBmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSBzM2MyNDEwZmJfc2V0X3BhciwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvczNmYi5jIGIvZHJpdmVycy92aWRlby9mYmRl di9zM2ZiLmMKaW5kZXggYmUxNmMzNDljMTBmLi42MGM0MjRmYWU5ODggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvczNmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvczNmYi5j CkBAIC0xMDM3LDcgKzEwMzcsNyBAQCBzdGF0aWMgaW50IHMzZmJfcGFuX2Rpc3BsYXkoc3RydWN0 IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCiAvKiBGcmFt ZSBidWZmZXIgb3BlcmF0aW9ucyAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBzM2ZiX29wcyA9 IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHMzZmJfb3BzID0gewogCS5vd25lcgkJPSBU SElTX01PRFVMRSwKIAkuZmJfb3Blbgk9IHMzZmJfb3BlbiwKIAkuZmJfcmVsZWFzZQk9IHMzZmJf cmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2ExMTAwZmIuYyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvc2ExMTAwZmIuYwppbmRleCA4MWFkM2FhMWNhMDYuLjQ2ODBjYzNl ZmI4MSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9zYTExMDBmYi5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvc2ExMTAwZmIuYwpAQCAtNTc0LDcgKzU3NCw3IEBAIHN0YXRpYyBp bnQgc2ExMTAwZmJfbW1hcChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywKIAlyZXR1cm4gdm1faW9tYXBf bWVtb3J5KHZtYSwgaW5mby0+Zml4Lm1taW9fc3RhcnQsIGluZm8tPmZpeC5tbWlvX2xlbik7CiB9 CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHNhMTEwMGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZmJfb3BzIHNhMTEwMGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJ LmZiX2NoZWNrX3Zhcgk9IHNhMTEwMGZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3Bhcgk9IHNhMTEw MGZiX3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NhdmFnZS9zYXZh Z2VmYl9kcml2ZXIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2F2YWdlL3NhdmFnZWZiX2RyaXZl ci5jCmluZGV4IDUxMjc4OWY1Zjg4NC4uYWFiMzEyYTdkOWRhIDEwMDY0NAotLS0gYS9kcml2ZXJz L3ZpZGVvL2ZiZGV2L3NhdmFnZS9zYXZhZ2VmYl9kcml2ZXIuYworKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3NhdmFnZS9zYXZhZ2VmYl9kcml2ZXIuYwpAQCAtMTYzNyw3ICsxNjM3LDcgQEAgc3Rh dGljIGludCBzYXZhZ2VmYl9yZWxlYXNlKHN0cnVjdCBmYl9pbmZvICppbmZvLCBpbnQgdXNlcikK IAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgc2F2YWdlZmJfb3BzID0gewor c3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgc2F2YWdlZmJfb3BzID0gewogCS5vd25lciAgICAg ICAgICA9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuICAgICAgICA9IHNhdmFnZWZiX29wZW4sCiAJ LmZiX3JlbGVhc2UgICAgID0gc2F2YWdlZmJfcmVsZWFzZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv dmlkZW8vZmJkZXYvc2g3NzYwZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2g3NzYwZmIuYwpp bmRleCBhYjhmZTgzOGM3NzYuLmI4ZWM4ZDliYjRjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRl by9mYmRldi9zaDc3NjBmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2g3NzYwZmIuYwpA QCAtMzQxLDcgKzM0MSw3IEBAIHN0YXRpYyBpbnQgc2g3NzYwZmJfc2V0X3BhcihzdHJ1Y3QgZmJf aW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgc2g3NzYw ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgc2g3NzYwZmJfb3BzID0gewog CS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5mYl9ibGFuayA9IHNoNzc2MGZiX2JsYW5rLAogCS5m Yl9jaGVja192YXIgPSBzaDc3NjBmYl9jaGVja192YXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3NoX21vYmlsZV9sY2RjZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2hfbW9i aWxlX2xjZGNmYi5jCmluZGV4IGMyNDk3NjNkYmYwYi4uMjVmMTE5ZWZlYmMwIDEwMDY0NAotLS0g YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NoX21vYmlsZV9sY2RjZmIuYworKysgYi9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3NoX21vYmlsZV9sY2RjZmIuYwpAQCAtMTQ5MCw3ICsxNDkwLDcgQEAgc2hfbW9i aWxlX2xjZGNfb3ZlcmxheV9tbWFwKHN0cnVjdCBmYl9pbmZvICppbmZvLCBzdHJ1Y3Qgdm1fYXJl YV9zdHJ1Y3QgKnZtYSkKIAkJCQkgb3ZsLT5kbWFfaGFuZGxlLCBvdmwtPmZiX3NpemUpOwogfQog Ci1zdGF0aWMgc3RydWN0IGZiX29wcyBzaF9tb2JpbGVfbGNkY19vdmVybGF5X29wcyA9IHsKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHNoX21vYmlsZV9sY2RjX292ZXJsYXlfb3BzID0gewog CS5vd25lciAgICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFkICAgICAgICA9IGZiX3N5 c19yZWFkLAogCS5mYl93cml0ZSAgICAgICA9IGZiX3N5c193cml0ZSwKQEAgLTE5NjQsNyArMTk2 NCw3IEBAIHNoX21vYmlsZV9sY2RjX21tYXAoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCB2 bV9hcmVhX3N0cnVjdCAqdm1hKQogCQkJCSBjaC0+ZG1hX2hhbmRsZSwgY2gtPmZiX3NpemUpOwog fQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBzaF9tb2JpbGVfbGNkY19vcHMgPSB7CitzdGF0aWMg Y29uc3Qgc3RydWN0IGZiX29wcyBzaF9tb2JpbGVfbGNkY19vcHMgPSB7CiAJLm93bmVyICAgICAg ICAgID0gVEhJU19NT0RVTEUsCiAJLmZiX3NldGNvbHJlZwk9IHNoX21vYmlsZV9sY2RjX3NldGNv bHJlZywKIAkuZmJfcmVhZCAgICAgICAgPSBmYl9zeXNfcmVhZCwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvc2ltcGxlZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2ltcGxlZmIu YwppbmRleCA3ZGMwMTA1ZjcwMGQuLjUzM2EwNDdkMDdhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92 aWRlby9mYmRldi9zaW1wbGVmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2ltcGxlZmIu YwpAQCAtNzgsNyArNzgsNyBAQCBzdGF0aWMgdm9pZCBzaW1wbGVmYl9kZXN0cm95KHN0cnVjdCBm Yl9pbmZvICppbmZvKQogCQlpb3VubWFwKGluZm8tPnNjcmVlbl9iYXNlKTsKIH0KIAotc3RhdGlj IHN0cnVjdCBmYl9vcHMgc2ltcGxlZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9v cHMgc2ltcGxlZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfZGVzdHJv eQk9IHNpbXBsZWZiX2Rlc3Ryb3ksCiAJLmZiX3NldGNvbHJlZwk9IHNpbXBsZWZiX3NldGNvbHJl ZywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2lzL3Npc19tYWluLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3Npcy9zaXNfbWFpbi5jCmluZGV4IGI0NDNhOGVkNDYwMC4uYWMxNDA5 NjJiMWJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Npcy9zaXNfbWFpbi5jCisr KyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2lzL3Npc19tYWluLmMKQEAgLTE5MDYsNyArMTkwNiw3 IEBAIHNpc2ZiX2dldF9maXgoc3RydWN0IGZiX2ZpeF9zY3JlZW5pbmZvICpmaXgsIGludCBjb24s IHN0cnVjdCBmYl9pbmZvICppbmZvKQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tICBmYl9vcHMgc3Ry dWN0dXJlcyAtLS0tLS0tLS0tLS0tLS0tLSAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBzaXNm Yl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBzaXNmYl9vcHMgPSB7CiAJLm93 bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0gc2lzZmJfb3BlbiwKIAkuZmJfcmVsZWFz ZQk9IHNpc2ZiX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NrZWxl dG9uZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2tlbGV0b25mYi5jCmluZGV4IDgxMmEzNmNi NjBjMy4uYmNhY2ZiNjkzNGZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NrZWxl dG9uZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NrZWxldG9uZmIuYwpAQCAtNjM0LDcg KzYzNCw3IEBAIGludCB4eHhmYl9zeW5jKHN0cnVjdCBmYl9pbmZvICppbmZvKQogICAgICAqICBG cmFtZSBidWZmZXIgb3BlcmF0aW9ucwogICAgICAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyB4 eHhmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB4eHhmYl9vcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0geHh4ZmJfb3BlbiwKIAkuZmJfcmVh ZAk9IHh4eGZiX3JlYWQsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NtNzEyZmIu YyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc203MTJmYi5jCmluZGV4IDIwN2QwYWRkNjg0Yi4uNmEx YjRhODUzZDllIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NtNzEyZmIuYworKysg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NtNzEyZmIuYwpAQCAtMTM2OSw3ICsxMzY5LDcgQEAgc3Rh dGljIGludCBzbXRjX3NldF9wYXIoc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9 CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHNtdGNmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3Ry dWN0IGZiX29wcyBzbXRjZmJfb3BzID0gewogCS5vd25lciAgICAgICAgPSBUSElTX01PRFVMRSwK IAkuZmJfY2hlY2tfdmFyID0gc210Y19jaGVja192YXIsCiAJLmZiX3NldF9wYXIgICA9IHNtdGNf c2V0X3BhciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc21zY3VmeC5jIGIvZHJp dmVycy92aWRlby9mYmRldi9zbXNjdWZ4LmMKaW5kZXggZTM2MmQ3ZGE4N2ZjLi5iZmFjM2VlNGE2 NDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc21zY3VmeC5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvc21zY3VmeC5jCkBAIC0xMjY4LDcgKzEyNjgsNyBAQCBzdGF0aWMgaW50 IHVmeF9vcHNfYmxhbmsoaW50IGJsYW5rX21vZGUsIHN0cnVjdCBmYl9pbmZvICppbmZvKQogCXJl dHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyB1Znhfb3BzID0geworc3RhdGljIGNv bnN0IHN0cnVjdCBmYl9vcHMgdWZ4X29wcyA9IHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAku ZmJfcmVhZCA9IGZiX3N5c19yZWFkLAogCS5mYl93cml0ZSA9IHVmeF9vcHNfd3JpdGUsCmRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NzZDEzMDdmYi5jIGIvZHJpdmVycy92aWRlby9m YmRldi9zc2QxMzA3ZmIuYwppbmRleCA3OGNhN2ZmYzQwYzIuLjE0MjUzNTI2N2ZlYyAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9zc2QxMzA3ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3NzZDEzMDdmYi5jCkBAIC0yODAsNyArMjgwLDcgQEAgc3RhdGljIHZvaWQgc3NkMTMw N2ZiX2ltYWdlYmxpdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IGZiX2ltYWdl ICppbWEKIAlzc2QxMzA3ZmJfdXBkYXRlX2Rpc3BsYXkocGFyKTsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgc3NkMTMwN2ZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHNz ZDEzMDdmYl9vcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9yZWFkCT0gZmJf c3lzX3JlYWQsCiAJLmZiX3dyaXRlCT0gc3NkMTMwN2ZiX3dyaXRlLApkaWZmIC0tZ2l0IGEvZHJp dmVycy92aWRlby9mYmRldi9zc3RmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9zc3RmYi5jCmlu ZGV4IDRlMjJhZTM4M2M4Ny4uODJlNzA3YTQ4ZTRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3NzdGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9zc3RmYi5jCkBAIC0xMzA3 LDcgKzEzMDcsNyBAQCBzdGF0aWMgaW50IHNzdGZiX3NldHVwKGNoYXIgKm9wdGlvbnMpCiB9CiAK IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgc3N0ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgc3N0ZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfY2hl Y2tfdmFyCT0gc3N0ZmJfY2hlY2tfdmFyLAogCS5mYl9zZXRfcGFyCT0gc3N0ZmJfc2V0X3BhciwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc3RpZmIuYyBiL2RyaXZlcnMvdmlkZW8v ZmJkZXYvc3RpZmIuYwppbmRleCA5ZTg4ZTNmNTk0YzIuLjU0MDBhYjc5ZmJiZCAxMDA2NDQKLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9zdGlmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv c3RpZmIuYwpAQCAtMTEwMSw3ICsxMTAxLDcgQEAgc3RpZmJfaW5pdF9kaXNwbGF5KHN0cnVjdCBz dGlmYl9pbmZvICpmYikKIAogLyogLS0tLS0tLS0tLS0tIEludGVyZmFjZXMgdG8gaGFyZHdhcmUg ZnVuY3Rpb25zIC0tLS0tLS0tLS0tLSAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyBzdGlmYl9v cHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBzdGlmYl9vcHMgPSB7CiAJLm93bmVy CQk9IFRISVNfTU9EVUxFLAogCS5mYl9zZXRjb2xyZWcJPSBzdGlmYl9zZXRjb2xyZWcsCiAJLmZi X2JsYW5rCT0gc3RpZmJfYmxhbmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1 bnh2cjEwMDAuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc3VueHZyMTAwMC5jCmluZGV4IDc4NGM5 YmQ1ZDUwMi4uMTViMDc5NTA1YTAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1 bnh2cjEwMDAuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjEwMDAuYwpAQCAtNTks NyArNTksNyBAQCBzdGF0aWMgaW50IGdmYl9zZXRjb2xyZWcodW5zaWduZWQgcmVnbm8sCiAJcmV0 dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGdmYl9vcHMgPSB7CitzdGF0aWMgY29u c3Qgc3RydWN0IGZiX29wcyBnZmJfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJ LmZiX3NldGNvbHJlZwkJPSBnZmJfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAkJPSBjZmJfZmls bHJlY3QsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjI1MDAuYyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvc3VueHZyMjUwMC5jCmluZGV4IDMxNjgzZTVhOGI3OS4uMWQzYmFj ZDlkNWFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjI1MDAuYworKysg Yi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjI1MDAuYwpAQCAtNjMsNyArNjMsNyBAQCBzdGF0 aWMgaW50IHMzZF9zZXRjb2xyZWcodW5zaWduZWQgcmVnbm8sCiAJcmV0dXJuIDA7CiB9CiAKLXN0 YXRpYyBzdHJ1Y3QgZmJfb3BzIHMzZF9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29w cyBzM2Rfb3BzID0gewogCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3NldGNvbHJlZwkJ PSBzM2Rfc2V0Y29scmVnLAogCS5mYl9maWxscmVjdAkJPSBjZmJfZmlsbHJlY3QsCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3N1bnh2cjUwMC5jIGIvZHJpdmVycy92aWRlby9mYmRl di9zdW54dnI1MDAuYwppbmRleCBkMzkyOTc2MTI2YTYuLjlkYWYxN2IxMTEwNiAxMDA2NDQKLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9zdW54dnI1MDAuYworKysgYi9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L3N1bnh2cjUwMC5jCkBAIC0xODYsNyArMTg2LDcgQEAgc3RhdGljIHZvaWQgZTNkX2NvcHlh cmVhKHN0cnVjdCBmYl9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgZmJfY29weWFyZWEgKmFyZWEp CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZXAtPmxvY2ssIGZsYWdzKTsKIH0KIAotc3RhdGlj IHN0cnVjdCBmYl9vcHMgZTNkX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIGUz ZF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29scmVnCQk9IGUz ZF9zZXRjb2xyZWcsCiAJLmZiX2ZpbGxyZWN0CQk9IGUzZF9maWxscmVjdCwKZGlmZiAtLWdpdCBh L2RyaXZlcnMvdmlkZW8vZmJkZXYvdGN4LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3RjeC5jCmlu ZGV4IDc4OTdmODZmYjIzZS4uMzRiMmU1YjZlODRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3RjeC5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvdGN4LmMKQEAgLTQwLDcgKzQw LDcgQEAgc3RhdGljIGludCB0Y3hfcGFuX2Rpc3BsYXkoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZv ICosIHN0cnVjdCBmYl9pbmZvICopOwogICogIEZyYW1lIGJ1ZmZlciBvcGVyYXRpb25zCiAgKi8K IAotc3RhdGljIHN0cnVjdCBmYl9vcHMgdGN4X29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg ZmJfb3BzIHRjeF9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0Y29s cmVnCQk9IHRjeF9zZXRjb2xyZWcsCiAJLmZiX2JsYW5rCQk9IHRjeF9ibGFuaywKZGlmZiAtLWdp dCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvdGRmeGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Rk ZnhmYi5jCmluZGV4IGZkYmIxZWE2NmU2Yy4uMDM0OWNmNjk2NTJmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3RkZnhmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvdGRmeGZi LmMKQEAgLTExNDEsNyArMTE0MSw3IEBAIHN0YXRpYyBpbnQgdGRmeGZiX2N1cnNvcihzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbywgc3RydWN0IGZiX2N1cnNvciAqY3Vyc29yKQogCXJldHVybiAwOwogfQog Ci1zdGF0aWMgc3RydWN0IGZiX29wcyB0ZGZ4ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgdGRmeGZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX2No ZWNrX3Zhcgk9IHRkZnhmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIJPSB0ZGZ4ZmJfc2V0X3Bh ciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvdGdhZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvdGdhZmIuYwppbmRleCAyODZiMjM3MWM3ZGQuLjdjZDI2Mjg1ODI0MSAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi90Z2FmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvdGdhZmIuYwpAQCAtNzAsNyArNzAsNyBAQCBzdGF0aWMgc3RydWN0IHRjX2RyaXZlciB0Z2Fm Yl90Y19kcml2ZXI7CiAgKiAgRnJhbWUgYnVmZmVyIG9wZXJhdGlvbnMKICAqLwogCi1zdGF0aWMg c3RydWN0IGZiX29wcyB0Z2FmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB0 Z2FmYl9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyCQk9 IHRnYWZiX2NoZWNrX3ZhciwKIAkuZmJfc2V0X3BhcgkJPSB0Z2FmYl9zZXRfcGFyLApkaWZmIC0t Z2l0IGEvZHJpdmVycy92aWRlby9mYmRldi90bWlvZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv dG1pb2ZiLmMKaW5kZXggNGYyZmNlYTEwZDJiLi41MDExMTk2NmM5ODEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvdG1pb2ZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi90bWlv ZmIuYwpAQCAtNjQ2LDcgKzY0Niw3IEBAIHN0YXRpYyBpbnQgdG1pb2ZiX2JsYW5rKGludCBibGFu aywgc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3Qg ZmJfb3BzIHRtaW9mYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB0bWlvZmJf b3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAogCS5mYl9pb2N0bAk9IHRtaW9mYl9p b2N0bCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvdHJpZGVudGZiLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3RyaWRlbnRmYi5jCmluZGV4IGRhNzRiZjZjNTk5Ni4uNzE1NTA5OTE3 ZWFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3RyaWRlbnRmYi5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvdHJpZGVudGZiLmMKQEAgLTE0NDMsNyArMTQ0Myw3IEBAIHN0YXRp YyBpbnQgdHJpZGVudGZiX2JsYW5rKGludCBibGFua19tb2RlLCBzdHJ1Y3QgZmJfaW5mbyAqaW5m bykKIAlyZXR1cm4gKGJsYW5rX21vZGUgPT0gRkJfQkxBTktfTk9STUFMKSA/IDEgOiAwOwogfQog Ci1zdGF0aWMgc3RydWN0IGZiX29wcyB0cmlkZW50ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0 cnVjdCBmYl9vcHMgdHJpZGVudGZiX29wcyA9IHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAku ZmJfc2V0Y29scmVnID0gdHJpZGVudGZiX3NldGNvbHJlZywKIAkuZmJfcGFuX2Rpc3BsYXkgPSB0 cmlkZW50ZmJfcGFuX2Rpc3BsYXksCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2 ZXNhZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvdXZlc2FmYi5jCmluZGV4IDQzOTU2NWNhZTdh Yi4uZmIzMGU2YzI4YWZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2ZXNhZmIu YworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3V2ZXNhZmIuYwpAQCAtMTQxMCw3ICsxNDEwLDcg QEAgc3RhdGljIGludCB1dmVzYWZiX2NoZWNrX3ZhcihzdHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8g KnZhciwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgdXZlc2FmYl9vcHMg PSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB1dmVzYWZiX29wcyA9IHsKIAkub3duZXIJ CT0gVEhJU19NT0RVTEUsCiAJLmZiX29wZW4JPSB1dmVzYWZiX29wZW4sCiAJLmZiX3JlbGVhc2UJ PSB1dmVzYWZiX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZhbGt5 cmllZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvdmFsa3lyaWVmYi5jCmluZGV4IGUwNGZkZTlj MWZjZC4uY2E4ZDczNDNhYWExIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZhbGt5 cmllZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZhbGt5cmllZmIuYwpAQCAtMTEzLDcg KzExMyw3IEBAIHN0YXRpYyBpbnQgdmFsa3lyaWVfaW5pdF9pbmZvKHN0cnVjdCBmYl9pbmZvICpp bmZvLCBzdHJ1Y3QgZmJfaW5mb192YWxreXJpZSAqcCk7CiBzdGF0aWMgdm9pZCB2YWxreXJpZV9w YXJfdG9fZml4KHN0cnVjdCBmYl9wYXJfdmFsa3lyaWUgKnBhciwgc3RydWN0IGZiX2ZpeF9zY3Jl ZW5pbmZvICpmaXgpOwogc3RhdGljIHZvaWQgdmFsa3lyaWVfaW5pdF9maXgoc3RydWN0IGZiX2Zp eF9zY3JlZW5pbmZvICpmaXgsIHN0cnVjdCBmYl9pbmZvX3ZhbGt5cmllICpwKTsKIAotc3RhdGlj IHN0cnVjdCBmYl9vcHMgdmFsa3lyaWVmYl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZi X29wcyB2YWxreXJpZWZiX29wcyA9IHsKIAkub3duZXIgPQlUSElTX01PRFVMRSwKIAkuZmJfY2hl Y2tfdmFyID0JdmFsa3lyaWVmYl9jaGVja192YXIsCiAJLmZiX3NldF9wYXIgPQl2YWxreXJpZWZi X3NldF9wYXIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3ZmYi5jIGIvZHJpdmVy cy92aWRlby9mYmRldi92ZmIuYwppbmRleCA1NDEyNzkwNWJmZTcuLjk1ZDNjNTk4NjdkMCAxMDA2 NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi92ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L3ZmYi5jCkBAIC03OCw3ICs3OCw3IEBAIHN0YXRpYyBpbnQgdmZiX3Bhbl9kaXNwbGF5KHN0 cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyLAogc3RhdGljIGludCB2ZmJfbW1hcChzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbywKIAkJICAgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKIAotc3Rh dGljIHN0cnVjdCBmYl9vcHMgdmZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3Bz IHZmYl9vcHMgPSB7CiAJLmZiX3JlYWQgICAgICAgID0gZmJfc3lzX3JlYWQsCiAJLmZiX3dyaXRl ICAgICAgID0gZmJfc3lzX3dyaXRlLAogCS5mYl9jaGVja192YXIJPSB2ZmJfY2hlY2tfdmFyLApk aWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi92Z2ExNmZiLmMgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3ZnYTE2ZmIuYwppbmRleCAyYzZhNTc2ZWQ4NGMuLmEyMGVlYjgzMDhmZiAxMDA2NDQK LS0tIGEvZHJpdmVycy92aWRlby9mYmRldi92Z2ExNmZiLmMKKysrIGIvZHJpdmVycy92aWRlby9m YmRldi92Z2ExNmZiLmMKQEAgLTEyNzAsNyArMTI3MCw3IEBAIHN0YXRpYyB2b2lkIHZnYTE2ZmJf ZGVzdHJveShzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlmcmFtZWJ1ZmZlcl9yZWxlYXNlKGluZm8p OwogfQogCi1zdGF0aWMgc3RydWN0IGZiX29wcyB2Z2ExNmZiX29wcyA9IHsKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgZmJfb3BzIHZnYTE2ZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwK IAkuZmJfb3BlbiAgICAgICAgPSB2Z2ExNmZiX29wZW4sCiAJLmZiX3JlbGVhc2UgICAgID0gdmdh MTZmYl9yZWxlYXNlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi92dDg1MDBsY2Rm Yi5jIGIvZHJpdmVycy92aWRlby9mYmRldi92dDg1MDBsY2RmYi5jCmluZGV4IGJlOGQ5NzAyY2Ji Mi4uZjc0NDQ3OWRjN2RmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Z0ODUwMGxj ZGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi92dDg1MDBsY2RmYi5jCkBAIC0yMzgsNyAr MjM4LDcgQEAgc3RhdGljIGludCB2dDg1MDBsY2RfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3QgZmJf aW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBmYl9vcHMgdnQ4NTAw bGNkX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHZ0ODUwMGxjZF9vcHMgPSB7 CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9zZXRfcGFyCT0gdnQ4NTAwbGNkX3NldF9w YXIsCiAJLmZiX3NldGNvbHJlZwk9IHZ0ODUwMGxjZF9zZXRjb2xyZWcsCmRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L3Z0ODYyM2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Z0ODYy M2ZiLmMKaW5kZXggYzMzOWE4ZmJhZDgxLi43YjNlZWYxYjg5M2YgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvdnQ4NjIzZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Z0ODYy M2ZiLmMKQEAgLTYzNCw3ICs2MzQsNyBAQCBzdGF0aWMgaW50IHZ0ODYyM2ZiX3Bhbl9kaXNwbGF5 KHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyLCBzdHJ1Y3QgZmJfaW5mbyAqaQogCiAvKiBG cmFtZSBidWZmZXIgb3BlcmF0aW9ucyAqLwogCi1zdGF0aWMgc3RydWN0IGZiX29wcyB2dDg2MjNm Yl9vcHMgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyB2dDg2MjNmYl9vcHMgPSB7CiAJ Lm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5mYl9vcGVuCT0gdnQ4NjIzZmJfb3BlbiwKIAkuZmJf cmVsZWFzZQk9IHZ0ODYyM2ZiX3JlbGVhc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L3cxMDBmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi93MTAwZmIuYwppbmRleCAzYmUwNzgw N2VkY2QuLmZlNjI4ZWMyMDE0OSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi93MTAw ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3cxMDBmYi5jCkBAIC01NDksNyArNTQ5LDcg QEAgc3RhdGljIGludCB3MTAwZmJfc2V0X3BhcihzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIC8qCiAg KiAgRnJhbWUgYnVmZmVyIG9wZXJhdGlvbnMKICAqLwotc3RhdGljIHN0cnVjdCBmYl9vcHMgdzEw MGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHcxMDBmYl9vcHMgPSB7CiAJ Lm93bmVyICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5mYl9jaGVja192YXIgPSB3MTAwZmJfY2hl Y2tfdmFyLAogCS5mYl9zZXRfcGFyICAgPSB3MTAwZmJfc2V0X3BhciwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvd204NTA1ZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvd204NTA1 ZmIuYwppbmRleCAxN2M3ODAzMTVjYTUuLmI2NTZlZmY1OGMyMyAxMDA2NDQKLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi93bTg1MDVmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvd204NTA1 ZmIuYwpAQCAtMjQ2LDcgKzI0Niw3IEBAIHN0YXRpYyBpbnQgd204NTA1ZmJfYmxhbmsoaW50IGJs YW5rLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVj dCBmYl9vcHMgd204NTA1ZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBmYl9vcHMgd204 NTA1ZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfc2V0X3Bhcgk9IHdt ODUwNWZiX3NldF9wYXIsCiAJLmZiX3NldGNvbHJlZwk9IHdtODUwNWZiX3NldGNvbHJlZywKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYveGVuLWZiZnJvbnQuYwppbmRleCBhM2Q2YjZkYjIyMWIuLjAwMzA3Yjg2OTNiZiAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi94ZW4tZmJmcm9udC5jCisrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuYwpAQCAtMzI4LDcgKzMyOCw3IEBAIHN0YXRpYyBp bnQgeGVuZmJfc2V0X3BhcihzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlyZXR1cm4gMDsKIH0KIAot c3RhdGljIHN0cnVjdCBmYl9vcHMgeGVuZmJfZmJfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBmYl9vcHMgeGVuZmJfZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJf cmVhZAk9IGZiX3N5c19yZWFkLAogCS5mYl93cml0ZQk9IHhlbmZiX3dyaXRlLApkaWZmIC0tZ2l0 IGEvZHJpdmVycy92aWRlby9mYmRldi94aWxpbnhmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi94 aWxpbnhmYi5jCmluZGV4IDg2Mjg4MjliNDcwZC4uY2E0ZmY2NThjYWQwIDEwMDY0NAotLS0gYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L3hpbGlueGZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi94 aWxpbnhmYi5jCkBAIC0yNDcsNyArMjQ3LDcgQEAgeGlsaW54X2ZiX2JsYW5rKGludCBibGFua19t b2RlLCBzdHJ1Y3QgZmJfaW5mbyAqZmJpKQogCXJldHVybiAwOyAvKiBzdWNjZXNzICovCiB9CiAK LXN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHhpbGlueGZiX29wcyA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgZmJfb3BzIHhpbGlueGZiX29wcyA9IHsKIAkub3duZXIJCQk9IFRISVNfTU9EVUxFLAogCS5m Yl9zZXRjb2xyZWcJCT0geGlsaW54X2ZiX3NldGNvbHJlZywKIAkuZmJfYmxhbmsJCT0geGlsaW54 X2ZiX2JsYW5rLAotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng=