Skip to content

Commit afd240d

Browse files
committed
Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git
* linux-linaro-lsk-v4.4-android: (510 commits) Linux 4.4.103 Revert "sctp: do not peel off an assoc from one netns to another one" xen: xenbus driver must not accept invalid transaction ids s390/kbuild: enable modversions for symbols exported from asm ASoC: wm_adsp: Don't overrun firmware file buffer when reading region data btrfs: return the actual error value from from btrfs_uuid_tree_iterate ASoC: rsnd: don't double free kctrl netfilter: nf_tables: fix oob access netfilter: nft_queue: use raw_smp_processor_id() spi: SPI_FSL_DSPI should depend on HAS_DMA staging: iio: cdc: fix improper return value iio: light: fix improper return value mac80211: Suppress NEW_PEER_CANDIDATE event if no room mac80211: Remove invalid flag operations in mesh TSF synchronization drm: Apply range restriction after color adjustment when allocation ALSA: hda - Apply ALC269_FIXUP_NO_SHUTUP on HDA_FIXUP_ACT_PROBE ath10k: set CTS protection VDEV param only if VDEV is up ath10k: fix potential memory leak in ath10k_wmi_tlv_op_pull_fw_stats() ath10k: ignore configuring the incorrect board_id ath10k: fix incorrect txpower set by P2P_DEVICE interface ... Conflicts: drivers/media/v4l2-core/v4l2-ctrls.c kernel/sched/fair.c Change-Id: I48152b2a0ab1f9f07e1da7823119b94f9b9e1751
2 parents 7b1e4fb + 0f64688 commit afd240d

476 files changed

Lines changed: 4544 additions & 3664 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
*.lzo
3434
*.patch
3535
*.gcno
36+
*.ll
3637
modules.builtin
3738
Module.symvers
3839
*.dwo

Documentation/devicetree/bindings/display/bridge/ti,ths8135.txt

Lines changed: 0 additions & 46 deletions
This file was deleted.

Documentation/kdump/gdbmacros.txt

Lines changed: 44 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -15,37 +15,38 @@
1515

1616
define bttnobp
1717
set $tasks_off=((size_t)&((struct task_struct *)0)->tasks)
18-
set $pid_off=((size_t)&((struct task_struct *)0)->pids[1].pid_list.next)
18+
set $pid_off=((size_t)&((struct task_struct *)0)->thread_group.next)
1919
set $init_t=&init_task
2020
set $next_t=(((char *)($init_t->tasks).next) - $tasks_off)
21+
set var $stacksize = sizeof(union thread_union)
2122
while ($next_t != $init_t)
2223
set $next_t=(struct task_struct *)$next_t
2324
printf "\npid %d; comm %s:\n", $next_t.pid, $next_t.comm
2425
printf "===================\n"
25-
set var $stackp = $next_t.thread.esp
26-
set var $stack_top = ($stackp & ~4095) + 4096
26+
set var $stackp = $next_t.thread.sp
27+
set var $stack_top = ($stackp & ~($stacksize - 1)) + $stacksize
2728

2829
while ($stackp < $stack_top)
2930
if (*($stackp) > _stext && *($stackp) < _sinittext)
3031
info symbol *($stackp)
3132
end
3233
set $stackp += 4
3334
end
34-
set $next_th=(((char *)$next_t->pids[1].pid_list.next) - $pid_off)
35+
set $next_th=(((char *)$next_t->thread_group.next) - $pid_off)
3536
while ($next_th != $next_t)
3637
set $next_th=(struct task_struct *)$next_th
3738
printf "\npid %d; comm %s:\n", $next_t.pid, $next_t.comm
3839
printf "===================\n"
39-
set var $stackp = $next_t.thread.esp
40-
set var $stack_top = ($stackp & ~4095) + 4096
40+
set var $stackp = $next_t.thread.sp
41+
set var $stack_top = ($stackp & ~($stacksize - 1)) + stacksize
4142

4243
while ($stackp < $stack_top)
4344
if (*($stackp) > _stext && *($stackp) < _sinittext)
4445
info symbol *($stackp)
4546
end
4647
set $stackp += 4
4748
end
48-
set $next_th=(((char *)$next_th->pids[1].pid_list.next) - $pid_off)
49+
set $next_th=(((char *)$next_th->thread_group.next) - $pid_off)
4950
end
5051
set $next_t=(char *)($next_t->tasks.next) - $tasks_off
5152
end
@@ -54,42 +55,44 @@ document bttnobp
5455
dump all thread stack traces on a kernel compiled with !CONFIG_FRAME_POINTER
5556
end
5657

