Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKernel Build Daemon <kbuild@suse.de>2019-01-17 07:00:39 +0100
committerKernel Build Daemon <kbuild@suse.de>2019-01-17 07:00:39 +0100
commit0e63a20c6d19e05beb96d47724ac2c2fa90d1a37 (patch)
tree8b2be6a98e913238c448d6689541e99347a25f0a
parent319032cdb19388d95306452a0babc6dec96f5367 (diff)
parent9bcb0c1224f24296e4b1d29a71dd41c7aa57cbe9 (diff)
Merge branch 'SLE12-SP3' into SLE12-SP3-AZURErpm-4.4.170-4.22
-rw-r--r--arch/powerpc/Makefile2
-rw-r--r--arch/powerpc/boot/Makefile24
-rwxr-xr-xarch/powerpc/boot/wrapper24
-rw-r--r--drivers/gpu/drm/drm_fb_helper.c7
-rw-r--r--fs/aio.c2
5 files changed, 44 insertions, 15 deletions
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 3fdc31a44d0c..a83107ec8d0f 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -253,7 +253,7 @@ core-$(CONFIG_PERF_EVENTS) += arch/powerpc/perf/
drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/
# Default to zImage, override when needed
-all: vmlinux
+all: zImage
# With make 3.82 we cannot mix normal and wildcard targets
BOOT_TARGETS1 := zImage zImage.initrd uImage
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 0b0f894925ed..2b5fe70e12c7 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -17,7 +17,7 @@
# CROSS32_COMPILE is setup as a prefix just like CROSS_COMPILE
# in the toplevel makefile.
-all: $(obj)/vmlinux
+all: $(obj)/zImage
BOOTCFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-fno-strict-aliasing -Os -msoft-float -pipe \
@@ -214,18 +214,18 @@ quiet_cmd_wrap = WRAP $@
cmd_wrap =$(CONFIG_SHELL) $(wrapper) -c -o $@ -p $2 $(CROSSWRAP) \
$(if $3, -s $3)$(if $4, -d $4)$(if $5, -i $5) vmlinux
-image-$(CONFIG_PPC_PSERIES) +=
-image-$(CONFIG_PPC_POWERNV) +=
-image-$(CONFIG_PPC_MAPLE) +=
-image-$(CONFIG_PPC_IBM_CELL_BLADE) +=
-image-$(CONFIG_PPC_PS3) +=
-image-$(CONFIG_PPC_CELL_QPACE) +=
-image-$(CONFIG_PPC_CHRP) +=
-image-$(CONFIG_PPC_EFIKA) +=
-image-$(CONFIG_PPC_PMAC) +=
-image-$(CONFIG_PPC_HOLLY) +=
+image-$(CONFIG_PPC_PSERIES) += zImage.pseries
+image-$(CONFIG_PPC_POWERNV) += zImage.pseries
+image-$(CONFIG_PPC_MAPLE) += zImage.maple
+image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries
+image-$(CONFIG_PPC_PS3) += dtbImage.ps3
+image-$(CONFIG_PPC_CELL_QPACE) += zImage.pseries
+image-$(CONFIG_PPC_CHRP) += zImage.chrp
+image-$(CONFIG_PPC_EFIKA) += zImage.chrp
+image-$(CONFIG_PPC_PMAC) += zImage.pmac
+image-$(CONFIG_PPC_HOLLY) += dtbImage.holly
image-$(CONFIG_DEFAULT_UIMAGE) += uImage
-image-$(CONFIG_EPAPR_BOOT) +=
+image-$(CONFIG_EPAPR_BOOT) += zImage.epapr
#
# Targets which embed a device tree blob
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index ceaa75d5a684..be4831acda22 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -161,6 +161,28 @@ case "$elfformat" in
elf32-powerpc) format=elf32ppc ;;
esac
+ld_version()
+{
+ # Poached from scripts/ld-version.sh, but we don't want to call that because
+ # this script (wrapper) is distributed separately from the kernel source.
+ # Extract linker version number from stdin and turn into single number.
+ awk '{
+ gsub(".*\\)", "");
+ gsub(".*version ", "");
+ gsub("-.*", "");
+ split($1,a, ".");
+ print a[1]*100000000 + a[2]*1000000 + a[3]*10000;
+ exit
+ }'
+}
+
+# Do not include PT_INTERP segment when linking pie. Non-pie linking
+# just ignores this option.
+LD_VERSION=$(${CROSS}ld --version | ld_version)
+LD_NO_DL_MIN_VERSION=$(echo 2.26 | ld_version)
+if [ "$LD_VERSION" -ge "$LD_NO_DL_MIN_VERSION" ] ; then
+ nodl="--no-dynamic-linker"
+fi
platformo=$object/"$platform".o
lds=$object/zImage.lds
@@ -412,7 +434,7 @@ if [ "$platform" != "miboot" ]; then
if [ -n "$link_address" ] ; then
text_start="-Ttext $link_address"
fi
- ${CROSS}ld -m $format -T $lds $text_start $pie -o "$ofile" \
+ ${CROSS}ld -m $format -T $lds $text_start $pie $nodl -o "$ofile" \
$platformo $tmp $object/wrapper.a
rm $tmp
fi
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index f8e07477b273..edec88b21ff1 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -1109,9 +1109,14 @@ int drm_fb_helper_check_var(struct fb_var_screeninfo *var,
struct drm_framebuffer *fb = fb_helper->fb;
int depth;
- if (var->pixclock != 0 || in_dbg_master())
+ if (in_dbg_master())
return -EINVAL;
+ if (var->pixclock != 0) {
+ DRM_DEBUG("fbdev emulation doesn't support changing the pixel clock, value of pixclock is ignored\n");
+ var->pixclock = 0;
+ }
+
/* Need to resize the fb object !!! */
if (var->bits_per_pixel > fb->bits_per_pixel ||
var->xres > fb->width || var->yres > fb->height ||
diff --git a/fs/aio.c b/fs/aio.c
index a7d4b3a03c30..ff460012f4f3 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1476,6 +1476,7 @@ rw_common:
len = ret;
+ get_file(file);
if (rw == WRITE)
file_start_write(file);
@@ -1483,6 +1484,7 @@ rw_common:
if (rw == WRITE)
file_end_write(file);
+ fput(file);
kfree(iovec);
break;