Now the hists__fprintf_hierarchy_headers() is a simple wrapper passing
field separator. Let's do it directly.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20160913074552.13284-6-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
When the --hierarchy option is used, each entry has its own hpp_list to
show the result. But it is not updating the width of each column for
perf-top. The perf-report command has no problem since it resets it
during header display.
$ sudo perf top --hierarchy --stdio
PerfTop: 160 irqs/sec kernel:38.8% exact: 100.0%
[4000Hz cycles:pp], (all, 12 CPUs)
----------------------------------------------------------------------
52.32% perf
24.74% [.] __symbols__insert
5.62% [.] rb_next
5.14% [.] dso__load_sym
Move the code into hists__fprintf() so that it can be called always.
Also it'd be better to put similar code together.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Fixes: 1b2dbbf41a ("perf hists: Use own hpp_list for hierarchy mode")
Link: http://lkml.kernel.org/r/20160913074552.13284-5-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
The hroot_in and hroot_out are roots of hierarchy trees of hist entries.
But when a hist entry is initialized by copying existing template entry,
it sometimes has non-empty tree and copies it incorrectly. This is a
problem especially when an event group is used since it creates dummy
entries from already-processed entries in other event members.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20160913074552.13284-4-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
The hists__link_hierarchy() is to support hierarchy reports with an
event group. When it matches the leader event and the other members
(using hists__match_hierarchy()), it also needs to link unmatched member
entries with a dummy leader event so that it can show up in the output.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20160913074552.13284-3-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
The hists__match_hierarchy() is to find matching hist entries in a
group. A matching entry has the same values for all sort keys given.
With an event group (e.g.: -e "{cycles,instructions}"), a leader event
should show other members in a group. So each entry in the leader
should be able to find its pair entries which have same values.
With hierarchy mode, it needs to search all matching children in a
hierarchy.
An example output looks like:
# Overhead Command / Shared Object / Symbol
# ...................... ..................................
#
25.74% 27.18% sh
19.96% 24.14% libc-2.24.so
9.55% 14.64% [.] __strcmp_sse2
1.54% 0.00% [.] __tfind
1.07% 1.13% [.] _int_malloc
...
In the above example, two overheads are shown - one for the leader and
another for the other group member. They were matched since their
command, dso and symbol have the same values.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20160913074552.13284-2-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Pull locking fix from Ingo Molnar:
"Another lockless_dereference() Sparse fix"
* 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
locking/barriers: Don't use sizeof(void) in lockless_dereference()
As with other cloned headers, compare the newly introduced mman related
headers against their source copy in kernel tree.
Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/1473684871-209320-4-git-send-email-wangnan0@huawei.com
[ Added -I to ignore the uapi/ difference ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Pull EFI fixes from Ingo Molnar:
"This contains a Xen fix, an arm64 fix and a race condition /
robustization set of fixes related to ExitBootServices() usage and
boundary conditions"
* 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/efi: Use efi_exit_boot_services()
efi/libstub: Use efi_exit_boot_services() in FDT
efi/libstub: Introduce ExitBootServices helper
efi/libstub: Allocate headspace in efi_get_memory_map()
efi: Fix handling error value in fdt_find_uefi_params
efi: Make for_each_efi_memory_desc_in_map() cope with running on Xen
The espfix64 setup code was a bit inscrutible and contained an
unnecessary push of RAX. Remove that push, update all the stack
offsets to match, and document the whole mess.
Reported-By: Borislav Petkov <bp@alien8.de>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Reviewed-by: Borislav Petkov <bp@suse.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/e5459eb10cf1175c8b36b840bc425f210d045f35.1473717910.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Commit:
4d94246699 ("mm: convert p[te|md]_mknonnuma and remaining page table manipulations")
changed NUMA balancing from _PAGE_NUMA to using PROT_NONE, and was quickly
found to introduce a regression with NUMA grouping.
It was followed up by these commits:
53da3bc2ba ("mm: fix up numa read-only thread grouping logic")
bea66fbd11 ("mm: numa: group related processes based on VMA flags instead of page table flags")
b191f9b106 ("mm: numa: preserve PTE write permissions across a NUMA hinting fault")
The first of those two commits try alternate approaches to NUMA
grouping, which apparently do not work as well as looking at the PTE
write permissions.
The latter patch preserves the PTE write permissions across a NUMA
protection fault. However, it forgets to revert the condition for
whether or not to group tasks together back to what it was before
v3.19, even though the information is now preserved in the page tables
once again.
This patch brings the NUMA grouping heuristic back to what it was
before commit 4d94246699, which the changelogs of subsequent
commits suggest worked best.
We have all the information again. We should probably use it.
Signed-off-by: Rik van Riel <riel@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aarcange@redhat.com
Cc: linux-mm@kvack.org
Cc: mgorman@suse.de
Link: http://lkml.kernel.org/r/20160908213053.07c992a9@annuminas.surriel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
The csets:
0ac3348e50 ("perf tools: Recognize hugetlb mapping as anon mapping")
d7e404af11 ("perf record: Mark MAP_HUGETLB when synthesizing mmap events")
Added code conditional on MAP_HUGETLB, to make it build in older systems
where that define wasn't available. Now that we grabbed copies of
uapi/linux/mmap.h to have all those definitions in tools/, use it so
that we can support building the tools for older systems (without the
MAP_HUGETLB define in its libc headers) using new kernels that support
such maps.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: Zefan Li <lizefan@huawei.com>
Link: http://lkml.kernel.org/n/tip-wv6oqbfkpxbix4umj2kcfmaz@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Several defines have different values in different arches, so we can't
just define it to the x86_64 value, use uapi/linux/mmap.h that was
recently introduced to reliably find those, not using possibly outdated
libc headers.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: Zefan Li <lizefan@huawei.com>
Link: http://lkml.kernel.org/n/tip-4eajp5yp8i2fuw44n7jmcg5t@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Some mmap related macros have different values for different
architectures. This patch introduces uapi mman.h for each
architectures.
Three headers are cloned from kernel include to tools/include:
tools/include/uapi/asm-generic/mman-common.h
tools/include/uapi/asm-generic/mman.h
tools/include/uapi/linux/mman.h
The main part of this patch is generated by following script:
macros=`cat $0 | awk 'V==1 {print}; /^# start macro list/ {V=1}'`
for arch in `ls tools/arch`
do
[ -d tools/arch/$arch/include/uapi/asm ] || mkdir -p tools/arch/$arch/include/uapi/asm
src=arch/$arch/include/uapi/asm/mman.h
target=tools/arch/$arch/include/uapi/asm/mman.h
guard="TOOLS_ARCH_"`echo $arch | awk '{print toupper($0)}'`_UAPI_ASM_MMAN_FIX_H
echo '#ifndef '$guard > $target
echo '#define '$guard >> $target
[ -f $src ] &&
for m in $macros
do
if grep '#define[ \t]*'$m $src > /dev/null 2>&1
then
grep -h '#define[ \t]*'$m $src | sed 's/[ \t]*\/\*.*$//g' >> $target
fi
done
if [ -f $src ]
then
grep '#include <asm-generic' $src >> $target
else
echo "#include <asm-generic/mman.h>" >> $target
fi
echo '#endif' >> $target
echo "$target"
done
exit 0
# Following macros are extracted from:
# tools/perf/trace/beauty/mmap.c
#
# start macro list
MADV_DODUMP
MADV_DOFORK
MADV_DONTDUMP
MADV_DONTFORK
MADV_DONTNEED
MADV_HUGEPAGE
MADV_HWPOISON
MADV_MERGEABLE
MADV_NOHUGEPAGE
MADV_NORMAL
MADV_RANDOM
MADV_REMOVE
MADV_SEQUENTIAL
MADV_SOFT_OFFLINE
MADV_UNMERGEABLE
MADV_WILLNEED
MAP_32BIT
MAP_ANONYMOUS
MAP_DENYWRITE
MAP_EXECUTABLE
MAP_FILE
MAP_FIXED
MAP_GROWSDOWN
MAP_HUGETLB
MAP_LOCKED
MAP_NONBLOCK
MAP_NORESERVE
MAP_POPULATE
MAP_PRIVATE
MAP_SHARED
MAP_STACK
MAP_UNINITIALIZED
MREMAP_FIXED
MREMAP_MAYMOVE
PROT_EXEC
PROT_GROWSDOWN
PROT_GROWSUP
PROT_NONE
PROT_READ
PROT_SEM
PROT_WRITE
Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/1473684871-209320-2-git-send-email-wangnan0@huawei.com
[ Added new files to tools/perf/MANIFEST to fix the detached tarball build, add mman.h for ARC ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
and allow drivers to permanently reserve EFI boot services regions
on x86, as well as ARM/arm64 - Matt Fleming
* Add ARM support for the EFI esrt driver - Ard Biesheuvel
* Make the EFI runtime services and efivar API interruptible by
swapping spinlocks for semaphores - Sylvain Chouleur
* Provide the EFI identity mapping for kexec which allows kexec to
work on SGI/UV platforms with requiring the "noefi" kernel command
line parameter - Alex Thorlton
* Add debugfs node to dump EFI page tables on arm64 - Ard Biesheuvel
* Merge the EFI test driver being carried out of tree until now in
the FWTS project - Ivan Hu
* Expand the list of flags for classifying EFI regions as "RAM" on
arm64 so we align with the UEFI spec - Ard Biesheuvel
* Optimise out the EFI mixed mode if it's unsupported (CONFIG_X86_32)
or disabled (CONFIG_EFI_MIXED=n) and switch the early EFI boot
services function table for direct calls, alleviating us from
having to maintain the custom function table - Lukas Wunner
* Miscellaneous cleanups and fixes
-----BEGIN PGP SIGNATURE-----
iQI2BAABCAAgBQJX0tCTGRxtYXR0QGNvZGVibHVlcHJpbnQuY28udWsACgkQLzhZ
wI0jPVWLVBAAn/iM91Vmhggdk3t0wCMJzrNGonw61VJ9TZJVbCUJyiH0qdDUThhj
R4rO+6Vf6yOuyswu+mGmae61tfsjwJHH+IPpB8nRLIGQRwzoxk+aGC7FzmQ0ISVO
wIdv5shsmeWhFAyNB1D4hzlp1NxOZaqcU/0cfUVGe4HmK0Js3tUpWWx8VgJ7yvW+
X1PBbfyChArGqiwV6FJz/mJxRAgByUfhvYMcX9HhQkou6F4U5Y8l3vlhUMbuAZAi
ZfG2LWGYCQ+F4XKxMq2QDAtdUgBzlYWw6W60o55x9WO4cEVSzNVRgedto5o1Zea9
2QGEr94gim+e5cJ/HeDIEmbWZhAqIdcNDqXSSBd1CDVQytp4PNAn6rxk+2S9kxoe
T9Mk523HEabo+AZvDAPPJlzcsnIe83JYy69M1xFvcP25ebk7y2BwQtd1jwWPrPDQ
Q/llzF93aezUFR/guvIw0oHckhQl0ZkNedL9Tq4+UKL0ibp2X4gSX636/x4PkBSP
5+pyfmO1SAqTiiMQGQMnp4+ngPQeQrxkmVnh1P7cKlTNXg1IoS03t46Xn2Pj10cd
3KneVDeN9DKIAOn7wPKuPnjTho+9FH36xbwTaIgbt0cWuFFfu090rmqOQfjAJEDN
foHzsMZ7S6CmeOJnj97NNR8sMQDcc+p9bh1KXpJIHaZAgrKmvqPZpMk=
=G7L6
-----END PGP SIGNATURE-----
Merge tag 'efi-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into efi/core
Pull EFI updates from Matt Fleming:
"* Refactor the EFI memory map code into architecture neutral files
and allow drivers to permanently reserve EFI boot services regions
on x86, as well as ARM/arm64 - Matt Fleming
* Add ARM support for the EFI esrt driver - Ard Biesheuvel
* Make the EFI runtime services and efivar API interruptible by
swapping spinlocks for semaphores - Sylvain Chouleur
* Provide the EFI identity mapping for kexec which allows kexec to
work on SGI/UV platforms with requiring the "noefi" kernel command
line parameter - Alex Thorlton
* Add debugfs node to dump EFI page tables on arm64 - Ard Biesheuvel
* Merge the EFI test driver being carried out of tree until now in
the FWTS project - Ivan Hu
* Expand the list of flags for classifying EFI regions as "RAM" on
arm64 so we align with the UEFI spec - Ard Biesheuvel
* Optimise out the EFI mixed mode if it's unsupported (CONFIG_X86_32)
or disabled (CONFIG_EFI_MIXED=n) and switch the early EFI boot
services function table for direct calls, alleviating us from
having to maintain the custom function table - Lukas Wunner
* Miscellaneous cleanups and fixes"
Signed-off-by: Ingo Molnar <mingo@kernel.org>
After the previous patches, connect keys can only (correctly)
be used for storing static WEP keys. Therefore, remove all the
data for dealing with key index 4/5 and reduce the size of the
key material to the maximum for WEP keys.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Don't accept it if a key_idx < 0 snuck through, reject WEP keys with
key index 4 and 5 (which are used for IGTKs) and don't allow IGTKs
with key indices other than 4 and 5. This makes the key data match
expectations better.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
When not connected, anything but WEP keys shouldn't be allowed to be
configured for later - only static WEP keys make sense at this point.
Change wext to reject anything else just like nl80211 does.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This was already documented that way in nl80211.h, but the
parsing code still accepted other key types. Change it to
really only accept WEP keys as documented.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Only key index 0-3 should be accepted, 4/5 are for IGTKs and
cannot be used as connect keys. Fix the range checking to not
allow such erroneous configurations.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Key index 4 can only be used for an IGTK, so the range checks
for shared key authentication should treat 4 as an error, fix
that in the code.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Pull MD fixes from Shaohua Li:
"A few bug fixes for MD:
- Guoqing fixed a bug compiling md-cluster in kernel
- I fixed a potential deadlock in raid5-cache superblock write, a
hang in raid5 reshape resume and a race condition introduced in
rc4"
* tag 'md/4.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
raid5: fix a small race condition
md-cluster: make md-cluster also can work when compiled into kernel
raid5: guarantee enough stripes to avoid reshape hang
raid5-cache: fix a deadlock in superblock write
Due to an apparent copy/paste bug, the number of counters for the
beacon configuration were checked twice, instead of checking the
number of probe response counters. Fix this to check the number of
probe response counters before parsing those.
Cc: stable@vger.kernel.org
Fixes: 9a774c78e2 ("cfg80211: Support multiple CSA counters")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Pull crypto bugfix from Herbert Xu:
"Fix a bug in the cryptd code that may lead to crashes"
* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
crypto: cryptd - initialize child shash_desc on import
Guenter Roeck reported a regression caused by commit "serial: earlycon:
Extend earlycon command line option to support 64-bit addresses":
console= and earlycon= options have the following format:
...,<addr>,<options>
Historically used here simple_strtoul() had no problems with comma, but the
new and recommended kstrtoull() requires null-terminated string and returns
-EINVAL in case there are "options" at the end. There is no recommended to
use function currently that will support it, so stick to obsolete
simple_strtoull() variant.
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Reported-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Some functions called by serial_imx_probe emit an error message themself
(like kmalloc() and friends). clk_prepare_enable() and
devm_request_irq() however don't which might make the driver silently
fail to probe. So add an error message for these.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jiri Pirko says:
====================
mlxsw: ethtool enhancements
Ido says:
Patches 1-4 do some minor cleanup in current ethtool ops. Patch 5
replace legacy {get,set}_settings callbacks with
{get,set}_link_ksettings.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Remove the deprecated {get,set}_settings callbacks and instead add
{get,set}_link_ksettings along with support for newly available speeds.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
The device can support multiple port types, so don't return on first
match.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
In case port isn't operational we shouldn't report the port type, but
instead return PORT_OTHER. This is consistent with most other drivers
that return PORT_OTHER when media type can't be determined.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
If autonegotiation was performed successfully, then we should report the
link partner's advertised speeds instead of the operational speed of the
port.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Up until now the device always reported autonegotiation to be off
although it was on by default.
Allow the user to disable / enable autonegotiation and report its status
correctly.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
If 'IS_ERR(pdata->clk)' is true, then 'clk_disable_unprepare(pdata->clk)'
will do nothing.
It is likely that 'if (!IS_ERR(pdata->clk))' was expected here.
In fact, the test can even be removed because 'clk_disable_unprepare'
already handles such cases.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
can_stop_full_tick() has no check for offline cpus. So it allows to stop
the tick on an offline cpu from the interrupt return path, which is wrong
and subsequently makes irq_work_needs_cpu() warn about being called for an
offline cpu.
Commit f7ea0fd639 ("tick: Don't invoke tick_nohz_stop_sched_tick() if
the cpu is offline") added prevention for can_stop_idle_tick(), but forgot
to do the same in can_stop_full_tick(). Add it.
[ tglx: Massaged changelog ]
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Link: http://lkml.kernel.org/r/1473245473-4463-1-git-send-email-wanpeng.li@hotmail.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
A second set of device tree changes, this time switching a few SoCs to the
new sunxi-ng clock framework. We also added the support for a new SoC
(NextThing GR8 and its evaluation board), and the support for the DRM
driver in the A33.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJX1b4yAAoJEBx+YmzsjxAg630P/i4++5Q3TWkkM8x0H375Hu/w
S2rsA4Tg3979rB8R32yQqquy05ngYB/iKsp+vnx9UDMwPwD7D09+pFm5eQTTpI3o
L+5O27VhaaFY1G3ZNvyfatw75dk733oA0hYQV4NNQXIzocTrOkFSuAES/LOvdeN5
T5H4aREySzUBCGkqlq92fz0eSc5l/RDkkxvVjD5Qz2kf7jyWVLlbP96m58cmdKQG
tiVL+Sn6tDKPumYB8Ab/nt4n7Vni45/D4HAvWQPWxnQD3ImY2d6N0M3bXbttckYU
XUVhMLczQeuBtyO5XRCRZR2T7dQmqbvNdPGg/R2HTDyMSuUc+RQUE1CcTUxZKsTE
mhm5UD/qZD2l4sKooNSDqXGplQaExmoJercsTyZ856uPhFY+WwtTh0JgHpSO8hX8
OC7YVuS4TP4AmBklO39VIMjeA+yDbG5gpkHMH5GFiJG3bDEWUD2NyCgkSn8+CUMF
QBe5E4tBk5SPoB6LylnVFDyS7BBmqBoBWddYOepAV0QRk/mJCGigIiHExhrd7fAp
scVvkliScSlUyLhOKJ4vpga3vXLKStEuCEjMsL0hbeaLBSRcXHNDBw70DQx8QJMu
nBjhyNIF5TdX875IJskd0YSAdLfrjuyuxpecdn+0YyOq9/9Y0SgbPN+vNE3Kj544
15378EMLv7oCPuFaCPJ5
=uy/t
-----END PGP SIGNATURE-----
Merge tag 'sunxi-dt-for-4.9-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/late
Merge "Allwinner DT changes for 4.9, take 2" from Maxime Ripard:
A second set of device tree changes, this time switching a few SoCs to the
new sunxi-ng clock framework. We also added the support for a new SoC
(NextThing GR8 and its evaluation board), and the support for the DRM
driver in the A33.
To maintain bisectability, while avoiding some un-trivial merge
conflicts, I had to merge the clk branch that I've sent a PR to Mike
and Stephen. This branch will of course be stable.
* tag 'sunxi-dt-for-4.9-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (53 commits)
ARM: dts: gr8: Add support for the GR8 evaluation board
ARM: dts: Add NextThing GR8 dtsi
ARM: dts: sun8i: Move A23/A33 usbphy and usb_otg nodes to common dtsi
ARM: sun8i: a23/a33: Add RGB666 pins
ARM: sun8i: a33: Add display pipeline
ARM: sun8i: Convert the A23 and A33 to the CCU
ARM: dts: sun6i: switch A31/A31s to new CCU clock bindings
clk: sunxi-ng: Add hardware dependency
clk: sunxi-ng: Add A23 CCU
clk: sunxi-ng: Add A33 CCU support
clk: sunxi-ng: Add N-class clocks support
clk: sunxi-ng: mux: Add mux table macro
clk: sunxi-ng: div: Allow to set a maximum
clk: sunxi-ng: div: Add kerneldoc for the _ccu_div structure
clk: sunxi-ng: div: Add mux table macros
devicetree: Add vendor prefix for FriendlyARM
ARM: dts: sun8i: Add dts file for the NanoPi NEO SBC
ARM: dts: sun8i-q8-common: Add support for SDIO wifi controllers
ARM: dts: sun8i: Add dts file for the Orange Pi Plus2E SBC
ARM: dts: sun8i: Orange Pi Plus dts is for the Plus and Plus 2
...
The ethtool api {get|set}_settings is deprecated.
We move this driver to new api {get|set}_link_ksettings.
Signed-off-by: Philippe Reynes <tremyfr@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
The private structure contain a pointer to phydev, but the structure
net_device already contain such pointer. So we can remove the pointer
phy_dev in the private structure, and update the driver to use the
one contained in struct net_device.
Signed-off-by: Philippe Reynes <tremyfr@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Since commit 4f00878126 ("sctp: apply rhashtable api to send/recv
path"), sctp uses transport rhashtable with .obj_cmpfn sctp_hash_cmp,
in which it compares the members of the transport with the rhashtable
args to check if it's the right transport.
But sctp uses the transport without holding it in sctp_hash_cmp, it can
cause a use-after-free panic. As after it gets transport from hashtable,
another CPU may close the sk and free the asoc. In sctp_association_free,
it frees all the transports, meanwhile, the assoc's refcnt may be reduced
to 0, assoc can be destroyed by sctp_association_destroy.
So after that, transport->assoc is actually an unavailable memory address
in sctp_hash_cmp. Although sctp_hash_cmp is under rcu_read_lock, it still
can not avoid this, as assoc is not freed by RCU.
This patch is to hold the transport before checking it's members with
sctp_transport_hold, in which it checks the refcnt first, holds it if
it's not 0.
Fixes: 4f00878126 ("sctp: apply rhashtable api to send/recv path")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-----BEGIN PGP SIGNATURE-----
iQIcBAABAgAGBQJX1xA0AAoJEEEQszewGV1z6X4QAMcgpRoBZu1sImOxzslHBO7e
MAqpbKczZwXVWxBLurQttIlIFL64jccLrmFNQ8Jurxkh/tKBlxNngtj0AlpSCiX8
qxfHhXymnIR3BRXvbXaGO7ddmPv3BXcThvKEAyKPBV7BBbHpWpBxgKbLiNG+ykrA
4kiJCtgmbKgUrdj2u5T7U5Ne+fHcspP4HFjzLPoVVapSkG21llOZK/GIj/lVZ63o
pNIMf95ut/+t9Vw5Wd+lCtAI3L2hYeK5K259mIo97yv1mDXVFuPZGcNFIK7F8UWF
pM6e3IftHQm/ALDgzBr3r+bI3CXGS8FySDeS5ds/Gwfp48fSkjIDh0R0wVmJZBJj
7FYGLnTESYQuQrF9D0cPJUemMu/lS2kqvxobiqqgPDoOy+RoWCeTXbhWeiokrVph
hWXfWm2VdvBsF3I/7/HuhttTekPosZ8XfUliw4XDSAc5Qvbf19AMckGtZ7KFPL8R
5s5oZBrLT2OADYboeIJgvnGydyym/JEBJ4vCHK6oy447mS/PgQGZh6Kie3eZIVkZ
wPddp3XQtz2Af2P9PqtpadBWOqn4xHiTUPF+4lrMvruXkURPzdcQdsLyOIKnVDge
P+Sbt0LHMzh776EdIp7mipQOaz3vlAKXFSW79eV+vwaG7LKbF48TajcjaGl6Ccmu
tJUB2mgz6LmkLVQnf+Jh
=C78b
-----END PGP SIGNATURE-----
Merge tag 'clcd-nomadik' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/dt
Pull "CLCD graphics on the Nomadik NHK15" from Linus Walleij:
* tag 'clcd-nomadik' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
ARM: dts: add the CLCD LCD display to the NHK15
ARM: dts: add PMU to the NHK15 device tree
ARM: nomadik: select MFD_SYSCON
dt-bindings: Add TPO TPG110 binding
dt-bindings: add vendor TPO
ARM: dts: add STMPE PWM to the NHK15 device tree
Fixes the following sparse warning:
drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c:172:1: warning:
symbol 'stm32_dwmac_pm_ops' was not declared. Should it be static?
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Fix missing unlock before return from function macb_start_xmit()
in the error handling case.
Fixes: 007e4ba3ee ("net: macb: initialize checksum when using
checksum offloading")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
- Add SoC support for i.MX7 Solo which is a reduced version of i.MX7
Dual.
- New board support: Gateworks Ventana i.MX6Q/DL GW553x, Inverse Path
i.MX53 USB armory, i.MX6Q/DL TS-4900 from Technologic Systems,
i.MX6UL GEA M6UL modules from Engicam, i.MX7 Solo Warp7 board.
- Add DMA and IPU CSI devices for i.MX53 SoC support.
- Refine i.MX7 Dual SoC DTS as a preparation of i.MX7 Solo support.
- Use of_graph dt nodes to describe the panel for vf610-colibri and
ls1021a-twr boards.
- Add gpio-ranges property to i.MX6 GPIO controllers, which will be
useful when GPIO driver is changed to request pad configuration as
GPIO function.
- Random device additions or small changes for various board support.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJX1lb5AAoJEFBXWFqHsHzOBI0H/1ynv4DnmCds1eBS8yjqYJnH
bM02BSwV2gwVQaDljTJCDNoDFMGM3aNjnWge1v4UsfIyDPploMCFi4ympPNsCx3w
VYB+TRQFG6WHIyd6lHBd+VqeTNgPz+LAhpdrNloZecUUIBlpD8i+8WpDw45ufE7b
A7jRIaFWnBjMEsUsG/To5PQDI17YwtkRaht2gq+3rwRdk2hbeVlg05JUcwn1+eBB
DnccJUTy4zZd09W7MRMRM2FejYCququCCfH4is8+1iVLVixwpjEKBHA2w8GatLtn
e8T+ie/FWIizlnK4Jadba1tcRmW8PlX6UAzgWjGia27G6deHQ1x/0YL9eqDsAP0=
=CNTd
-----END PGP SIGNATURE-----
Merge tag 'imx-dt-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt
Pull "i.MX device tree changes for 4.9" from Shawn Guo:
- Add SoC support for i.MX7 Solo which is a reduced version of i.MX7
Dual.
- New board support: Gateworks Ventana i.MX6Q/DL GW553x, Inverse Path
i.MX53 USB armory, i.MX6Q/DL TS-4900 from Technologic Systems,
i.MX6UL GEA M6UL modules from Engicam, i.MX7 Solo Warp7 board.
- Add DMA and IPU CSI devices for i.MX53 SoC support.
- Refine i.MX7 Dual SoC DTS as a preparation of i.MX7 Solo support.
- Use of_graph dt nodes to describe the panel for vf610-colibri and
ls1021a-twr boards.
- Add gpio-ranges property to i.MX6 GPIO controllers, which will be
useful when GPIO driver is changed to request pad configuration as
GPIO function.
- Random device additions or small changes for various board support.
* tag 'imx-dt-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (41 commits)
ARM: dts: add gpio-ranges property to iMX GPIO controllers
ARM: dts: imx35: add iim module to imx35.dtsi
ARM: dts: vf610-colibri: use of_graph dt nodes to describe the panel
ARM: dts: ls1021a: Add of_graph dt nodes to describe the panel
ARM: dts: imx53: add support for USB armory board
devicetree: Add vendor prefix for Inverse Path
ARM: dts: imx7s-warp: Add Bluetooth support
ARM: dts: imx7s-warp: Add User Button support
ARM: dts: imx7s-warp: Enable I2C2 device support
ARM: dts: imx6ul-geam: Add Engicam IMX6UL GEA M6UL initial support
ARM: dts: imx6ul iomuxc syscon is compatible to imx6q
ARM: dts: imx7-colibri: add Audio support
ARM: dts: imx7-colibri: add basic supply regulators
ARM: dts: imx7-colibri: move SD-card to module level
ARM: dts: imx6sx: Add GPU bindings
ARM: dts: imx7s-warp: Let the codec control MCLK pinctrl
ARM: dts: imx6ul-pico-hobbit: Use WDOG_B pin reset
ARM: dts: imx6q-bx50v3: configure unused pca953x pins
ARM: dts: imx6sx: document SION necessity of ENET1_REF_CLK1
ARM: dts: imx7s-warp: Use WDOG_B pin reset
...
We create a procfs directory for every PCI bus. Previously, the directory
name was just the bus number, so using the same bus number in different
domains caused a kernel crash when we tried to create a duplicate
directory.
Make pci_proc_domain() return the domain number, so procfs directories for
buses in domain 0 are named with just the bus number, and directories for
buses in other domains include both the domain number and the bus number.
[bhelgaas: changelog]
Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Split the DTS files in per-revision variants
-----BEGIN PGP SIGNATURE-----
iQIcBAABAgAGBQJX0rCKAAoJEEEQszewGV1zfxkQAKYtCbDqM84kQjk6ac4iUGVQ
/04ZFQ/GDa8M2KycEe5Zh1UzEdwX0ErKZpjdHVujZwC5TS+eDvzrqnvdmtq/Ef5F
NwbI+17tQTqgW+/uSL5u0E7b00Jd9XqEeQILlZxwAn8fl2iy5DYBVHmgx8/cGNzr
MRf+Kd+kJuC5PwSIuIP+yEGePZAVrAwcz5oHHuPUWSnT//VvM7vF49wO249TJXIq
wOa/u2cQclIPl58jCHd0LL7mfst/3bHTT+erjoGmEwRuKCFopYE/sgrkoVbI0vuL
oFI/MsXUP5y5IIziNL5PPhQPiZFO4fjnzdFda4EFj1r69uv50pIEztAK45o410Us
1ES/aEEWvYDiVY9wnUsZXjkQY0NUIxASvNkeBrzNrqR/XGLxNL5JcwsLEJJMUr35
bIhMKfoLEGjLsTcctDZJon15fp+eNnbS+usGNat2n94/Rmdaxl7OvorRhgpPyx37
T90gw0b9BmAUXlR8C4V6eY2z5LnD5NipcPXN2SZk8pASP/PAdM2Zwi8URUPmTEIG
M4R8LJKWHUleALmR1L67wQ+U/WwgfVpBpKKFaguYIcXsWirs2QHwfpEPDo0ppMhw
m3wA4bEErblRuMy0kEMMBXim1zxt3K9rvZmafHvHpIyHstcZPQL/SFeHdDVk5XV9
DsgQnyN5zcuCt3ditKlx
=BnYS
-----END PGP SIGNATURE-----
Merge tag 'realview-dts-split' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/dt
Pull "RealView DTS file fixup and split" from Linus Walleij:
Fix the ethernet issue on revision D of the RealView EB
Split the DTS files in per-revision variants
* tag 'realview-dts-split' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
ARM: dts: add RealView EB rev D A9 MPCore variant
ARM: dts: split RealView EB 11MPCore variants
ARM: dts: add device tree for the RealView EB Rev D
ARM: dts: fix RealView EB SMSC ethernet version
We'd like to eventually remove NO_IRQ on powerpc, so remove usages of it
from powerpc-only drivers.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Contains a couple of cleanups for Tegra114 device trees.
-----BEGIN PGP SIGNATURE-----
iQIwBAABCAAaBQJX0tEvExx0cmVkaW5nQG52aWRpYS5jb20ACgkQ3SOs138+s6EL
oxAApNxkPaZJdkbJ5W1NE/laLuXANEV2KCGIqY0li7/WBDwvypjcPb851/ZsFqJG
pcLej2bZ6hvMUztAikiO0Re2fnlLwujPY0grbQbLUkkUDeekh+iqbLC57a7ENo+N
sag7avHlMBSzx2tUFCII+Wy+TLdSNd2S6zlh7DRWYYeCticjWTI9BL6oAqwQ0fG4
2AM2JbHZwSo3cqb3UJnHQFpwyuwx6aiuJpsx+R3o1AR2uyfMJjW5KqCF0ujG2RDU
FKf354FP2d86B40q+3c8ipWMjtER3aP5AUJHpYtIiC+HVJJnEgo/hVrc88PvfHcb
dm55mM/eZyA5hRKUfDBF2hFU2oQx5m9t8+weAX82YQYMArQF1TEbhPGWNv+rPQZh
eTxTxKGgkDN7sWwsd51jgJXt+cIlJOwbI2xcTINKpBOJKrQcaRr7YsF1jwcXSKzw
BUAUxhzHho4oOiuP63ZwHrHU5DG9vw8AB+eySrbQ8O7BTKqq2MrKFiO/NR1zz0ea
nyMwjmduqYKT6nmeyRLe1F4BbwteMO82dCSCEyE7wRXOnAbFHwHFvQ/gRImQgMpY
TsxA929hNiqZKjMEpj35sazbRAo/VHkeBD/B5VvZcNbvzGGtqYc/5dPNB2ttf7Qt
FG7At8GEiLuNBe5JRceCIXaNSqrfChel7T6RqvQfkUKP+Po=
=K9Kg
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-4.9-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt
Pull "ARM: tegra: Device tree changes for v4.9-rc1" from Thierry Reding:
Contains a couple of cleanups for Tegra114 device trees.
* tag 'tegra-for-4.9-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
ARM: tegra: Correct polarity for Tegra114 PMIC interrupt
ARM: tegra: Fix Tegra114 USB compatible values