58+
define btthreadstack
59+
set var $pid_task = $arg0
60+
61+
printf "\npid %d; comm %s:\n", $pid_task.pid, $pid_task.comm
62+
printf "task struct: "
63+
print $pid_task
64+
printf "===================\n"
65+
set var $stackp = $pid_task.thread.sp
66+
set var $stacksize = sizeof(union thread_union)
67+
set var $stack_top = ($stackp & ~($stacksize - 1)) + $stacksize
68+
set var $stack_bot = ($stackp & ~($stacksize - 1))
69+
70+
set $stackp = *((unsigned long *) $stackp)
71+
while (($stackp < $stack_top) && ($stackp > $stack_bot))
72+
set var $addr = *(((unsigned long *) $stackp) + 1)
73+
info symbol $addr
74+
set $stackp = *((unsigned long *) $stackp)
75+
end
76+
end
77+
document btthreadstack
78+
dump a thread stack using the given task structure pointer
79+
end
80+
81+
5782
define btt
5883
set $tasks_off=((size_t)&((struct task_struct *)0)->tasks)
59-
set $pid_off=((size_t)&((struct task_struct *)0)->pids[1].pid_list.next)
84+
set $pid_off=((size_t)&((struct task_struct *)0)->thread_group.next)
6085
set $init_t=&init_task
6186
set $next_t=(((char *)($init_t->tasks).next) - $tasks_off)
6287
while ($next_t != $init_t)
6388
set $next_t=(struct task_struct *)$next_t
64-
printf "\npid %d; comm %s:\n", $next_t.pid, $next_t.comm
65-
printf "===================\n"
66-
set var $stackp = $next_t.thread.esp
67-
set var $stack_top = ($stackp & ~4095) + 4096
68-
set var $stack_bot = ($stackp & ~4095)
69-
70-
set $stackp = *($stackp)
71-
while (($stackp < $stack_top) && ($stackp > $stack_bot))
72-
set var $addr = *($stackp + 4)
73-
info symbol $addr
74-
set $stackp = *($stackp)
75-
end
89+
btthreadstack $next_t
7690

77-
set $next_th=(((char *)$next_t->pids[1].pid_list.next) - $pid_off)
91+
set $next_th=(((char *)$next_t->thread_group.next) - $pid_off)
7892
while ($next_th != $next_t)
7993
set $next_th=(struct task_struct *)$next_th
80-
printf "\npid %d; comm %s:\n", $next_t.pid, $next_t.comm
81-
printf "===================\n"
82-
set var $stackp = $next_t.thread.esp
83-
set var $stack_top = ($stackp & ~4095) + 4096
84-
set var $stack_bot = ($stackp & ~4095)
85-
86-
set $stackp = *($stackp)
87-
while (($stackp < $stack_top) && ($stackp > $stack_bot))
88-
set var $addr = *($stackp + 4)
89-
info symbol $addr
90-
set $stackp = *($stackp)
91-
end
92-
set $next_th=(((char *)$next_th->pids[1].pid_list.next) - $pid_off)
94+
btthreadstack $next_th
95+
set $next_th=(((char *)$next_th->thread_group.next) - $pid_off)
9396
end
9497
set $next_t=(char *)($next_t->tasks.next) - $tasks_off
9598
end
@@ -101,7 +104,7 @@ end
101104
define btpid
102105
set var $pid = $arg0
103106
set $tasks_off=((size_t)&((struct task_struct *)0)->tasks)
104-
set $pid_off=((size_t)&((struct task_struct *)0)->pids[1].pid_list.next)
107+
set $pid_off=((size_t)&((struct task_struct *)0)->thread_group.next)
105108
set $init_t=&init_task
106109
set $next_t=(((char *)($init_t->tasks).next) - $tasks_off)
107110
set var $pid_task = 0
@@ -113,29 +116,18 @@ define btpid
113116
set $pid_task = $next_t
114117
end
115118

116-
set $next_th=(((char *)$next_t->pids[1].pid_list.next) - $pid_off)
119+
set $next_th=(((char *)$next_t->thread_group.next) - $pid_off)
117120
while ($next_th != $next_t)
118121
set $next_th=(struct task_struct *)$next_th
119122
if ($next_th.pid == $pid)
120123
set $pid_task = $next_th
121124
end
122-
set $next_th=(((char *)$next_th->pids[1].pid_list.next) - $pid_off)
125+
set $next_th=(((char *)$next_th->thread_group.next) - $pid_off)
123126
end
124127
set $next_t=(char *)($next_t->tasks.next) - $tasks_off
125128
end
126129

127-
printf "\npid %d; comm %s:\n", $pid_task.pid, $pid_task.comm
128-
printf "===================\n"
129-
set var $stackp = $pid_task.thread.esp
130-
set var $stack_top = ($stackp & ~4095) + 4096
131-
set var $stack_bot = ($stackp & ~4095)
132-
133-
set $stackp = *($stackp)
134-
while (($stackp < $stack_top) && ($stackp > $stack_bot))
135-
set var $addr = *($stackp + 4)
136-
info symbol $addr
137-
set $stackp = *($stackp)
138-
end
130+
btthreadstack $pid_task
139131
end
140132
document btpid
141133
backtrace of pid
@@ -145,7 +137,7 @@ end
145137
define trapinfo
146138
set var $pid = $arg0
147139
set $tasks_off=((size_t)&((struct task_struct *)0)->tasks)
148-
set $pid_off=((size_t)&((struct task_struct *)0)->pids[1].pid_list.next)
140+
set $pid_off=((size_t)&((struct task_struct *)0)->thread_group.next)
149141
set $init_t=&init_task
150142
set $next_t=(((char *)($init_t->tasks).next) - $tasks_off)
151143
set var $pid_task = 0
@@ -157,13 +149,13 @@ define trapinfo
157149
set $pid_task = $next_t
158150
end
159151

160-
set $next_th=(((char *)$next_t->pids[1].pid_list.next) - $pid_off)
152+
set $next_th=(((char *)$next_t->thread_group.next) - $pid_off)
161153
while ($next_th != $next_t)
162154
set $next_th=(struct task_struct *)$next_th
163155
if ($next_th.pid == $pid)
164156
set $pid_task = $next_th
165157
end
166-
set $next_th=(((char *)$next_th->pids[1].pid_list.next) - $pid_off)
158+
set $next_th=(((char *)$next_th->thread_group.next) - $pid_off)
167159
end
168160
set $next_t=(char *)($next_t->tasks.next) - $tasks_off
169161
end

Kbuild

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,31 +6,6 @@
66
# 3) Generate asm-offsets.h (may need bounds.h and timeconst.h)
77
# 4) Check for missing system calls
88

9-
# Default sed regexp - multiline due to syntax constraints
10-
define sed-y
11-
"/^->/{s:->#\(.*\):/* \1 */:; \
12-
s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
13-
s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
14-
s:->::; p;}"
15-
endef
16-
17-
# Use filechk to avoid rebuilds when a header changes, but the resulting file
18-
# does not
19-
define filechk_offsets
20-
(set -e; \
21-
echo "#ifndef $2"; \
22-
echo "#define $2"; \
23-
echo "/*"; \
24-
echo " * DO NOT MODIFY."; \
25-
echo " *"; \
26-
echo " * This file was generated by Kbuild"; \
27-
echo " */"; \
28-
echo ""; \
29-
sed -ne $(sed-y); \
30-
echo ""; \
31-
echo "#endif" )
32-
endef
33-
349
#####
3510
# 1) Generate bounds.h
3611

Makefile

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
VERSION = 4
22
PATCHLEVEL = 4
3-
SUBLEVEL = 93
3+
SUBLEVEL = 103
44
EXTRAVERSION =
55
NAME = Blurry Fish Butt
66

@@ -312,7 +312,7 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
312312

313313
HOSTCC = gcc
314314
HOSTCXX = g++
315-
HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89
315+
HOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89
316316
HOSTCXXFLAGS = -O2
317317

318318
ifeq ($(shell $(HOSTCC) -v 2>&1 | grep -c "clang version"), 1)
@@ -641,7 +641,7 @@ KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
641641
KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context)
642642

643643
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
644-
KBUILD_CFLAGS += -Os
644+
KBUILD_CFLAGS += $(call cc-option,-Oz,-Os)
645645
else
646646
ifdef CONFIG_PROFILE_ALL_BRANCHES
647647
KBUILD_CFLAGS += -O2
@@ -716,18 +716,31 @@ endif
716716
KBUILD_CFLAGS += $(stackp-flag)
717717

718718
ifeq ($(cc-name),clang)
719+
ifneq ($(CROSS_COMPILE),)
720+
CLANG_TRIPLE ?= $(CROSS_COMPILE)
721+
CLANG_TARGET := --target=$(notdir $(CLANG_TRIPLE:%-=%))
722+
GCC_TOOLCHAIN := $(realpath $(dir $(shell which $(LD)))/..)
723+
endif
724+
ifneq ($(GCC_TOOLCHAIN),)
725+
CLANG_GCC_TC := --gcc-toolchain=$(GCC_TOOLCHAIN)
726+
endif
727+
KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
728+
KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
719729
KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,)
720-
KBUILD_CPPFLAGS += $(call cc-option,-Wno-unknown-warning-option,)
721730
KBUILD_CFLAGS += $(call cc-disable-warning, unused-variable)
722731
KBUILD_CFLAGS += $(call cc-disable-warning, format-invalid-specifier)
723732
KBUILD_CFLAGS += $(call cc-disable-warning, gnu)
733+
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
734+
KBUILD_CFLAGS += $(call cc-disable-warning, duplicate-decl-specifier)
724735
# Quiet clang warning: comparison of unsigned expression < 0 is always false
725736
KBUILD_CFLAGS += $(call cc-disable-warning, tautological-compare)
726737
# CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the
727738
# source of a reference will be _MergedGlobals and not on of the whitelisted names.
728739
# See modpost pattern 2
729740
KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,)
730741
KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior)
742+
KBUILD_CFLAGS += $(call cc-option, -no-integrated-as)
743+
KBUILD_AFLAGS += $(call cc-option, -no-integrated-as)
731744
else
732745

733746
# These warnings generated too much noise in a regular build.
@@ -1303,6 +1316,8 @@ help:
13031316
@echo ' (default: $$(INSTALL_MOD_PATH)/lib/firmware)'
13041317
@echo ' dir/ - Build all files in dir and below'
13051318
@echo ' dir/file.[ois] - Build specified target only'
1319+
@echo ' dir/file.ll - Build the LLVM assembly file'
1320+
@echo ' (requires compiler support for LLVM assembly generation)'
13061321
@echo ' dir/file.lst - Build specified mixed source/assembly target only'
13071322
@echo ' (requires a recent binutils and recent build (System.map))'
13081323
@echo ' dir/file.ko - Build module including final link'
@@ -1479,6 +1494,7 @@ clean: $(clean-dirs)
14791494
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
14801495
-o -name '*.symtypes' -o -name 'modules.order' \
14811496
-o -name modules.builtin -o -name '.tmp_*.o.*' \
1497+
-o -name '*.ll' \
14821498
-o -name '*.gcno' \) -type f -print | xargs rm -f
14831499

14841500
# Generate tags for editors
@@ -1582,6 +1598,8 @@ endif
15821598
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
15831599
%.symtypes: %.c prepare scripts FORCE
15841600
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
1601+
%.ll: %.c prepare scripts FORCE
1602+
$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
15851603

15861604
# Modules
15871605
/: prepare scripts FORCE

arch/arm/boot/dts/am33xx.dtsi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,11 @@
142142
};
143143

144144
scm_conf: scm_conf@0 {
145-
compatible = "syscon";
145+
compatible = "syscon", "simple-bus";
146146
reg = <0x0 0x800>;
147147
#address-cells = <1>;
148148
#size-cells = <1>;
149+
ranges = <0 0 0x800>;
149150

150151
scm_clocks: clocks {
151152
#address-cells = <1>;

arch/arm/boot/dts/armada-375.dtsi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,9 @@
176176
reg = <0x8000 0x1000>;
177177
cache-unified;
178178
cache-level = <2>;
179-
arm,double-linefill-incr = <1>;
179+
arm,double-linefill-incr = <0>;
180180
arm,double-linefill-wrap = <0>;
181-
arm,double-linefill = <1>;
181+
arm,double-linefill = <0>;
182182
prefetch-data = <1>;
183183
};
184184

arch/arm/boot/dts/armada-38x.dtsi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,9 @@
143143
reg = <0x8000 0x1000>;
144144
cache-unified;
145145
cache-level = <2>;
146-
arm,double-linefill-incr = <1>;
146+
arm,double-linefill-incr = <0>;
147147
arm,double-linefill-wrap = <0>;
148-
arm,double-linefill = <1>;
148+
arm,double-linefill = <0>;
149149
prefetch-data = <1>;
150150
};
151151

0 commit comments

Comments
 (0)