* Re: [RESEND] brcmfmac support for BCM4359 sdio on arm64 ??
From: Christian Hewitt @ 2019-06-24 15:45 UTC (permalink / raw)
To: Arend Van Spriel
Cc: linux-wireless, brcm80211-dev-list.pdl, brcm80211-dev-list,
Wright.Feng, Neil Armstrong, Christoph Muellner
In-Reply-To: <37d2964d-1c2b-51bd-ac98-2cc171aa0c9c@broadcom.com>
On 11 Jun 2019, at 1:45 pm, Arend Van Spriel <arend.vanspriel@broadcom.com> wrote:
>
> The splat could be relevant. Maybe try the patch below to get actual values that are checked in the WARN_ON.
>
>> BCMDHD is also reported working with commits here: https://gitlab.com/baylibre/amlogic/atv/linux/commits/narmstrong/v5.1/aml/integ-5.1-bcmdhd but LibreELEC needs to support many different boards (with many different SDIO modules) from a single OS image, so BCMDHD is not the solution we need.
>> One additional patch I spotted mentioning BCM4359 (also from Wright Feng) was https://github.com/RobertCNelson/ti-linux-kernel-dev/blob/65f17112e1c883d3c9f3fa68837e5f9b5eb7cfad/patches/cypress/v4.14.52-2018_0928/cypress-patch/0073-non-upstream-reset-two-D11-cores-if-chip-has-two-D11.patch but it makes no difference (the dmesg log above is with this patch applied).
>> I don’t write code but am happy to build test kernels with suggested patches or explicit instructions. I’ve also CC’d LibreELEC colleague and linux-amlogic maintainer Neil Armstrong who can assist. NB: If direct access to hardware would help progress things I can easily organise remote access or get board samples shipped.
>> How can we resume the investigation?
>
> Let's try one step at a time ;-)
>
> Regards,
> Arend
> ---
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c b/driver
> index fc12598..e9b0986 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
> @@ -772,7 +772,8 @@ void brcmf_sdiod_sgtable_alloc(struct brcmf_sdio_dev *sdiod
> sdiodev->settings->bus.sdio.txglomsz);
> nents += (nents >> 4) + 1;
>
> - WARN_ON(nents > sdiodev->max_segment_count);
> + WARN(nents > sdiodev->max_segment_count, "max_seg_cnt=%u, host_max_seg=
> + sdiodev->max_segment_count, host->max_segs, nents);
>
> brcmf_dbg(TRACE, "nents=%d\n", nents);
> err = sg_alloc_table(&sdiodev->sgtable, nents, GFP_KERNEL);
> q
^ this patch is mangled - please send me the correct one so I can reply with information to move things forwards. Thanks.
Christian
^ permalink raw reply
* Re: [PATCH v2 2/3] nl80211: Limit certain commands to interface owner
From: Denis Kenzior @ 2019-06-24 17:36 UTC (permalink / raw)
To: Arend Van Spriel, Marcel Holtmann; +Cc: Johannes Berg, linux-wireless
In-Reply-To: <08e810c0-84ca-3a63-eee4-e4c09d41f92c@broadcom.com>
Hi Arend,
On 06/24/2019 03:39 AM, Arend Van Spriel wrote:
> On 6/22/2019 3:44 PM, Marcel Holtmann wrote:
>> Hi Arend,
>>
>>>>>> If the wdev object has been created (via NEW_INTERFACE) with
>>>>>> SOCKET_OWNER attribute set, then limit certain commands only to the
>>>>>> process that created that wdev.
>>>>>>
>>>>>> This can be used to make sure no other process on the system
>>>>>> interferes
>>>>>> by sending unwanted scans, action frames or any other funny business.
>>>>>
>>>>> The flag is a good addition opposed to having handlers deal with
>>>>> it. However, earlier motivation for SOCKET_OWNER use was about
>>>>> netlink multicast being unreliable, which I can agree to. However,
>>>>> avoiding
>>>> ??? I can't agree to that as I have no idea what you're talking
>>>> about :) Explain? SOCKET_OWNER was introduced mainly to bring down
>>>> links / scans / whatever in case the initiating process died. As a
>>>> side effect it also helped in the beginning when users ran iwd +
>>>> wpa_s simultaneously (by accident) and all sorts of fun ensued. We
>>>> then re-used SOCKET_OWNER for running EAPoL over NL80211. But
>>>> 'multicast unreliability' was never an issue that I recall?
>>>
>>> hmm. I tried searching in memory... of my email client but to no
>>> avail. I somehow recalled that netlink multicast was not guaranteed
>>> to be delivered/seen by all listeners.
>>>
>>>>> "funny business" is a different thing. Our testing infrastructure
>>>>> is doing all kind of funny business. Guess we will need to refrain
>>>>> from
>>>> So you're going behind the managing daemon's back and messing with
>>>> the kernel state... I guess the question is why? But really, if
>>>> wpa_s wants to tolerate that, that is their problem :) iwd doesn't
>>>> want to, nor do we want to deal with the various race conditions and
>>>> corner cases associated with that. Life is hard as it is ;)
>>>
>>> That's just it, right. This is what Marcel calls the real
>>> environment, but is it. The nl80211 is a kernel API and should that
>>> mean that there must be a managing daemon locking down APIs for other
>>> user-space tools to use. If I want a user-space app to show a radar
>>> screen with surrounding APs using scanning and FTM nl80211 commands
>>> it seems now it has to create a new interface and hope the resources
>>> are there for it to succeed. Where is my freedom in that? If I am
>>> using such an app don't you think I don't accept it could impact the
>>> managing daemon.
>>
>> if you are operating on a shared radio resource you have to have some
>> way of ensuring that nobody steals resources from you. Having an
>> external application that will also use scanning and other off-channel
>> operation will result in a bad experience. Especially if it involves
>> scanning. Currently we still have 3 or more parties triggering
>> scanning on nl80211. Essentially they are now fighting for radio time.
>> You have wpa_supplicant scanning, you have NetworkManager scanning and
>> you have the UI scanning. Now adding just another application that
>> just scans at its decided time location / direction finding is not
>> helping the situation.
>
> My app was just a hypothetical example. I understand your conundrum, but
> my point was that you can not know how a system is configured. Now for
> the SOCKET_OWNER I should say it does not provide you any guarantees. At
> best it improves your chances. With the nl80211 API being as it is, you
> can not rule out multiple application controlling the same device. The
> virtual interfaces can be guarded with SOCKET_OWNER, but in the end
+1, SOCKET_OWNER is a band-aid. But in the end this is a fairly simple
change. So we can have the managing daemon destroy any existing wdevs
and re-create them with SOCKET_OWNER set (can we get brcmfmac to support
this please?). This at least gives us a chance that nothing will
inadvertently cause interference. It won't stop other processes from
creating other wdevs or other funny business, but that is currently much
more rare anyway. In case it really becomes a problem, we can at least
say "Don't hold it that way."
> there is still one physical device and only if you are lucky you may
> come across a device with two physical radios, but most of them just
> have one. If you really want to be in control we should allow only one
> socket or at least only one "control" socket.
+1. I've been saying this for a while, there should only be a single
controlling socket/process, or at least an option for something like
that. But the current nl80211 design makes this quite hard. Hopefully
the recognition that this is needed will gain traction, until then we're
stuck with band-aids.
>
>> If our kernel cfg80211 / nl80211 would be smart enough to handle these
>> concurrent tasks, I would have little objection to let all clients do
>> whatever they want, but we don’t have that. I do not want an external
>> application messing with my planned radio time. And frankly if I am in
>> the middle of roaming, I don’t want to be delayed because some fancy
>> radar looking UI decides to start a full spectrum scan or blocks us
>> via an action frame that times out.
>
> The have been some efforts to handle concurrent use. For scheduled scan
> concurrency was added and critical proto primitives allow to temporarily
> disable scans when user-space needs it, eg. for EAPOL or DHCP exchange.
Which only a single driver seems to support, unfortunately.
Regards,
-Denis
>
>> With iwd we are moving towards the direction that we are utilizing the
>> information from access points and surrounding networks to
>> intelligently scan and reduce the time spent scanning to a minimum.
>> For us that is the way to improve WiFi experience for Linux.
>>
>> We have been through this with Bluetooth already years ago. You need a
>> central daemon that watches out for your radio utilization. Doing
>> anything behind the back of such a daemon is not going to work out
>> long term. Same applies to 2G/3G/LTE where even more tasks need to be
>> managed. And even wpa_supplicant has an internal mutex to control
>> radio time.
>
> Right. Given how nl80211 works today the only real control of radio time
> would need to be done in kernel space or go for the one "control" socket
> approach.
>
> Regards,
> Arend
^ permalink raw reply
* Re: [RESEND] brcmfmac support for BCM4359 sdio on arm64 ??
From: Arend Van Spriel @ 2019-06-24 19:04 UTC (permalink / raw)
To: Christian Hewitt
Cc: linux-wireless, brcm80211-dev-list.pdl, brcm80211-dev-list,
Wright.Feng, Neil Armstrong, Christoph Muellner
In-Reply-To: <30516339-BAD7-40F4-980B-D30CDF504A08@gmail.com>
Hi Christian,
Here it is. Hopefully unmangled this time.
Regards,
Arend
---
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
index ec129864cc9c..7be8064c6dc7 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
@@ -785,7 +785,8 @@ void brcmf_sdiod_sgtable_alloc(struct brcmf_sdio_dev
*sdiodev)
sdiodev->settings->bus.sdio.txglomsz);
nents += (nents >> 4) + 1;
- WARN_ON(nents > sdiodev->max_segment_count);
+ WARN(nents > sdiodev->max_segment_count, "max_seg_cnt=%u,
host_max_seg=%u, nents=%u\n",
+ sdiodev->max_segment_count, host->max_segs, nents);
brcmf_dbg(TRACE, "nents=%d\n", nents);
err = sg_alloc_table(&sdiodev->sgtable, nents, GFP_KERNEL);
^ permalink raw reply related
* Re: [PATCH] Add SPDX identifiers
From: Yegor Yefremov @ 2019-06-24 20:32 UTC (permalink / raw)
To: Johannes Berg; +Cc: linux-wireless
In-Reply-To: <693753473768100f07de573dd74bf4033618aed8.camel@sipsolutions.net>
On Mon, Jun 24, 2019 at 12:36 PM Johannes Berg
<johannes@sipsolutions.net> wrote:
>
>
> > > You haven't included any documentation that says what the SPDX
> > > identifier, and specifically the "ISC" tag means in the context of the
> > > project, and it's not even the same license text as on spdx.org.
> >
> > What about such definition?
> >
> > SPDX short-form identifiers provide information about licenses that
> > apply to the source file.
>
> It just bothers me that this isn't self-contained - you always have to
> go to spdx.org to really figure out what it means.
>
> > As for the exact license I wasn't sure myself. Buildroot identifies it
> > as ISC [1]. How do you define its license in SPDX terms?
>
> Not sure. Maybe you cannot?
>
> spdx.org says "ISC" is the license that says:
>
> [...] THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS [...]
>
> while the license here says:
>
> [...] THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS [...]
>
> (and the same in one other place)
>
>
> This might just be an oversight on spdx.org, since the license with "THE
> AUTHOR" *is* typically referred to as "ISC" (e.g.
> https://opensource.org/licenses/ISC), but it still means it's not
> actually identical?
>
> Maybe spdx.org should switch, but then it changing the license text ...
> what if anyone refers to it already?
>
> It's all not very obvious to me.
>
> The kernel side-stepped it and said "let's make it all self-contained",
> which seems saner to me.
I have asked SPDX and this is their answer:
https://lists.spdx.org/g/Spdx-legal/message/2631
^ permalink raw reply
* Re: iwlwifi module crash
From: Balakrishnan Balasubramanian @ 2019-06-24 21:36 UTC (permalink / raw)
To: b.K.il.h.u+tigbuh
Cc: Balakrishnan Balasubramanian, Emmanuel Grumbach, linux-wireless
In-Reply-To: <CAPuHQ=GLgDFQZDhGv34S4yhOXTQL7AkKOywSqqtyPD8Lv6cCPw@mail.gmail.com>
Thanks for the tip. In my system the path to remove was below:
/sys/devices/pci0000:00/0000:00:1c.2/0000:02:00.0/remove
Also symlinked here:
/sys/module/iwlwifi/drivers/pci:iwlwifi/0000:02:00.0/remove
I am now able to restore internet without system restart. Now I need to find a
way to do this automatically whenever internet goes down.
Thanks,
Bala
On Sunday, June 23, 2019 5:08:32 AM EDT b.K.il.h.u+tigbuh@gmail.com wrote:
> devices/ is probably just a symlink. Try to find it manually:
> find /sys -iname remove
> lspci
>
> The interesting thing is that my iwlwifi card started to do the same
> thing just recently (some weeks ago). However, I do suspend a lot and
> it only happens after resuming, but not after every resume (maybe
> 5-10%). It always came back after restarting except on one day when it
> needed three restarts, so maybe mine would be more about needing to
> reseat the card.
>
> > On Fri, Jun 14, 2019 at 4:54 AM Balakrishnan Balasubramanian <linux-
wireless-list@balki.me> wrote:
> >> The issue occured again today. I tried to restart the module
> >>
> >> > echo 1 > /sys/module/iwlwifi/devices/0000\:02\:00.0/remove
> >>
> >> There is no folder 'devices'
> >>
> >> zadesk% ls /sys/module/iwlwifi
> >> coresize drivers holders initsize initstate notes parameters
> >> refcnt
> >> sections srcversion taint uevent
> >>
> >> > echo 1 > /sys/bus/pci/rescan
> >>
> >> Attached the error when trying to rescan.
> >>
> >> Thanks,
> >> Bala
^ permalink raw reply
* [RESEND] linux-firmware: rsi: add firmware image for redpine 9116 chipset
From: Siva Rebbagondla @ 2019-06-25 3:10 UTC (permalink / raw)
To: linux-firmware; +Cc: linux-wireless, Siva Rebbagondla
These images will be loaded by rsi driver based on operating mode for
RS9116 chipset. Firmware version is 1.0.5b.
Added entry in WHENCE and updated copyright year.
Signed-off-by: Siva Rebbagondla <siva8118@gmail.com>
---
WHENCE | 8 +++++++-
rsi/rs9116_wlan.rps | Bin 0 -> 103872 bytes
rsi/rs9116_wlan_bt_classic.rps | Bin 0 -> 315840 bytes
3 files changed, 7 insertions(+), 1 deletion(-)
create mode 100644 rsi/rs9116_wlan.rps
create mode 100644 rsi/rs9116_wlan_bt_classic.rps
diff --git a/WHENCE b/WHENCE
index 217d336..e698e0d 100644
--- a/WHENCE
+++ b/WHENCE
@@ -3491,10 +3491,16 @@ Version: 1.6.1
File: rsi/rs9113_ap_bt_dual_mode.rps
Version: 1.6.1
+File: rsi/rs9116_wlan.rps
+Version: 1.0.5b
+
+File: rsi/rs9116_wlan_bt_classic.rps
+Version: 1.0.5b
+
Licence:
* Firmware is:
* Derived from proprietary unpublished source code,
- * Copyright (C) 2014 Redpine Signals Inc.
+ * Copyright (C) 2019 Redpine Signals Inc.
*
* Permission is hereby granted for the distribution of this firmware
* as part of Linux or other Open Source operating system kernel
diff --git a/rsi/rs9116_wlan.rps b/rsi/rs9116_wlan.rps
new file mode 100644
index 0000000000000000000000000000000000000000..46d511abc7a145f34bbf0c7ba4e3dd8178957ef9
GIT binary patch
literal 103872
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
HjspJ&{{GZ2
literal 0
HcmV?d00001
diff --git a/rsi/rs9116_wlan_bt_classic.rps b/rsi/rs9116_wlan_bt_classic.rps
new file mode 100644
index 0000000000000000000000000000000000000000..e4284152e3de2e5d834eff7f101d893ff0eca792
GIT binary patch
literal 315840
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
literal 0
HcmV?d00001
--
2.17.1
^ permalink raw reply related
* [PATCH v4 7/7] lib/hexdump.c: Optionally retain byte ordering
From: Alastair D'Silva @ 2019-06-25 3:17 UTC (permalink / raw)
To: alastair
Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, David Airlie,
Daniel Vetter, Dan Carpenter, Karsten Keil, Jassi Brar,
Tom Lendacky, David S. Miller, Jose Abreu, Kalle Valo,
Stanislaw Gruszka, Benson Leung, Enric Balletbo i Serra,
James E.J. Bottomley, Martin K. Petersen, Greg Kroah-Hartman,
Alexander Viro, Petr Mladek, Sergey Senozhatsky, Steven Rostedt,
David Laight, Andrew Morton, intel-gfx, dri-devel, linux-kernel,
netdev, ath10k, linux-wireless, linux-scsi, linux-fbdev, devel,
linux-fsdevel
In-Reply-To: <20190625031726.12173-1-alastair@au1.ibm.com>
From: Alastair D'Silva <alastair@d-silva.org>
The behaviour of hexdump groups is to print the data out as if
it was a native-endian number.
This patch tweaks the documentation to make this clear, and also
adds the HEXDUMP_RETAIN_BYTE_ORDER flag to allow groups of
multiple bytes to be printed without affecting the ordering
of the printed bytes.
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
---
include/linux/printk.h | 1 +
lib/hexdump.c | 30 ++++++++++++++++----
lib/test_hexdump.c | 62 ++++++++++++++++++++++++++++--------------
3 files changed, 68 insertions(+), 25 deletions(-)
diff --git a/include/linux/printk.h b/include/linux/printk.h
index 1d082291facf..ed1a79aa9695 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -491,6 +491,7 @@ enum {
#define HEXDUMP_2_GRP_SPACES BIT(5)
#define HEXDUMP_4_GRP_SPACES BIT(6)
#define HEXDUMP_8_GRP_SPACES BIT(7)
+#define HEXDUMP_RETAIN_BYTE_ORDER BIT(8)
extern int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
int groupsize, char *linebuf, size_t linebuflen,
diff --git a/lib/hexdump.c b/lib/hexdump.c
index e09e3cf8e595..29024eccf5da 100644
--- a/lib/hexdump.c
+++ b/lib/hexdump.c
@@ -127,7 +127,8 @@ static void separator_parameters(u64 flags, int groupsize, int *sep_chars,
* @buf: data blob to dump
* @len: number of bytes in the @buf
* @rowsize: number of bytes to print per line; must be a multiple of groupsize
- * @groupsize: number of bytes to print at a time (1, 2, 4, 8; default = 1)
+ * @groupsize: number of bytes to convert to a native endian number and print:
+ * 1, 2, 4, 8; default = 1
* @linebuf: where to put the converted data
* @linebuflen: total size of @linebuf, including space for terminating NUL
* @flags: A bitwise OR of the following flags:
@@ -138,6 +139,9 @@ static void separator_parameters(u64 flags, int groupsize, int *sep_chars,
* HEXDUMP_2_GRP_SPACES: insert a ' ' after every 2 groups
* HEXDUMP_4_GRP_SPACES: insert a ' ' after every 4 groups
* HEXDUMP_8_GRP_SPACES: insert a ' ' after every 8 groups
+ * HEXDUMP_RETAIN_BYTE_ORDER: Retain the byte ordering of groups
+ * instead of treating each group as a
+ * native-endian number
*
* hex_dump_to_buffer() works on one "line" of output at a time, converting
* <groupsize> bytes of input to hexadecimal (and optionally printable ASCII)
@@ -172,6 +176,7 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
int ret;
int sep_chars = 0;
char sep = 0;
+ bool big_endian = (flags & HEXDUMP_RETAIN_BYTE_ORDER) ? 1 : 0;
if (!is_power_of_2(groupsize) || groupsize > 8)
groupsize = 1;
@@ -203,10 +208,13 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
const u64 *ptr8 = buf;
for (j = 0; j < ngroups; j++) {
+ u64 val = big_endian ?
+ be64_to_cpu(get_unaligned(ptr8 + j)) :
+ get_unaligned(ptr8 + j);
ret = snprintf(linebuf + lx, linebuflen - lx,
"%s%16.16llx",
j ? group_separator(j, flags) : "",
- get_unaligned(ptr8 + j));
+ val);
if (ret >= linebuflen - lx)
goto overflow1;
lx += ret;
@@ -215,10 +223,14 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
const u32 *ptr4 = buf;
for (j = 0; j < ngroups; j++) {
+ u32 val = big_endian ?
+ be32_to_cpu(get_unaligned(ptr4 + j)) :
+ get_unaligned(ptr4 + j);
+
ret = snprintf(linebuf + lx, linebuflen - lx,
"%s%8.8x",
j ? group_separator(j, flags) : "",
- get_unaligned(ptr4 + j));
+ val);
if (ret >= linebuflen - lx)
goto overflow1;
lx += ret;
@@ -227,10 +239,14 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
const u16 *ptr2 = buf;
for (j = 0; j < ngroups; j++) {
+ u16 val = big_endian ?
+ be16_to_cpu(get_unaligned(ptr2 + j)) :
+ get_unaligned(ptr2 + j);
+
ret = snprintf(linebuf + lx, linebuflen - lx,
"%s%4.4x",
j ? group_separator(j, flags) : "",
- get_unaligned(ptr2 + j));
+ val);
if (ret >= linebuflen - lx)
goto overflow1;
lx += ret;
@@ -332,7 +348,8 @@ static void announce_skipped(const char *level, const char *prefix_str,
* @prefix_type: controls whether prefix of an offset, address, or none
* is printed (%DUMP_PREFIX_OFFSET, %DUMP_PREFIX_ADDRESS, %DUMP_PREFIX_NONE)
* @rowsize: number of bytes to print per line; must be a multiple of groupsize
- * @groupsize: number of bytes to print at a time (1, 2, 4, 8; default = 1)
+ * @groupsize: number of bytes to convert to a native endian number and print:
+ * 1, 2, 4, 8; default = 1
* @buf: data blob to dump
* @len: number of bytes in the @buf
* @ascii: include ASCII after the hex output
@@ -343,6 +360,9 @@ static void announce_skipped(const char *level, const char *prefix_str,
* HEXDUMP_2_GRP_LINES: insert a '|' after every 2 groups
* HEXDUMP_4_GRP_LINES: insert a '|' after every 4 groups
* HEXDUMP_8_GRP_LINES: insert a '|' after every 8 groups
+ * HEXDUMP_RETAIN_BYTE_ORDER: Retain the byte ordering of groups
+ * instead of treating each group as a
+ * native-endian number
*
* Given a buffer of u8 data, print_hex_dump() prints a hex + ASCII dump
* to the kernel log at the specified kernel log level, with an optional
diff --git a/lib/test_hexdump.c b/lib/test_hexdump.c
index ad43218437f1..d2cfcb3e2d2b 100644
--- a/lib/test_hexdump.c
+++ b/lib/test_hexdump.c
@@ -98,14 +98,15 @@ static unsigned failed_tests __initdata;
static void __init test_hexdump_prepare_test(size_t len, int rowsize,
int groupsize, char *test,
- size_t testlen, bool ascii)
+ size_t testlen, u64 flags)
{
char *p;
const char * const *result;
size_t l = len;
int gs = groupsize, rs = rowsize;
unsigned int i;
- const bool is_be = IS_ENABLED(CONFIG_CPU_BIG_ENDIAN);
+ const bool is_be = IS_ENABLED(CONFIG_CPU_BIG_ENDIAN) ||
+ (flags & HEXDUMP_RETAIN_BYTE_ORDER);
if (l > rs)
l = rs;
@@ -142,7 +143,7 @@ static void __init test_hexdump_prepare_test(size_t len, int rowsize,
p--;
/* ASCII part */
- if (ascii) {
+ if (flags & HEXDUMP_ASCII) {
do {
*p++ = ' ';
} while (p < test + rs * 2 + rs / gs + 1);
@@ -157,7 +158,7 @@ static void __init test_hexdump_prepare_test(size_t len, int rowsize,
#define TEST_HEXDUMP_BUF_SIZE (64 * 3 + 2 + 64 + 1)
static void __init test_hexdump(size_t len, int rowsize, int groupsize,
- bool ascii)
+ u64 flags)
{
char test[TEST_HEXDUMP_BUF_SIZE];
char real[TEST_HEXDUMP_BUF_SIZE];
@@ -166,12 +167,11 @@ static void __init test_hexdump(size_t len, int rowsize, int groupsize,
memset(real, FILL_CHAR, sizeof(real));
hex_dump_to_buffer_ext(data_b, len, rowsize, groupsize,
- real, sizeof(real),
- ascii ? HEXDUMP_ASCII : 0);
+ real, sizeof(real), flags);
memset(test, FILL_CHAR, sizeof(test));
test_hexdump_prepare_test(len, rowsize, groupsize, test, sizeof(test),
- ascii);
+ flags);
if (memcmp(test, real, TEST_HEXDUMP_BUF_SIZE)) {
pr_err("Len: %zu row: %d group: %d\n", len, rowsize, groupsize);
@@ -194,7 +194,7 @@ static void __init test_hexdump_set(int rowsize, bool ascii)
static void __init test_hexdump_overflow(size_t buflen, size_t len,
int rowsize, int groupsize,
- bool ascii)
+ u64 flags)
{
char test[TEST_HEXDUMP_BUF_SIZE];
char buf[TEST_HEXDUMP_BUF_SIZE];
@@ -206,8 +206,7 @@ static void __init test_hexdump_overflow(size_t buflen, size_t len,
memset(buf, FILL_CHAR, sizeof(buf));
rc = hex_dump_to_buffer_ext(data_b, len, rowsize, groupsize,
- buf, buflen,
- ascii ? HEXDUMP_ASCII : 0);
+ buf, buflen, flags);
/*
* Caller must provide the data length multiple of groupsize. The
@@ -224,12 +223,12 @@ static void __init test_hexdump_overflow(size_t buflen, size_t len,
- 1 /* no trailing space */;
}
- expected_len = (ascii) ? ascii_len : hex_len;
+ expected_len = (flags & HEXDUMP_ASCII) ? ascii_len : hex_len;
fill_point = min_t(int, expected_len + 1, buflen);
if (buflen) {
test_hexdump_prepare_test(len, rowsize, groupsize, test,
- sizeof(test), ascii);
+ sizeof(test), flags);
test[fill_point - 1] = '\0';
}
memset(test + fill_point, FILL_CHAR, sizeof(test) - fill_point);
@@ -239,8 +238,8 @@ static void __init test_hexdump_overflow(size_t buflen, size_t len,
buf[sizeof(buf) - 1] = '\0';
if (!match) {
- pr_err("rowsize: %u groupsize: %u ascii: %d Len: %zu buflen: %zu strlen: %zu\n",
- rowsize, groupsize, ascii, len, buflen,
+ pr_err("rowsize: %u groupsize: %u flags: %llx Len: %zu buflen: %zu strlen: %zu\n",
+ rowsize, groupsize, flags, len, buflen,
strnlen(buf, sizeof(buf)));
pr_err("Result: %d '%-.*s'\n", rc, (int)buflen, buf);
pr_err("Expect: %d '%-.*s'\n", expected_len, (int)buflen, test);
@@ -249,7 +248,7 @@ static void __init test_hexdump_overflow(size_t buflen, size_t len,
}
}
-static void __init test_hexdump_overflow_set(size_t buflen, bool ascii)
+static void __init test_hexdump_overflow_set(size_t buflen, u64 flags)
{
unsigned int i = 0;
int rs = (get_random_int() % 4 + 1) * 16;
@@ -258,7 +257,7 @@ static void __init test_hexdump_overflow_set(size_t buflen, bool ascii)
int gs = 1 << i;
size_t len = get_random_int() % rs + gs;
- test_hexdump_overflow(buflen, rounddown(len, gs), rs, gs, ascii);
+ test_hexdump_overflow(buflen, rounddown(len, gs), rs, gs, flags);
} while (i++ < 3);
}
@@ -266,20 +265,43 @@ static int __init test_hexdump_init(void)
{
unsigned int i;
int rowsize;
+ u64 flags;
+ flags = 0;
rowsize = (get_random_int() % 4 + 1) * 16;
for (i = 0; i < 16; i++)
- test_hexdump_set(rowsize, false);
+ test_hexdump_set(rowsize, flags);
+ flags = HEXDUMP_ASCII;
rowsize = (get_random_int() % 4 + 1) * 16;
for (i = 0; i < 16; i++)
- test_hexdump_set(rowsize, true);
+ test_hexdump_set(rowsize, flags);
+ flags = HEXDUMP_RETAIN_BYTE_ORDER;
+ rowsize = (get_random_int() % 2 + 1) * 16;
+ for (i = 0; i < 16; i++)
+ test_hexdump_set(rowsize, flags);
+
+ flags = HEXDUMP_ASCII | HEXDUMP_RETAIN_BYTE_ORDER;
+ rowsize = (get_random_int() % 2 + 1) * 16;
+ for (i = 0; i < 16; i++)
+ test_hexdump_set(rowsize, flags);
+
+ flags = 0;
+ for (i = 0; i <= TEST_HEXDUMP_BUF_SIZE; i++)
+ test_hexdump_overflow_set(i, flags);
+
+ flags = HEXDUMP_ASCII;
+ for (i = 0; i <= TEST_HEXDUMP_BUF_SIZE; i++)
+ test_hexdump_overflow_set(i, flags);
+
+ flags = HEXDUMP_RETAIN_BYTE_ORDER;
for (i = 0; i <= TEST_HEXDUMP_BUF_SIZE; i++)
- test_hexdump_overflow_set(i, false);
+ test_hexdump_overflow_set(i, flags);
+ flags = HEXDUMP_ASCII | HEXDUMP_RETAIN_BYTE_ORDER;
for (i = 0; i <= TEST_HEXDUMP_BUF_SIZE; i++)
- test_hexdump_overflow_set(i, true);
+ test_hexdump_overflow_set(i, flags);
if (failed_tests == 0)
pr_info("all %u tests passed\n", total_tests);
--
2.21.0
^ permalink raw reply related
* [PATCH v4 6/7] lib/hexdump.c: Allow multiple groups to be separated by spaces
From: Alastair D'Silva @ 2019-06-25 3:17 UTC (permalink / raw)
To: alastair
Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, David Airlie,
Daniel Vetter, Dan Carpenter, Karsten Keil, Jassi Brar,
Tom Lendacky, David S. Miller, Jose Abreu, Kalle Valo,
Stanislaw Gruszka, Benson Leung, Enric Balletbo i Serra,
James E.J. Bottomley, Martin K. Petersen, Greg Kroah-Hartman,
Alexander Viro, Petr Mladek, Sergey Senozhatsky, Steven Rostedt,
David Laight, Andrew Morton, intel-gfx, dri-devel, linux-kernel,
netdev, ath10k, linux-wireless, linux-scsi, linux-fbdev, devel,
linux-fsdevel
In-Reply-To: <20190625031726.12173-1-alastair@au1.ibm.com>
From: Alastair D'Silva <alastair@d-silva.org>
Similar to the previous patch, this patch separates groups by 2 spaces for
the hex fields, and 1 space for the ASCII field.
eg.
buf:00000000: 454d414e 43415053 4e495f45 00584544 NAMESPAC E_INDEX.
buf:00000010: 00000000 00000002 00000000 00000000 ........ ........
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
---
include/linux/printk.h | 3 ++
lib/hexdump.c | 65 +++++++++++++++++++++++++++++++-----------
2 files changed, 52 insertions(+), 16 deletions(-)
diff --git a/include/linux/printk.h b/include/linux/printk.h
index ae80d7af82ab..1d082291facf 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -488,6 +488,9 @@ enum {
#define HEXDUMP_2_GRP_LINES BIT(2)
#define HEXDUMP_4_GRP_LINES BIT(3)
#define HEXDUMP_8_GRP_LINES BIT(4)
+#define HEXDUMP_2_GRP_SPACES BIT(5)
+#define HEXDUMP_4_GRP_SPACES BIT(6)
+#define HEXDUMP_8_GRP_SPACES BIT(7)
extern int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
int groupsize, char *linebuf, size_t linebuflen,
diff --git a/lib/hexdump.c b/lib/hexdump.c
index 4dcf759fe048..e09e3cf8e595 100644
--- a/lib/hexdump.c
+++ b/lib/hexdump.c
@@ -91,9 +91,37 @@ static const char *group_separator(int group, u64 flags)
if ((flags & HEXDUMP_2_GRP_LINES) && !((group) % 2))
return "|";
+ if ((flags & HEXDUMP_8_GRP_SPACES) && !((group) % 8))
+ return " ";
+
+ if ((flags & HEXDUMP_4_GRP_SPACES) && !((group) % 4))
+ return " ";
+
+ if ((flags & HEXDUMP_2_GRP_SPACES) && !((group) % 2))
+ return " ";
+
return " ";
}
+static void separator_parameters(u64 flags, int groupsize, int *sep_chars,
+ char *sep)
+{
+ if (flags & (HEXDUMP_2_GRP_LINES | HEXDUMP_2_GRP_SPACES))
+ *sep_chars = groupsize * 2;
+ if (flags & (HEXDUMP_4_GRP_LINES | HEXDUMP_4_GRP_SPACES))
+ *sep_chars = groupsize * 4;
+ if (flags & (HEXDUMP_8_GRP_LINES | HEXDUMP_8_GRP_SPACES))
+ *sep_chars = groupsize * 8;
+
+ if (flags & (HEXDUMP_2_GRP_LINES | HEXDUMP_4_GRP_LINES |
+ HEXDUMP_8_GRP_LINES))
+ *sep = '|';
+
+ if (flags & (HEXDUMP_2_GRP_SPACES | HEXDUMP_4_GRP_SPACES |
+ HEXDUMP_8_GRP_SPACES))
+ *sep = ' ';
+}
+
/**
* hex_dump_to_buffer - convert a blob of data to "hex ASCII" in memory
* @buf: data blob to dump
@@ -107,6 +135,9 @@ static const char *group_separator(int group, u64 flags)
* HEXDUMP_2_GRP_LINES: insert a '|' after every 2 groups
* HEXDUMP_4_GRP_LINES: insert a '|' after every 4 groups
* HEXDUMP_8_GRP_LINES: insert a '|' after every 8 groups
+ * HEXDUMP_2_GRP_SPACES: insert a ' ' after every 2 groups
+ * HEXDUMP_4_GRP_SPACES: insert a ' ' after every 4 groups
+ * HEXDUMP_8_GRP_SPACES: insert a ' ' after every 8 groups
*
* hex_dump_to_buffer() works on one "line" of output at a time, converting
* <groupsize> bytes of input to hexadecimal (and optionally printable ASCII)
@@ -139,7 +170,8 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
int j, lx = 0;
int ascii_column;
int ret;
- int line_chars = 0;
+ int sep_chars = 0;
+ char sep = 0;
if (!is_power_of_2(groupsize) || groupsize > 8)
groupsize = 1;
@@ -153,8 +185,14 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
len = rowsize;
ngroups = len / groupsize;
+
ascii_column = rowsize * 2 + rowsize / groupsize + 1;
+ // space separators use 2 spaces in the hex output
+ separator_parameters(flags, groupsize, &sep_chars, &sep);
+ if (sep == ' ')
+ ascii_column += rowsize / sep_chars;
+
if (!linebuflen)
goto overflow1;
@@ -222,24 +260,17 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
linebuf[lx++] = ' ';
}
- if (flags & HEXDUMP_2_GRP_LINES)
- line_chars = groupsize * 2;
- if (flags & HEXDUMP_4_GRP_LINES)
- line_chars = groupsize * 4;
- if (flags & HEXDUMP_8_GRP_LINES)
- line_chars = groupsize * 8;
-
for (j = 0; j < len; j++) {
if (linebuflen < lx + 2)
goto overflow2;
ch = ptr[j];
linebuf[lx++] = (isascii(ch) && isprint(ch)) ? ch : '.';
- if (line_chars && ((j + 1) < len) &&
- ((j + 1) % line_chars == 0)) {
+ if (sep_chars && ((j + 1) < len) &&
+ ((j + 1) % sep_chars == 0)) {
if (linebuflen < lx + 2)
goto overflow2;
- linebuf[lx++] = '|';
+ linebuf[lx++] = sep;
}
}
nil:
@@ -248,9 +279,11 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
overflow2:
linebuf[lx++] = '\0';
overflow1:
- return (flags & HEXDUMP_ASCII) ? ascii_column + len +
- (len - 1) / line_chars :
- (groupsize * 2 + 1) * ngroups - 1;
+ if (flags & HEXDUMP_ASCII)
+ return ascii_column + len + (len - 1) / sep_chars;
+
+ return groupsize * 2 * ngroups +
+ ((sep == ' ') ? 2 : 1) * (ngroups - 1);
}
EXPORT_SYMBOL(hex_dump_to_buffer_ext);
@@ -345,9 +378,9 @@ void print_hex_dump_ext(const char *level, const char *prefix_str,
/*
* Worst case line length:
* 2 hex chars + space per byte in, 2 spaces, 1 char per byte in,
- * 1 char per N groups, NULL
+ * 2 char per N groups, NULL
*/
- linebuf_len = rowsize * 3 + 2 + rowsize + rowsize / groupsize + 1;
+ linebuf_len = rowsize * 3 + 2 + rowsize + 2 * rowsize / groupsize + 1;
linebuf = kzalloc(linebuf_len, GFP_KERNEL);
if (!linebuf) {
printk("%s%shexdump: Could not alloc %u bytes for buffer\n",
--
2.21.0
^ permalink raw reply related
* [PATCH v4 5/7] lib/hexdump.c: Allow multiple groups to be separated by lines '|'
From: Alastair D'Silva @ 2019-06-25 3:17 UTC (permalink / raw)
To: alastair
Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, David Airlie,
Daniel Vetter, Dan Carpenter, Karsten Keil, Jassi Brar,
Tom Lendacky, David S. Miller, Jose Abreu, Kalle Valo,
Stanislaw Gruszka, Benson Leung, Enric Balletbo i Serra,
James E.J. Bottomley, Martin K. Petersen, Greg Kroah-Hartman,
Alexander Viro, Petr Mladek, Sergey Senozhatsky, Steven Rostedt,
David Laight, Andrew Morton, intel-gfx, dri-devel, linux-kernel,
netdev, ath10k, linux-wireless, linux-scsi, linux-fbdev, devel,
linux-fsdevel
In-Reply-To: <20190625031726.12173-1-alastair@au1.ibm.com>
From: Alastair D'Silva <alastair@d-silva.org>
With the wider display format, it can become hard to identify how many
bytes into the line you are looking at.
The patch adds new flags to hex_dump_to_buffer() and print_hex_dump() to
print vertical lines to separate every N groups of bytes.
eg.
buf:00000000: 454d414e 43415053|4e495f45 00584544 NAMESPAC|E_INDEX.
buf:00000010: 00000000 00000002|00000000 00000000 ........|........
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
---
include/linux/printk.h | 3 +++
lib/hexdump.c | 59 ++++++++++++++++++++++++++++++++++++------
2 files changed, 54 insertions(+), 8 deletions(-)
diff --git a/include/linux/printk.h b/include/linux/printk.h
index f0761b3a2d5d..ae80d7af82ab 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -485,6 +485,9 @@ enum {
#define HEXDUMP_ASCII BIT(0)
#define HEXDUMP_SUPPRESS_REPEATED BIT(1)
+#define HEXDUMP_2_GRP_LINES BIT(2)
+#define HEXDUMP_4_GRP_LINES BIT(3)
+#define HEXDUMP_8_GRP_LINES BIT(4)
extern int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
int groupsize, char *linebuf, size_t linebuflen,
diff --git a/lib/hexdump.c b/lib/hexdump.c
index 1bf838c1a568..4dcf759fe048 100644
--- a/lib/hexdump.c
+++ b/lib/hexdump.c
@@ -77,6 +77,23 @@ char *bin2hex(char *dst, const void *src, size_t count)
}
EXPORT_SYMBOL(bin2hex);
+static const char *group_separator(int group, u64 flags)
+{
+ if (group == 0)
+ return " ";
+
+ if ((flags & HEXDUMP_8_GRP_LINES) && !((group) % 8))
+ return "|";
+
+ if ((flags & HEXDUMP_4_GRP_LINES) && !((group) % 4))
+ return "|";
+
+ if ((flags & HEXDUMP_2_GRP_LINES) && !((group) % 2))
+ return "|";
+
+ return " ";
+}
+
/**
* hex_dump_to_buffer - convert a blob of data to "hex ASCII" in memory
* @buf: data blob to dump
@@ -87,6 +104,9 @@ EXPORT_SYMBOL(bin2hex);
* @linebuflen: total size of @linebuf, including space for terminating NUL
* @flags: A bitwise OR of the following flags:
* HEXDUMP_ASCII: include ASCII after the hex output
+ * HEXDUMP_2_GRP_LINES: insert a '|' after every 2 groups
+ * HEXDUMP_4_GRP_LINES: insert a '|' after every 4 groups
+ * HEXDUMP_8_GRP_LINES: insert a '|' after every 8 groups
*
* hex_dump_to_buffer() works on one "line" of output at a time, converting
* <groupsize> bytes of input to hexadecimal (and optionally printable ASCII)
@@ -119,6 +139,7 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
int j, lx = 0;
int ascii_column;
int ret;
+ int line_chars = 0;
if (!is_power_of_2(groupsize) || groupsize > 8)
groupsize = 1;
@@ -145,7 +166,8 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
for (j = 0; j < ngroups; j++) {
ret = snprintf(linebuf + lx, linebuflen - lx,
- "%s%16.16llx", j ? " " : "",
+ "%s%16.16llx",
+ j ? group_separator(j, flags) : "",
get_unaligned(ptr8 + j));
if (ret >= linebuflen - lx)
goto overflow1;
@@ -156,7 +178,8 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
for (j = 0; j < ngroups; j++) {
ret = snprintf(linebuf + lx, linebuflen - lx,
- "%s%8.8x", j ? " " : "",
+ "%s%8.8x",
+ j ? group_separator(j, flags) : "",
get_unaligned(ptr4 + j));
if (ret >= linebuflen - lx)
goto overflow1;
@@ -167,7 +190,8 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
for (j = 0; j < ngroups; j++) {
ret = snprintf(linebuf + lx, linebuflen - lx,
- "%s%4.4x", j ? " " : "",
+ "%s%4.4x",
+ j ? group_separator(j, flags) : "",
get_unaligned(ptr2 + j));
if (ret >= linebuflen - lx)
goto overflow1;
@@ -197,11 +221,26 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
goto overflow2;
linebuf[lx++] = ' ';
}
+
+ if (flags & HEXDUMP_2_GRP_LINES)
+ line_chars = groupsize * 2;
+ if (flags & HEXDUMP_4_GRP_LINES)
+ line_chars = groupsize * 4;
+ if (flags & HEXDUMP_8_GRP_LINES)
+ line_chars = groupsize * 8;
+
for (j = 0; j < len; j++) {
if (linebuflen < lx + 2)
goto overflow2;
ch = ptr[j];
linebuf[lx++] = (isascii(ch) && isprint(ch)) ? ch : '.';
+
+ if (line_chars && ((j + 1) < len) &&
+ ((j + 1) % line_chars == 0)) {
+ if (linebuflen < lx + 2)
+ goto overflow2;
+ linebuf[lx++] = '|';
+ }
}
nil:
linebuf[lx] = '\0';
@@ -209,7 +248,8 @@ int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
overflow2:
linebuf[lx++] = '\0';
overflow1:
- return (flags & HEXDUMP_ASCII) ? ascii_column + len :
+ return (flags & HEXDUMP_ASCII) ? ascii_column + len +
+ (len - 1) / line_chars :
(groupsize * 2 + 1) * ngroups - 1;
}
EXPORT_SYMBOL(hex_dump_to_buffer_ext);
@@ -247,7 +287,7 @@ static void announce_skipped(const char *level, const char *prefix_str,
if (count == 0)
return;
- printk("%s%s ** Skipped %lu bytes of value 0x%x **\n",
+ printk("%s%s ** Skipped %lu bytes of value 0x%02x **\n",
level, prefix_str, count, val);
}
@@ -267,6 +307,9 @@ static void announce_skipped(const char *level, const char *prefix_str,
* HEXDUMP_ASCII: include ASCII after the hex output
* HEXDUMP_SUPPRESS_REPEATED: suppress repeated lines of identical
* bytes
+ * HEXDUMP_2_GRP_LINES: insert a '|' after every 2 groups
+ * HEXDUMP_4_GRP_LINES: insert a '|' after every 4 groups
+ * HEXDUMP_8_GRP_LINES: insert a '|' after every 8 groups
*
* Given a buffer of u8 data, print_hex_dump() prints a hex + ASCII dump
* to the kernel log at the specified kernel log level, with an optional
@@ -296,15 +339,15 @@ void print_hex_dump_ext(const char *level, const char *prefix_str,
u8 skipped_val = 0;
size_t skipped = 0;
-
if (rowsize % groupsize)
rowsize -= rowsize % groupsize;
/*
* Worst case line length:
- * 2 hex chars + space per byte in, 2 spaces, 1 char per byte in, NULL
+ * 2 hex chars + space per byte in, 2 spaces, 1 char per byte in,
+ * 1 char per N groups, NULL
*/
- linebuf_len = rowsize * 3 + 2 + rowsize + 1;
+ linebuf_len = rowsize * 3 + 2 + rowsize + rowsize / groupsize + 1;
linebuf = kzalloc(linebuf_len, GFP_KERNEL);
if (!linebuf) {
printk("%s%shexdump: Could not alloc %u bytes for buffer\n",
--
2.21.0
^ permalink raw reply related
* [PATCH v4 4/7] lib/hexdump.c: Replace ascii bool in hex_dump_to_buffer with flags
From: Alastair D'Silva @ 2019-06-25 3:17 UTC (permalink / raw)
To: alastair
Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, David Airlie,
Daniel Vetter, Dan Carpenter, Karsten Keil, Jassi Brar,
Tom Lendacky, David S. Miller, Jose Abreu, Kalle Valo,
Stanislaw Gruszka, Benson Leung, Enric Balletbo i Serra,
James E.J. Bottomley, Martin K. Petersen, Greg Kroah-Hartman,
Alexander Viro, Petr Mladek, Sergey Senozhatsky, Steven Rostedt,
David Laight, Andrew Morton, intel-gfx, dri-devel, linux-kernel,
netdev, ath10k, linux-wireless, linux-scsi, linux-fbdev, devel,
linux-fsdevel
In-Reply-To: <20190625031726.12173-1-alastair@au1.ibm.com>
From: Alastair D'Silva <alastair@d-silva.org>
In order to support additional features, rename hex_dump_to_buffer to
hex_dump_to_buffer_ext, and replace the ascii bool parameter with flags.
A wrapper is provided for callers that do not need anything but a basic
dump.
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
---
drivers/gpu/drm/i915/intel_engine_cs.c | 5 +-
drivers/isdn/hardware/mISDN/mISDNisar.c | 10 ++--
drivers/mailbox/mailbox-test.c | 8 ++--
drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 2 +-
.../net/ethernet/synopsys/dwc-xlgmac-common.c | 2 +-
drivers/net/wireless/ath/ath10k/debug.c | 7 +--
.../net/wireless/intel/iwlegacy/3945-mac.c | 4 +-
drivers/platform/chrome/wilco_ec/debugfs.c | 10 ++--
drivers/scsi/scsi_logging.c | 8 ++--
drivers/staging/fbtft/fbtft-core.c | 2 +-
fs/seq_file.c | 6 ++-
include/linux/printk.h | 46 +++++++++++++++++--
lib/hexdump.c | 24 +++++-----
lib/test_hexdump.c | 10 ++--
14 files changed, 94 insertions(+), 50 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
index eea9bec04f1b..64189a0e5ec9 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -1338,9 +1338,8 @@ static void hexdump(struct drm_printer *m, const void *buf, size_t len)
}
WARN_ON_ONCE(hex_dump_to_buffer(buf + pos, len - pos,
- rowsize, sizeof(u32),
- line, sizeof(line),
- false) >= sizeof(line));
+ rowsize, sizeof(u32), line,
+ sizeof(line)) >= sizeof(line));
drm_printf(m, "[%04zx] %s\n", pos, line);
prev = buf + pos;
diff --git a/drivers/isdn/hardware/mISDN/mISDNisar.c b/drivers/isdn/hardware/mISDN/mISDNisar.c
index fd5c52f37802..84455b521246 100644
--- a/drivers/isdn/hardware/mISDN/mISDNisar.c
+++ b/drivers/isdn/hardware/mISDN/mISDNisar.c
@@ -70,8 +70,9 @@ send_mbox(struct isar_hw *isar, u8 his, u8 creg, u8 len, u8 *msg)
int l = 0;
while (l < (int)len) {
- hex_dump_to_buffer(msg + l, len - l, 32, 1,
- isar->log, 256, 1);
+ hex_dump_to_buffer_ext(msg + l, len - l, 32, 1,
+ isar->log, 256,
+ HEXDUMP_ASCII);
pr_debug("%s: %s %02x: %s\n", isar->name,
__func__, l, isar->log);
l += 32;
@@ -99,8 +100,9 @@ rcv_mbox(struct isar_hw *isar, u8 *msg)
int l = 0;
while (l < (int)isar->clsb) {
- hex_dump_to_buffer(msg + l, isar->clsb - l, 32,
- 1, isar->log, 256, 1);
+ hex_dump_to_buffer_ext(msg + l, isar->clsb - l,
+ 32, 1, isar->log, 256,
+ HEXDUMP_ASCII);
pr_debug("%s: %s %02x: %s\n", isar->name,
__func__, l, isar->log);
l += 32;
diff --git a/drivers/mailbox/mailbox-test.c b/drivers/mailbox/mailbox-test.c
index 4555d678fadd..ce334f88a3ee 100644
--- a/drivers/mailbox/mailbox-test.c
+++ b/drivers/mailbox/mailbox-test.c
@@ -206,10 +206,10 @@ static ssize_t mbox_test_message_read(struct file *filp, char __user *userbuf,
ptr = tdev->rx_buffer;
while (l < MBOX_HEXDUMP_MAX_LEN) {
- hex_dump_to_buffer(ptr,
- MBOX_BYTES_PER_LINE,
- MBOX_BYTES_PER_LINE, 1, touser + l,
- MBOX_HEXDUMP_LINE_LEN, true);
+ hex_dump_to_buffer_ext(ptr,
+ MBOX_BYTES_PER_LINE,
+ MBOX_BYTES_PER_LINE, 1, touser + l,
+ MBOX_HEXDUMP_LINE_LEN, HEXDUMP_ASCII);
ptr += MBOX_BYTES_PER_LINE;
l += MBOX_HEXDUMP_LINE_LEN;
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
index 3dd0cecddba8..f0118fe35c41 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
+++ b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
@@ -2992,7 +2992,7 @@ void xgbe_print_pkt(struct net_device *netdev, struct sk_buff *skb, bool tx_rx)
unsigned int len = min(skb->len - i, 32U);
hex_dump_to_buffer(&skb->data[i], len, 32, 1,
- buffer, sizeof(buffer), false);
+ buffer, sizeof(buffer));
netdev_dbg(netdev, " %#06x: %s\n", i, buffer);
}
diff --git a/drivers/net/ethernet/synopsys/dwc-xlgmac-common.c b/drivers/net/ethernet/synopsys/dwc-xlgmac-common.c
index eb1c6b03c329..53991c123c4d 100644
--- a/drivers/net/ethernet/synopsys/dwc-xlgmac-common.c
+++ b/drivers/net/ethernet/synopsys/dwc-xlgmac-common.c
@@ -349,7 +349,7 @@ void xlgmac_print_pkt(struct net_device *netdev,
unsigned int len = min(skb->len - i, 32U);
hex_dump_to_buffer(&skb->data[i], len, 32, 1,
- buffer, sizeof(buffer), false);
+ buffer, sizeof(buffer));
netdev_dbg(netdev, " %#06x: %s\n", i, buffer);
}
diff --git a/drivers/net/wireless/ath/ath10k/debug.c b/drivers/net/wireless/ath/ath10k/debug.c
index 32d967a31c65..8d79f8fc694d 100644
--- a/drivers/net/wireless/ath/ath10k/debug.c
+++ b/drivers/net/wireless/ath/ath10k/debug.c
@@ -2660,9 +2660,10 @@ void ath10k_dbg_dump(struct ath10k *ar,
"%s%08x: ",
(prefix ? prefix : ""),
(unsigned int)(ptr - buf));
- hex_dump_to_buffer(ptr, len - (ptr - buf), 16, 1,
- linebuf + linebuflen,
- sizeof(linebuf) - linebuflen, true);
+ hex_dump_to_buffer_ext(ptr, len - (ptr - buf), 16, 1,
+ linebuf + linebuflen,
+ sizeof(linebuf) - linebuflen,
+ HEXDUMP_ASCII);
dev_printk(KERN_DEBUG, ar->dev, "%s\n", linebuf);
}
}
diff --git a/drivers/net/wireless/intel/iwlegacy/3945-mac.c b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
index b82da75a9ae3..92d030109395 100644
--- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c
+++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
@@ -3231,8 +3231,8 @@ il3945_show_measurement(struct device *d, struct device_attribute *attr,
spin_unlock_irqrestore(&il->lock, flags);
while (size && PAGE_SIZE - len) {
- hex_dump_to_buffer(data + ofs, size, 16, 1, buf + len,
- PAGE_SIZE - len, true);
+ hex_dump_to_buffer_ext(data + ofs, size, 16, 1, buf + len,
+ PAGE_SIZE - len, HEXDUMP_ASCII);
len = strlen(buf);
if (PAGE_SIZE - len)
buf[len++] = '\n';
diff --git a/drivers/platform/chrome/wilco_ec/debugfs.c b/drivers/platform/chrome/wilco_ec/debugfs.c
index f163476d080d..6c0a443bdb1b 100644
--- a/drivers/platform/chrome/wilco_ec/debugfs.c
+++ b/drivers/platform/chrome/wilco_ec/debugfs.c
@@ -144,11 +144,11 @@ static ssize_t raw_read(struct file *file, char __user *user_buf, size_t count,
int fmt_len = 0;
if (debug_info->response_size) {
- fmt_len = hex_dump_to_buffer(debug_info->raw_data,
- debug_info->response_size,
- 16, 1, debug_info->formatted_data,
- sizeof(debug_info->formatted_data),
- true);
+ fmt_len = hex_dump_to_buffer_ext(debug_info->raw_data,
+ debug_info->response_size,
+ 16, 1, debug_info->formatted_data,
+ sizeof(debug_info->formatted_data),
+ HEXDUMP_ASCII);
/* Only return response the first time it is read */
debug_info->response_size = 0;
}
diff --git a/drivers/scsi/scsi_logging.c b/drivers/scsi/scsi_logging.c
index 39b8cc4574b4..aead28e5c4cd 100644
--- a/drivers/scsi/scsi_logging.c
+++ b/drivers/scsi/scsi_logging.c
@@ -262,7 +262,7 @@ void scsi_print_command(struct scsi_cmnd *cmd)
"CDB[%02x]: ", k);
hex_dump_to_buffer(&cmd->cmnd[k], linelen,
16, 1, logbuf + off,
- logbuf_len - off, false);
+ logbuf_len - off);
}
dev_printk(KERN_INFO, &cmd->device->sdev_gendev, "%s",
logbuf);
@@ -273,8 +273,7 @@ void scsi_print_command(struct scsi_cmnd *cmd)
if (!WARN_ON(off > logbuf_len - 49)) {
off += scnprintf(logbuf + off, logbuf_len - off, " ");
hex_dump_to_buffer(cmd->cmnd, cmd->cmd_len, 16, 1,
- logbuf + off, logbuf_len - off,
- false);
+ logbuf + off, logbuf_len - off);
}
out_printk:
dev_printk(KERN_INFO, &cmd->device->sdev_gendev, "%s", logbuf);
@@ -353,8 +352,7 @@ scsi_log_dump_sense(const struct scsi_device *sdev, const char *name, int tag,
off = sdev_format_header(logbuf, logbuf_len,
name, tag);
hex_dump_to_buffer(&sense_buffer[i], len, 16, 1,
- logbuf + off, logbuf_len - off,
- false);
+ logbuf + off, logbuf_len - off);
dev_printk(KERN_INFO, &sdev->sdev_gendev, "%s", logbuf);
}
scsi_log_release_buffer(logbuf);
diff --git a/drivers/staging/fbtft/fbtft-core.c b/drivers/staging/fbtft/fbtft-core.c
index 9b07badf4c6c..9765a7962f0c 100644
--- a/drivers/staging/fbtft/fbtft-core.c
+++ b/drivers/staging/fbtft/fbtft-core.c
@@ -61,7 +61,7 @@ void fbtft_dbg_hex(const struct device *dev, int groupsize,
va_end(args);
hex_dump_to_buffer(buf, len, 32, groupsize, text + text_len,
- 512 - text_len, false);
+ 512 - text_len);
if (len > 32)
dev_info(dev, "%s ...\n", text);
diff --git a/fs/seq_file.c b/fs/seq_file.c
index abe27ec43176..5f3d656c5ed6 100644
--- a/fs/seq_file.c
+++ b/fs/seq_file.c
@@ -873,8 +873,10 @@ void seq_hex_dump(struct seq_file *m, const char *prefix_str, int prefix_type,
}
size = seq_get_buf(m, &buffer);
- ret = hex_dump_to_buffer(ptr + i, linelen, rowsize, groupsize,
- buffer, size, ascii);
+ ret = hex_dump_to_buffer_ext(ptr + i, linelen,
+ rowsize, groupsize,
+ buffer, size,
+ ascii ? HEXDUMP_ASCII : 0);
seq_commit(m, ret < size ? ret : -1);
seq_putc(m, '\n');
diff --git a/include/linux/printk.h b/include/linux/printk.h
index c0416d0eb9e2..f0761b3a2d5d 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -483,13 +483,51 @@ enum {
DUMP_PREFIX_OFFSET
};
-extern int hex_dump_to_buffer(const void *buf, size_t len, int rowsize,
- int groupsize, char *linebuf, size_t linebuflen,
- bool ascii);
-
#define HEXDUMP_ASCII BIT(0)
#define HEXDUMP_SUPPRESS_REPEATED BIT(1)
+extern int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
+ int groupsize, char *linebuf, size_t linebuflen,
+ u32 flags);
+
+/**
+ * hex_dump_to_buffer - convert a blob of data to "hex ASCII" in memory
+ * @buf: data blob to dump
+ * @len: number of bytes in the @buf
+ * @rowsize: number of bytes to print per line; must be a multiple of groupsize
+ * @groupsize: number of bytes to print at a time (1, 2, 4, 8; default = 1)
+ * @linebuf: where to put the converted data
+ * @linebuflen: total size of @linebuf, including space for terminating NUL
+ *
+ * hex_dump_to_buffer() works on one "line" of output at a time, converting
+ * <groupsize> bytes of input to hexadecimal (and optionally printable ASCII)
+ * until <rowsize> bytes have been emitted.
+ *
+ * Given a buffer of u8 data, hex_dump_to_buffer() converts the input data
+ * to a hex dump at the supplied memory location.
+ * The converted output is always NUL-terminated.
+ *
+ * E.g.:
+ * hex_dump_to_buffer(frame->data, frame->len, 16, 1,
+ * linebuf, sizeof(linebuf));
+ *
+ * example output buffer:
+ * 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
+ *
+ * Return:
+ * The amount of bytes placed in the buffer without terminating NUL. If the
+ * output was truncated, then the return value is the number of bytes
+ * (excluding the terminating NUL) which would have been written to the final
+ * string if enough space had been available.
+ */
+static inline int hex_dump_to_buffer(const void *buf, size_t len, int rowsize,
+ int groupsize, char *linebuf, size_t linebuflen)
+{
+ return hex_dump_to_buffer_ext(buf, len, rowsize, groupsize,
+ linebuf, linebuflen, 0);
+}
+
+
#ifdef CONFIG_PRINTK
extern void print_hex_dump_ext(const char *level, const char *prefix_str,
int prefix_type, int rowsize, int groupsize,
diff --git a/lib/hexdump.c b/lib/hexdump.c
index 61dc625c32f5..1bf838c1a568 100644
--- a/lib/hexdump.c
+++ b/lib/hexdump.c
@@ -85,7 +85,8 @@ EXPORT_SYMBOL(bin2hex);
* @groupsize: number of bytes to print at a time (1, 2, 4, 8; default = 1)
* @linebuf: where to put the converted data
* @linebuflen: total size of @linebuf, including space for terminating NUL
- * @ascii: include ASCII after the hex output
+ * @flags: A bitwise OR of the following flags:
+ * HEXDUMP_ASCII: include ASCII after the hex output
*
* hex_dump_to_buffer() works on one "line" of output at a time, converting
* <groupsize> bytes of input to hexadecimal (and optionally printable ASCII)
@@ -96,8 +97,8 @@ EXPORT_SYMBOL(bin2hex);
* The converted output is always NUL-terminated.
*
* E.g.:
- * hex_dump_to_buffer(frame->data, frame->len, 16, 1,
- * linebuf, sizeof(linebuf), true);
+ * hex_dump_to_buffer_ext(frame->data, frame->len, 16, 1,
+ * linebuf, sizeof(linebuf), HEXDUMP_ASCII);
*
* example output buffer:
* 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f @ABCDEFGHIJKLMNO
@@ -108,8 +109,9 @@ EXPORT_SYMBOL(bin2hex);
* (excluding the terminating NUL) which would have been written to the final
* string if enough space had been available.
*/
-int hex_dump_to_buffer(const void *buf, size_t len, int rowsize, int groupsize,
- char *linebuf, size_t linebuflen, bool ascii)
+int hex_dump_to_buffer_ext(const void *buf, size_t len, int rowsize,
+ int groupsize, char *linebuf, size_t linebuflen,
+ u32 flags)
{
const u8 *ptr = buf;
int ngroups;
@@ -187,7 +189,7 @@ int hex_dump_to_buffer(const void *buf, size_t len, int rowsize, int groupsize,
if (j)
lx--;
}
- if (!ascii)
+ if (!(flags & HEXDUMP_ASCII))
goto nil;
while (lx < ascii_column) {
@@ -207,9 +209,10 @@ int hex_dump_to_buffer(const void *buf, size_t len, int rowsize, int groupsize,
overflow2:
linebuf[lx++] = '\0';
overflow1:
- return ascii ? ascii_column + len : (groupsize * 2 + 1) * ngroups - 1;
+ return (flags & HEXDUMP_ASCII) ? ascii_column + len :
+ (groupsize * 2 + 1) * ngroups - 1;
}
-EXPORT_SYMBOL(hex_dump_to_buffer);
+EXPORT_SYMBOL(hex_dump_to_buffer_ext);
#ifdef CONFIG_PRINTK
@@ -336,9 +339,8 @@ void print_hex_dump_ext(const char *level, const char *prefix_str,
skipped = 0;
}
- hex_dump_to_buffer(ptr + i, linelen, rowsize, groupsize,
- linebuf, linebuf_len,
- flags & HEXDUMP_ASCII);
+ hex_dump_to_buffer_ext(ptr + i, linelen, rowsize, groupsize,
+ linebuf, linebuf_len, flags);
switch (prefix_type) {
case DUMP_PREFIX_ADDRESS:
diff --git a/lib/test_hexdump.c b/lib/test_hexdump.c
index 5e54525a937c..ad43218437f1 100644
--- a/lib/test_hexdump.c
+++ b/lib/test_hexdump.c
@@ -165,8 +165,9 @@ static void __init test_hexdump(size_t len, int rowsize, int groupsize,
total_tests++;
memset(real, FILL_CHAR, sizeof(real));
- hex_dump_to_buffer(data_b, len, rowsize, groupsize, real, sizeof(real),
- ascii);
+ hex_dump_to_buffer_ext(data_b, len, rowsize, groupsize,
+ real, sizeof(real),
+ ascii ? HEXDUMP_ASCII : 0);
memset(test, FILL_CHAR, sizeof(test));
test_hexdump_prepare_test(len, rowsize, groupsize, test, sizeof(test),
@@ -204,8 +205,9 @@ static void __init test_hexdump_overflow(size_t buflen, size_t len,
memset(buf, FILL_CHAR, sizeof(buf));
- rc = hex_dump_to_buffer(data_b, len, rowsize, groupsize, buf, buflen,
- ascii);
+ rc = hex_dump_to_buffer_ext(data_b, len, rowsize, groupsize,
+ buf, buflen,
+ ascii ? HEXDUMP_ASCII : 0);
/*
* Caller must provide the data length multiple of groupsize. The
--
2.21.0
^ permalink raw reply related
* [PATCH v4 0/7] Hexdump Enhancements
From: Alastair D'Silva @ 2019-06-25 3:17 UTC (permalink / raw)
To: alastair
Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, David Airlie,
Daniel Vetter, Dan Carpenter, Karsten Keil, Jassi Brar,
Tom Lendacky, David S. Miller, Jose Abreu, Kalle Valo,
Stanislaw Gruszka, Benson Leung, Enric Balletbo i Serra,
James E.J. Bottomley, Martin K. Petersen, Greg Kroah-Hartman,
Alexander Viro, Petr Mladek, Sergey Senozhatsky, Steven Rostedt,
David Laight, Andrew Morton, intel-gfx, dri-devel, linux-kernel,
netdev, ath10k, linux-wireless, linux-scsi, linux-fbdev, devel,
linux-fsdevel
From: Alastair D'Silva <alastair@d-silva.org>
Apologies for the large CC list, it's a heads up for those responsible
for subsystems where a prototype change in generic code causes a change
in those subsystems.
This series enhances hexdump.
These improve the readability of the dumped data in certain situations
(eg. wide terminals are available, many lines of empty bytes exist, etc).
The default behaviour of hexdump is unchanged, however, the prototype
for hex_dump_to_buffer() has changed, and print_hex_dump() has been
renamed to print_hex_dump_ext(), with a wrapper replacing it for
compatibility with existing code, which would have been too invasive to
change.
Hexdump selftests have be run & confirmed passed.
Changelog:
V4:
- Add missing header (linux/bits.h)
- Fix comment formatting
- Create hex_dump_to_buffer_ext & make hex_dump_to_buffer a wrapper
V3:
- Fix inline documention
- use BIT macros
- use u32 rather than u64 for flags
V2:
- Fix failing selftests
- Fix precedence bug in 'Replace ascii bool in hex_dump_to_buffer...'
- Remove hardcoded new lengths & instead relax the checks in
hex_dump_to_buffer, allocating the buffer from the heap instead of the
stack.
- Replace the skipping of lines of 0x00/0xff with skipping lines of
repeated characters, announcing what has been skipped.
- Add spaces as an optional N-group separator
- Allow byte ordering to be maintained when HEXDUMP_RETAIN_BYTE_ORDERING
is set.
- Updated selftests to cover 'Relax rowsize checks' &
'Optionally retain byte ordering'
Alastair D'Silva (7):
lib/hexdump.c: Fix selftests
lib/hexdump.c: Relax rowsize checks in hex_dump_to_buffer
lib/hexdump.c: Optionally suppress lines of repeated bytes
lib/hexdump.c: Replace ascii bool in hex_dump_to_buffer with flags
lib/hexdump.c: Allow multiple groups to be separated by lines '|'
lib/hexdump.c: Allow multiple groups to be separated by spaces
lib/hexdump.c: Optionally retain byte ordering
drivers/gpu/drm/i915/intel_engine_cs.c | 5 +-
drivers/isdn/hardware/mISDN/mISDNisar.c | 10 +-
drivers/mailbox/mailbox-test.c | 8 +-
drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 2 +-
.../net/ethernet/synopsys/dwc-xlgmac-common.c | 2 +-
drivers/net/wireless/ath/ath10k/debug.c | 7 +-
.../net/wireless/intel/iwlegacy/3945-mac.c | 4 +-
drivers/platform/chrome/wilco_ec/debugfs.c | 10 +-
drivers/scsi/scsi_logging.c | 8 +-
drivers/staging/fbtft/fbtft-core.c | 2 +-
fs/seq_file.c | 6 +-
include/linux/printk.h | 75 ++++-
lib/hexdump.c | 267 +++++++++++++++---
lib/test_hexdump.c | 154 +++++++---
14 files changed, 438 insertions(+), 122 deletions(-)
--
2.21.0
^ permalink raw reply
* [PATCH v4 3/7] lib/hexdump.c: Optionally suppress lines of repeated bytes
From: Alastair D'Silva @ 2019-06-25 3:17 UTC (permalink / raw)
To: alastair
Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, David Airlie,
Daniel Vetter, Dan Carpenter, Karsten Keil, Jassi Brar,
Tom Lendacky, David S. Miller, Jose Abreu, Kalle Valo,
Stanislaw Gruszka, Benson Leung, Enric Balletbo i Serra,
James E.J. Bottomley, Martin K. Petersen, Greg Kroah-Hartman,
Alexander Viro, Petr Mladek, Sergey Senozhatsky, Steven Rostedt,
David Laight, Andrew Morton, intel-gfx, dri-devel, linux-kernel,
netdev, ath10k, linux-wireless, linux-scsi, linux-fbdev, devel,
linux-fsdevel
In-Reply-To: <20190625031726.12173-1-alastair@au1.ibm.com>
From: Alastair D'Silva <alastair@d-silva.org>
Some buffers may only be partially filled with useful data, while the rest
is padded (typically with 0x00 or 0xff).
This patch introduces a flag to allow the supression of lines of repeated
bytes, which are replaced with '** Skipped %u bytes of value 0x%x **'
An inline wrapper function is provided for backwards compatibility with
existing code, which maintains the original behaviour.
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
---
include/linux/printk.h | 26 +++++++++---
lib/hexdump.c | 91 ++++++++++++++++++++++++++++++++++++------
2 files changed, 100 insertions(+), 17 deletions(-)
diff --git a/include/linux/printk.h b/include/linux/printk.h
index cefd374c47b1..c0416d0eb9e2 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -7,6 +7,7 @@
#include <linux/kern_levels.h>
#include <linux/linkage.h>
#include <linux/cache.h>
+#include <linux/bits.h>
extern const char linux_banner[];
extern const char linux_proc_banner[];
@@ -481,13 +482,18 @@ enum {
DUMP_PREFIX_ADDRESS,
DUMP_PREFIX_OFFSET
};
+
extern int hex_dump_to_buffer(const void *buf, size_t len, int rowsize,
int groupsize, char *linebuf, size_t linebuflen,
bool ascii);
+
+#define HEXDUMP_ASCII BIT(0)
+#define HEXDUMP_SUPPRESS_REPEATED BIT(1)
+
#ifdef CONFIG_PRINTK
-extern void print_hex_dump(const char *level, const char *prefix_str,
+extern void print_hex_dump_ext(const char *level, const char *prefix_str,
int prefix_type, int rowsize, int groupsize,
- const void *buf, size_t len, bool ascii);
+ const void *buf, size_t len, u32 flags);
#if defined(CONFIG_DYNAMIC_DEBUG)
#define print_hex_dump_bytes(prefix_str, prefix_type, buf, len) \
dynamic_hex_dump(prefix_str, prefix_type, 16, 1, buf, len, true)
@@ -496,18 +502,28 @@ extern void print_hex_dump_bytes(const char *prefix_str, int prefix_type,
const void *buf, size_t len);
#endif /* defined(CONFIG_DYNAMIC_DEBUG) */
#else
-static inline void print_hex_dump(const char *level, const char *prefix_str,
+static inline void print_hex_dump_ext(const char *level, const char *prefix_str,
int prefix_type, int rowsize, int groupsize,
- const void *buf, size_t len, bool ascii)
+ const void *buf, size_t len, u32 flags)
{
}
static inline void print_hex_dump_bytes(const char *prefix_str, int prefix_type,
const void *buf, size_t len)
{
}
-
#endif
+static __always_inline void print_hex_dump(const char *level,
+ const char *prefix_str,
+ int prefix_type, int rowsize,
+ int groupsize, const void *buf,
+ size_t len, bool ascii)
+{
+ print_hex_dump_ext(level, prefix_str, prefix_type, rowsize, groupsize,
+ buf, len, ascii ? HEXDUMP_ASCII : 0);
+}
+
+
#if defined(CONFIG_DYNAMIC_DEBUG)
#define print_hex_dump_debug(prefix_str, prefix_type, rowsize, \
groupsize, buf, len, ascii) \
diff --git a/lib/hexdump.c b/lib/hexdump.c
index 870c8cbff1e1..61dc625c32f5 100644
--- a/lib/hexdump.c
+++ b/lib/hexdump.c
@@ -212,8 +212,44 @@ int hex_dump_to_buffer(const void *buf, size_t len, int rowsize, int groupsize,
EXPORT_SYMBOL(hex_dump_to_buffer);
#ifdef CONFIG_PRINTK
+
+/**
+ * buf_is_all - Check if a buffer contains only a single byte value
+ * @buf: pointer to the buffer
+ * @len: the size of the buffer in bytes
+ * @val: outputs the value if if the bytes are identical
+ */
+static bool buf_is_all(const u8 *buf, size_t len, u8 *val_out)
+{
+ size_t i;
+ u8 val;
+
+ if (len <= 1)
+ return false;
+
+ val = buf[0];
+
+ for (i = 1; i < len; i++) {
+ if (buf[i] != val)
+ return false;
+ }
+
+ *val_out = val;
+ return true;
+}
+
+static void announce_skipped(const char *level, const char *prefix_str,
+ u8 val, size_t count)
+{
+ if (count == 0)
+ return;
+
+ printk("%s%s ** Skipped %lu bytes of value 0x%x **\n",
+ level, prefix_str, count, val);
+}
+
/**
- * print_hex_dump - print a text hex dump to syslog for a binary blob of data
+ * print_hex_dump_ext - dump a binary blob of data to syslog in hexadecimal
* @level: kernel log level (e.g. KERN_DEBUG)
* @prefix_str: string to prefix each line with;
* caller supplies trailing spaces for alignment if desired
@@ -224,6 +260,10 @@ EXPORT_SYMBOL(hex_dump_to_buffer);
* @buf: data blob to dump
* @len: number of bytes in the @buf
* @ascii: include ASCII after the hex output
+ * @flags: A bitwise OR of the following flags:
+ * HEXDUMP_ASCII: include ASCII after the hex output
+ * HEXDUMP_SUPPRESS_REPEATED: suppress repeated lines of identical
+ * bytes
*
* Given a buffer of u8 data, print_hex_dump() prints a hex + ASCII dump
* to the kernel log at the specified kernel log level, with an optional
@@ -234,22 +274,25 @@ EXPORT_SYMBOL(hex_dump_to_buffer);
* (optionally) ASCII output.
*
* E.g.:
- * print_hex_dump(KERN_DEBUG, "raw data: ", DUMP_PREFIX_ADDRESS,
- * 16, 1, frame->data, frame->len, true);
+ * print_hex_dump_ext(KERN_DEBUG, "raw data: ", DUMP_PREFIX_ADDRESS,
+ * 16, 1, frame->data, frame->len, HEXDUMP_ASCII);
*
* Example output using %DUMP_PREFIX_OFFSET and 1-byte mode:
* 0009ab42: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f @ABCDEFGHIJKLMNO
* Example output using %DUMP_PREFIX_ADDRESS and 4-byte mode:
* ffffffff88089af0: 73727170 77767574 7b7a7978 7f7e7d7c pqrstuvwxyz{|}~.
*/
-void print_hex_dump(const char *level, const char *prefix_str, int prefix_type,
- int rowsize, int groupsize,
- const void *buf, size_t len, bool ascii)
+void print_hex_dump_ext(const char *level, const char *prefix_str,
+ int prefix_type, int rowsize, int groupsize,
+ const void *buf, size_t len, u32 flags)
{
const u8 *ptr = buf;
- int i, linelen, remaining = len;
+ int i, remaining = len;
unsigned char *linebuf;
unsigned int linebuf_len;
+ u8 skipped_val = 0;
+ size_t skipped = 0;
+
if (rowsize % groupsize)
rowsize -= rowsize % groupsize;
@@ -267,11 +310,35 @@ void print_hex_dump(const char *level, const char *prefix_str, int prefix_type,
}
for (i = 0; i < len; i += rowsize) {
- linelen = min(remaining, rowsize);
+ int linelen = min(remaining, rowsize);
remaining -= rowsize;
+ if (flags & HEXDUMP_SUPPRESS_REPEATED) {
+ u8 new_val;
+
+ if (buf_is_all(ptr + i, linelen, &new_val)) {
+ if (new_val == skipped_val) {
+ skipped += linelen;
+ continue;
+ } else {
+ announce_skipped(level, prefix_str,
+ skipped_val, skipped);
+ skipped_val = new_val;
+ skipped = linelen;
+ continue;
+ }
+ }
+ }
+
+ if (skipped) {
+ announce_skipped(level, prefix_str, skipped_val,
+ skipped);
+ skipped = 0;
+ }
+
hex_dump_to_buffer(ptr + i, linelen, rowsize, groupsize,
- linebuf, linebuf_len, ascii);
+ linebuf, linebuf_len,
+ flags & HEXDUMP_ASCII);
switch (prefix_type) {
case DUMP_PREFIX_ADDRESS:
@@ -289,7 +356,7 @@ void print_hex_dump(const char *level, const char *prefix_str, int prefix_type,
kfree(linebuf);
}
-EXPORT_SYMBOL(print_hex_dump);
+EXPORT_SYMBOL(print_hex_dump_ext);
#if !defined(CONFIG_DYNAMIC_DEBUG)
/**
@@ -307,8 +374,8 @@ EXPORT_SYMBOL(print_hex_dump);
void print_hex_dump_bytes(const char *prefix_str, int prefix_type,
const void *buf, size_t len)
{
- print_hex_dump(KERN_DEBUG, prefix_str, prefix_type, 16, 1,
- buf, len, true);
+ print_hex_dump_ext(KERN_DEBUG, prefix_str, prefix_type, 16, 1,
+ buf, len, HEXDUMP_ASCII);
}
EXPORT_SYMBOL(print_hex_dump_bytes);
#endif /* !defined(CONFIG_DYNAMIC_DEBUG) */
--
2.21.0
^ permalink raw reply related
* [PATCH v4 2/7] lib/hexdump.c: Relax rowsize checks in hex_dump_to_buffer
From: Alastair D'Silva @ 2019-06-25 3:17 UTC (permalink / raw)
To: alastair
Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, David Airlie,
Daniel Vetter, Dan Carpenter, Karsten Keil, Jassi Brar,
Tom Lendacky, David S. Miller, Jose Abreu, Kalle Valo,
Stanislaw Gruszka, Benson Leung, Enric Balletbo i Serra,
James E.J. Bottomley, Martin K. Petersen, Greg Kroah-Hartman,
Alexander Viro, Petr Mladek, Sergey Senozhatsky, Steven Rostedt,
David Laight, Andrew Morton, intel-gfx, dri-devel, linux-kernel,
netdev, ath10k, linux-wireless, linux-scsi, linux-fbdev, devel,
linux-fsdevel
In-Reply-To: <20190625031726.12173-1-alastair@au1.ibm.com>
From: Alastair D'Silva <alastair@d-silva.org>
This patch removes the hardcoded row limits and allows for
other lengths. These lengths must still be a multiple of
groupsize.
This allows structs that are not 16/32 bytes to display on
a single line.
This patch also expands the self-tests to test row sizes
up to 64 bytes (though they can now be arbitrarily long).
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
---
lib/hexdump.c | 49 +++++++++++++++++++++++++++++--------------
lib/test_hexdump.c | 52 ++++++++++++++++++++++++++++++++++++++--------
2 files changed, 76 insertions(+), 25 deletions(-)
diff --git a/lib/hexdump.c b/lib/hexdump.c
index 81b70ed37209..870c8cbff1e1 100644
--- a/lib/hexdump.c
+++ b/lib/hexdump.c
@@ -12,6 +12,7 @@
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/export.h>
+#include <linux/slab.h>
#include <asm/unaligned.h>
const char hex_asc[] = "0123456789abcdef";
@@ -80,14 +81,15 @@ EXPORT_SYMBOL(bin2hex);
* hex_dump_to_buffer - convert a blob of data to "hex ASCII" in memory
* @buf: data blob to dump
* @len: number of bytes in the @buf
- * @rowsize: number of bytes to print per line; must be 16 or 32
+ * @rowsize: number of bytes to print per line; must be a multiple of groupsize
* @groupsize: number of bytes to print at a time (1, 2, 4, 8; default = 1)
* @linebuf: where to put the converted data
* @linebuflen: total size of @linebuf, including space for terminating NUL
* @ascii: include ASCII after the hex output
*
- * hex_dump_to_buffer() works on one "line" of output at a time, i.e.,
- * 16 or 32 bytes of input data converted to hex + ASCII output.
+ * hex_dump_to_buffer() works on one "line" of output at a time, converting
+ * <groupsize> bytes of input to hexadecimal (and optionally printable ASCII)
+ * until <rowsize> bytes have been emitted.
*
* Given a buffer of u8 data, hex_dump_to_buffer() converts the input data
* to a hex + ASCII dump at the supplied memory location.
@@ -116,16 +118,17 @@ int hex_dump_to_buffer(const void *buf, size_t len, int rowsize, int groupsize,
int ascii_column;
int ret;
- if (rowsize != 16 && rowsize != 32)
- rowsize = 16;
-
- if (len > rowsize) /* limit to one line at a time */
- len = rowsize;
if (!is_power_of_2(groupsize) || groupsize > 8)
groupsize = 1;
if ((len % groupsize) != 0) /* no mixed size output */
groupsize = 1;
+ if (rowsize % groupsize)
+ rowsize -= rowsize % groupsize;
+
+ if (len > rowsize) /* limit to one line at a time */
+ len = rowsize;
+
ngroups = len / groupsize;
ascii_column = rowsize * 2 + rowsize / groupsize + 1;
@@ -216,7 +219,7 @@ EXPORT_SYMBOL(hex_dump_to_buffer);
* caller supplies trailing spaces for alignment if desired
* @prefix_type: controls whether prefix of an offset, address, or none
* is printed (%DUMP_PREFIX_OFFSET, %DUMP_PREFIX_ADDRESS, %DUMP_PREFIX_NONE)
- * @rowsize: number of bytes to print per line; must be 16 or 32
+ * @rowsize: number of bytes to print per line; must be a multiple of groupsize
* @groupsize: number of bytes to print at a time (1, 2, 4, 8; default = 1)
* @buf: data blob to dump
* @len: number of bytes in the @buf
@@ -226,10 +229,9 @@ EXPORT_SYMBOL(hex_dump_to_buffer);
* to the kernel log at the specified kernel log level, with an optional
* leading prefix.
*
- * print_hex_dump() works on one "line" of output at a time, i.e.,
- * 16 or 32 bytes of input data converted to hex + ASCII output.
* print_hex_dump() iterates over the entire input @buf, breaking it into
- * "line size" chunks to format and print.
+ * lines of rowsize/groupsize groups of input data converted to hex +
+ * (optionally) ASCII output.
*
* E.g.:
* print_hex_dump(KERN_DEBUG, "raw data: ", DUMP_PREFIX_ADDRESS,
@@ -246,17 +248,30 @@ void print_hex_dump(const char *level, const char *prefix_str, int prefix_type,
{
const u8 *ptr = buf;
int i, linelen, remaining = len;
- unsigned char linebuf[32 * 3 + 2 + 32 + 1];
+ unsigned char *linebuf;
+ unsigned int linebuf_len;
- if (rowsize != 16 && rowsize != 32)
- rowsize = 16;
+ if (rowsize % groupsize)
+ rowsize -= rowsize % groupsize;
+
+ /*
+ * Worst case line length:
+ * 2 hex chars + space per byte in, 2 spaces, 1 char per byte in, NULL
+ */
+ linebuf_len = rowsize * 3 + 2 + rowsize + 1;
+ linebuf = kzalloc(linebuf_len, GFP_KERNEL);
+ if (!linebuf) {
+ printk("%s%shexdump: Could not alloc %u bytes for buffer\n",
+ level, prefix_str, linebuf_len);
+ return;
+ }
for (i = 0; i < len; i += rowsize) {
linelen = min(remaining, rowsize);
remaining -= rowsize;
hex_dump_to_buffer(ptr + i, linelen, rowsize, groupsize,
- linebuf, sizeof(linebuf), ascii);
+ linebuf, linebuf_len, ascii);
switch (prefix_type) {
case DUMP_PREFIX_ADDRESS:
@@ -271,6 +286,8 @@ void print_hex_dump(const char *level, const char *prefix_str, int prefix_type,
break;
}
}
+
+ kfree(linebuf);
}
EXPORT_SYMBOL(print_hex_dump);
diff --git a/lib/test_hexdump.c b/lib/test_hexdump.c
index bef97a964582..5e54525a937c 100644
--- a/lib/test_hexdump.c
+++ b/lib/test_hexdump.c
@@ -14,15 +14,25 @@ static const unsigned char data_b[] = {
'\x70', '\xba', '\xc4', '\x24', '\x7d', '\x83', '\x34', '\x9b', /* 08 - 0f */
'\xa6', '\x9c', '\x31', '\xad', '\x9c', '\x0f', '\xac', '\xe9', /* 10 - 17 */
'\x4c', '\xd1', '\x19', '\x99', '\x43', '\xb1', '\xaf', '\x0c', /* 18 - 1f */
+ '\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', /* 20 - 27 */
+ '\x0f', '\x0e', '\x0d', '\x0c', '\x0b', '\x0a', '\x09', '\x08', /* 28 - 2f */
+ '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', /* 30 - 37 */
+ '\x1f', '\x1e', '\x1d', '\x1c', '\x1b', '\x1a', '\x19', '\x18', /* 38 - 3f */
};
-static const unsigned char data_a[] = ".2.{....p..$}.4...1.....L...C...";
+static const unsigned char data_a[] = ".2.{....p..$}.4...1.....L...C..."
+ "................................";
static const char * const test_data_1[] __initconst = {
"be", "32", "db", "7b", "0a", "18", "93", "b2",
"70", "ba", "c4", "24", "7d", "83", "34", "9b",
"a6", "9c", "31", "ad", "9c", "0f", "ac", "e9",
"4c", "d1", "19", "99", "43", "b1", "af", "0c",
+ "00", "01", "02", "03", "04", "05", "06", "07",
+ "0f", "0e", "0d", "0c", "0b", "0a", "09", "08",
+ "10", "11", "12", "13", "14", "15", "16", "17",
+ "1f", "1e", "1d", "1c", "1b", "1a", "19", "18",
+ NULL
};
static const char * const test_data_2_le[] __initconst = {
@@ -30,6 +40,11 @@ static const char * const test_data_2_le[] __initconst = {
"ba70", "24c4", "837d", "9b34",
"9ca6", "ad31", "0f9c", "e9ac",
"d14c", "9919", "b143", "0caf",
+ "0100", "0302", "0504", "0706",
+ "0e0f", "0c0d", "0a0b", "0809",
+ "1110", "1312", "1514", "1716",
+ "1e1f", "1c1d", "1a1b", "1819",
+ NULL
};
static const char * const test_data_2_be[] __initconst = {
@@ -37,26 +52,43 @@ static const char * const test_data_2_be[] __initconst = {
"70ba", "c424", "7d83", "349b",
"a69c", "31ad", "9c0f", "ace9",
"4cd1", "1999", "43b1", "af0c",
+ "0001", "0203", "0405", "0607",
+ "0f0e", "0d0c", "0b0a", "0908",
+ "1011", "1213", "1415", "1617",
+ "1f1e", "1d1c", "1b1a", "1918",
+ NULL
};
static const char * const test_data_4_le[] __initconst = {
"7bdb32be", "b293180a", "24c4ba70", "9b34837d",
"ad319ca6", "e9ac0f9c", "9919d14c", "0cafb143",
+ "03020100", "07060504", "0c0d0e0f", "08090a0b",
+ "13121110", "17161514", "1c1d1e1f", "18191a1b",
+ NULL
};
static const char * const test_data_4_be[] __initconst = {
"be32db7b", "0a1893b2", "70bac424", "7d83349b",
"a69c31ad", "9c0face9", "4cd11999", "43b1af0c",
+ "00010203", "04050607", "0f0e0d0c", "0b0a0908",
+ "10111213", "14151617", "1f1e1d1c", "1b1a1918",
+ NULL
};
static const char * const test_data_8_le[] __initconst = {
"b293180a7bdb32be", "9b34837d24c4ba70",
"e9ac0f9cad319ca6", "0cafb1439919d14c",
+ "0706050403020100", "08090a0b0c0d0e0f",
+ "1716151413121110", "18191a1b1c1d1e1f",
+ NULL
};
static const char * const test_data_8_be[] __initconst = {
"be32db7b0a1893b2", "70bac4247d83349b",
"a69c31ad9c0face9", "4cd1199943b1af0c",
+ "0001020304050607", "0f0e0d0c0b0a0908",
+ "1011121314151617", "1f1e1d1c1b1a1918",
+ NULL
};
#define FILL_CHAR '#'
@@ -75,9 +107,6 @@ static void __init test_hexdump_prepare_test(size_t len, int rowsize,
unsigned int i;
const bool is_be = IS_ENABLED(CONFIG_CPU_BIG_ENDIAN);
- if (rs != 16 && rs != 32)
- rs = 16;
-
if (l > rs)
l = rs;
@@ -97,7 +126,12 @@ static void __init test_hexdump_prepare_test(size_t len, int rowsize,
p = test;
for (i = 0; i < l / gs; i++) {
const char *q = *result++;
- size_t amount = strlen(q);
+ size_t amount;
+
+ if (!q)
+ break;
+
+ amount = strlen(q);
memcpy(p, q, amount);
p += amount;
@@ -120,7 +154,7 @@ static void __init test_hexdump_prepare_test(size_t len, int rowsize,
*p = '\0';
}
-#define TEST_HEXDUMP_BUF_SIZE (32 * 3 + 2 + 32 + 1)
+#define TEST_HEXDUMP_BUF_SIZE (64 * 3 + 2 + 64 + 1)
static void __init test_hexdump(size_t len, int rowsize, int groupsize,
bool ascii)
@@ -216,7 +250,7 @@ static void __init test_hexdump_overflow(size_t buflen, size_t len,
static void __init test_hexdump_overflow_set(size_t buflen, bool ascii)
{
unsigned int i = 0;
- int rs = (get_random_int() % 2 + 1) * 16;
+ int rs = (get_random_int() % 4 + 1) * 16;
do {
int gs = 1 << i;
@@ -231,11 +265,11 @@ static int __init test_hexdump_init(void)
unsigned int i;
int rowsize;
- rowsize = (get_random_int() % 2 + 1) * 16;
+ rowsize = (get_random_int() % 4 + 1) * 16;
for (i = 0; i < 16; i++)
test_hexdump_set(rowsize, false);
- rowsize = (get_random_int() % 2 + 1) * 16;
+ rowsize = (get_random_int() % 4 + 1) * 16;
for (i = 0; i < 16; i++)
test_hexdump_set(rowsize, true);
--
2.21.0
^ permalink raw reply related
* [PATCH v4 1/7] lib/hexdump.c: Fix selftests
From: Alastair D'Silva @ 2019-06-25 3:17 UTC (permalink / raw)
To: alastair
Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, David Airlie,
Daniel Vetter, Dan Carpenter, Karsten Keil, Jassi Brar,
Tom Lendacky, David S. Miller, Jose Abreu, Kalle Valo,
Stanislaw Gruszka, Benson Leung, Enric Balletbo i Serra,
James E.J. Bottomley, Martin K. Petersen, Greg Kroah-Hartman,
Alexander Viro, Petr Mladek, Sergey Senozhatsky, Steven Rostedt,
David Laight, Andrew Morton, intel-gfx, dri-devel, linux-kernel,
netdev, ath10k, linux-wireless, linux-scsi, linux-fbdev, devel,
linux-fsdevel
In-Reply-To: <20190625031726.12173-1-alastair@au1.ibm.com>
From: Alastair D'Silva <alastair@d-silva.org>
The overflow tests did not account for the situation where no
overflow occurs and len < rowsize.
This patch renames the cryptic variables and accounts for the
above case.
The selftests now pass.
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
---
lib/test_hexdump.c | 48 +++++++++++++++++++++++++++-------------------
1 file changed, 28 insertions(+), 20 deletions(-)
diff --git a/lib/test_hexdump.c b/lib/test_hexdump.c
index 5144899d3c6b..bef97a964582 100644
--- a/lib/test_hexdump.c
+++ b/lib/test_hexdump.c
@@ -163,45 +163,53 @@ static void __init test_hexdump_overflow(size_t buflen, size_t len,
{
char test[TEST_HEXDUMP_BUF_SIZE];
char buf[TEST_HEXDUMP_BUF_SIZE];
- int rs = rowsize, gs = groupsize;
- int ae, he, e, f, r;
- bool a;
+ int ascii_len, hex_len, expected_len, fill_point, ngroups, rc;
+ bool match;
total_tests++;
memset(buf, FILL_CHAR, sizeof(buf));
- r = hex_dump_to_buffer(data_b, len, rs, gs, buf, buflen, ascii);
+ rc = hex_dump_to_buffer(data_b, len, rowsize, groupsize, buf, buflen,
+ ascii);
/*
* Caller must provide the data length multiple of groupsize. The
* calculations below are made with that assumption in mind.
*/
- ae = rs * 2 /* hex */ + rs / gs /* spaces */ + 1 /* space */ + len /* ascii */;
- he = (gs * 2 /* hex */ + 1 /* space */) * len / gs - 1 /* no trailing space */;
+ ngroups = rowsize / groupsize;
+ hex_len = (groupsize * 2 /* hex */ + 1 /* spaces */) * ngroups
+ - 1 /* no trailing space */;
+ ascii_len = hex_len + 2 /* space */ + len /* ascii */;
+
+ if (len < rowsize) {
+ ngroups = len / groupsize;
+ hex_len = (groupsize * 2 /* hex */ + 1 /* spaces */) * ngroups
+ - 1 /* no trailing space */;
+ }
- if (ascii)
- e = ae;
- else
- e = he;
+ expected_len = (ascii) ? ascii_len : hex_len;
- f = min_t(int, e + 1, buflen);
+ fill_point = min_t(int, expected_len + 1, buflen);
if (buflen) {
- test_hexdump_prepare_test(len, rs, gs, test, sizeof(test), ascii);
- test[f - 1] = '\0';
+ test_hexdump_prepare_test(len, rowsize, groupsize, test,
+ sizeof(test), ascii);
+ test[fill_point - 1] = '\0';
}
- memset(test + f, FILL_CHAR, sizeof(test) - f);
+ memset(test + fill_point, FILL_CHAR, sizeof(test) - fill_point);
- a = r == e && !memcmp(test, buf, TEST_HEXDUMP_BUF_SIZE);
+ match = rc == expected_len && !memcmp(test, buf, TEST_HEXDUMP_BUF_SIZE);
buf[sizeof(buf) - 1] = '\0';
- if (!a) {
- pr_err("Len: %zu buflen: %zu strlen: %zu\n",
- len, buflen, strnlen(buf, sizeof(buf)));
- pr_err("Result: %d '%s'\n", r, buf);
- pr_err("Expect: %d '%s'\n", e, test);
+ if (!match) {
+ pr_err("rowsize: %u groupsize: %u ascii: %d Len: %zu buflen: %zu strlen: %zu\n",
+ rowsize, groupsize, ascii, len, buflen,
+ strnlen(buf, sizeof(buf)));
+ pr_err("Result: %d '%-.*s'\n", rc, (int)buflen, buf);
+ pr_err("Expect: %d '%-.*s'\n", expected_len, (int)buflen, test);
failed_tests++;
+
}
}
--
2.21.0
^ permalink raw reply related
* Re: [PATCH] p54usb: Fix race between disconnect and firmware loading
From: Kalle Valo @ 2019-06-25 4:43 UTC (permalink / raw)
To: Alan Stern
Cc: Christian Lamparter, syzbot, davem, andreyknvl, syzkaller-bugs,
Kernel development list, USB list, linux-wireless, netdev
In-Reply-To: <Pine.LNX.4.44L0.1905201042110.1498-100000@iolanthe.rowland.org>
Alan Stern <stern@rowland.harvard.edu> wrote:
> The syzbot fuzzer found a bug in the p54 USB wireless driver. The
> issue involves a race between disconnect and the firmware-loader
> callback routine, and it has several aspects.
>
> One big problem is that when the firmware can't be loaded, the
> callback routine tries to unbind the driver from the USB _device_ (by
> calling device_release_driver) instead of from the USB _interface_ to
> which it is actually bound (by calling usb_driver_release_interface).
>
> The race involves access to the private data structure. The driver's
> disconnect handler waits for a completion that is signalled by the
> firmware-loader callback routine. As soon as the completion is
> signalled, you have to assume that the private data structure may have
> been deallocated by the disconnect handler -- even if the firmware was
> loaded without errors. However, the callback routine does access the
> private data several times after that point.
>
> Another problem is that, in order to ensure that the USB device
> structure hasn't been freed when the callback routine runs, the driver
> takes a reference to it. This isn't good enough any more, because now
> that the callback routine calls usb_driver_release_interface, it has
> to ensure that the interface structure hasn't been freed.
>
> Finally, the driver takes an unnecessary reference to the USB device
> structure in the probe function and drops the reference in the
> disconnect handler. This extra reference doesn't accomplish anything,
> because the USB core already guarantees that a device structure won't
> be deallocated while a driver is still bound to any of its interfaces.
>
> To fix these problems, this patch makes the following changes:
>
> Call usb_driver_release_interface() rather than
> device_release_driver().
>
> Don't signal the completion until after the important
> information has been copied out of the private data structure,
> and don't refer to the private data at all thereafter.
>
> Lock udev (the interface's parent) before unbinding the driver
> instead of locking udev->parent.
>
> During the firmware loading process, take a reference to the
> USB interface instead of the USB device.
>
> Don't take an unnecessary reference to the device during probe
> (and then don't drop it during disconnect).
>
> Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
> Reported-and-tested-by: syzbot+200d4bb11b23d929335f@syzkaller.appspotmail.com
> CC: <stable@vger.kernel.org>
> Acked-by: Christian Lamparter <chunkeey@gmail.com>
Patch applied to wireless-drivers-next.git, thanks.
6e41e2257f10 p54usb: Fix race between disconnect and firmware loading
--
https://patchwork.kernel.org/patch/10951527/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply
* Re: [PATCH 1/2] mwifiex: dispatch/rotate from reorder table atomically
From: Kalle Valo @ 2019-06-25 4:45 UTC (permalink / raw)
To: Brian Norris
Cc: Ganapathi Bhat, Nishant Sarmukadam, Amitkumar Karwar, Xinming Hu,
linux-kernel, linux-wireless, Doug Anderson, Brian Norris
In-Reply-To: <20190604205323.200361-2-briannorris@chromium.org>
Brian Norris <briannorris@chromium.org> wrote:
> mwifiex_11n_scan_and_dispatch() and
> mwifiex_11n_dispatch_pkt_until_start_win() share similar patterns, where
> they perform a few different actions on the same table, using the same
> lock, but non-atomically. There have been other attempts to clean up
> this sort of behavior, but they have had problems (incomplete;
> introducing new deadlocks).
>
> We can improve these functions' atomicity by queueing up our RX packets
> in a list, to dispatch at the end of the function. This avoids problems
> of another operation modifying the table in between our dispatch and
> rotation operations.
>
> This was inspired by investigations around this:
>
> http://lkml.kernel.org/linux-wireless/20181130175957.167031-1-briannorris@chromium.org
> Subject: [4.20 PATCH] Revert "mwifiex: restructure rx_reorder_tbl_lock usage"
>
> While the original (now-reverted) patch had good intentions in
> restructuring some of the locking patterns in this driver, it missed an
> important detail: we cannot defer to softirq contexts while already in
> an atomic context. We can help avoid this sort of problem by separating
> the two steps of:
> (1) iterating / clearing the mwifiex reordering table
> (2) dispatching received packets to upper layers
>
> This makes it much harder to make lock recursion mistakes, as these
> two steps no longer need to hold the same locks.
>
> Testing: I've played with a variety of stress tests, including download
> stress tests on the same APs which caught regressions with commit
> 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've
> primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO
> a quick spin as well.
>
> Signed-off-by: Brian Norris <briannorris@chromium.org>
> Acked-by: Ganapathi Bhat <gbhat@marvell.com>
New warning:
drivers/net/wireless/marvell/mwifiex/wmm.c: In function 'mwifiex_wmm_process_tx':
drivers/net/wireless/marvell/mwifiex/wmm.c:1438:4: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
mwifiex_11n_aggregate_pkt(priv, ptr, ptr_index, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/marvell/mwifiex/wmm.c:1406:16: note: 'flags' was declared here
unsigned long flags;
^~~~~
2 patches set to Changes Requested.
10976083 [1/2] mwifiex: dispatch/rotate from reorder table atomically
10976087 [2/2] mwifiex: don't disable hardirqs; just softirqs
--
https://patchwork.kernel.org/patch/10976083/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply
* Re: [PATCH] mwifiex: drop 'set_consistent_dma_mask' log message
From: Kalle Valo @ 2019-06-25 4:46 UTC (permalink / raw)
To: Brian Norris
Cc: Ganapathi Bhat, Nishant Sarmukadam, Amitkumar Karwar, Xinming Hu,
linux-kernel, linux-wireless, Brian Norris
In-Reply-To: <20190604172858.107084-1-briannorris@chromium.org>
Brian Norris <briannorris@chromium.org> wrote:
> This message is pointless.
>
> While we're at it, include the error code in the error message, which is
> not pointless.
>
> Signed-off-by: Brian Norris <briannorris@chromium.org>
Patch applied to wireless-drivers-next.git, thanks.
f7369179ad32 mwifiex: drop 'set_consistent_dma_mask' log message
--
https://patchwork.kernel.org/patch/10975823/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply
* Re: [PATCH] mwifiex: print PCI mmap with %pK
From: Kalle Valo @ 2019-06-25 4:46 UTC (permalink / raw)
To: Brian Norris
Cc: Ganapathi Bhat, Nishant Sarmukadam, Amitkumar Karwar, Xinming Hu,
linux-kernel, linux-wireless, Brian Norris
In-Reply-To: <20190604173144.109142-1-briannorris@chromium.org>
Brian Norris <briannorris@chromium.org> wrote:
> Unadorned '%p' has restrictive policies these days, such that it usually
> just prints garbage at early boot (see
> Documentation/core-api/printk-formats.rst, "kernel will print
> ``(ptrval)`` until it gathers enough entropy"). Annotating with %pK
> (for "kernel pointer") allows the kptr_restrict sysctl to control
> printing policy better.
>
> We might just as well drop this message entirely, but this fix was easy
> enough for now.
>
> Signed-off-by: Brian Norris <briannorris@chromium.org>
Patch applied to wireless-drivers-next.git, thanks.
2fc0aa454473 mwifiex: print PCI mmap with %pK
--
https://patchwork.kernel.org/patch/10975827/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply
* Re: [PATCH 09/11] mwifiex: update set_mac_address logic
From: Kalle Valo @ 2019-06-25 4:47 UTC (permalink / raw)
To: Ganapathi Bhat
Cc: linux-wireless, Cathy Luo, Zhiyuan Yang, James Cao, Rakesh Parmar,
Sharvari Harisangam, Ganapathi Bhat
In-Reply-To: <1560352331-16898-1-git-send-email-gbhat@marvell.com>
Ganapathi Bhat <gbhat@marvell.com> wrote:
> From: Sharvari Harisangam <sharvari@marvell.com>
>
> In set_mac_address, driver check for interfaces with same bss_type
> For first STA entry, this would return 3 interfaces since all priv's have
> bss_type as 0 due to kzalloc. Thus mac address gets changed for STA
> unexpected. This patch adds check for first STA and avoids mac address
> change. This patch also adds mac_address change for p2p based on bss_num
> type.
>
> Signed-off-by: Sharvari Harisangam <sharvari@marvell.com>
> Signed-off-by: Ganapathi Bhat <gbhat@marvell.com>
Patch applied to wireless-drivers-next.git, thanks.
7afb94da3cd8 mwifiex: update set_mac_address logic
--
https://patchwork.kernel.org/patch/10990209/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply
* Re: [PATCH 2/2] mwifiex: use 'total_ie_len' in mwifiex_update_bss_desc_with_ie()
From: Kalle Valo @ 2019-06-25 4:51 UTC (permalink / raw)
To: Brian Norris
Cc: Ganapathi Bhat, Nishant Sarmukadam, Amitkumar Karwar, Xinming Hu,
linux-kernel, linux-wireless, Takashi Iwai, Guenter Roeck,
Brian Norris
In-Reply-To: <20190615001321.241808-2-briannorris@chromium.org>
Brian Norris <briannorris@chromium.org> wrote:
> This is clearer than copy/pasting the magic number '+ 2' around, and it
> even saves the need for one existing comment.
>
> Cc: Takashi Iwai <tiwai@suse.de>
> Signed-off-by: Brian Norris <briannorris@chromium.org>
> Reviewed-by: Takashi Iwai <tiwai@suse.de>
This depends on:
63d7ef36103d mwifiex: Don't abort on small, spec-compliant vendor IEs
Patch set to Awaiting Upstream.
--
https://patchwork.kernel.org/patch/10996893/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply
* Re: [PATCH] mwifiex: ignore processing invalid command response
From: Kalle Valo @ 2019-06-25 4:53 UTC (permalink / raw)
To: Ganapathi Bhat
Cc: linux-wireless, Brian Norris, Cathy Luo, Zhiyuan Yang, James Cao,
Rakesh Parmar, Swati Kushwaha, Ganapathi Bhat
In-Reply-To: <1561126484-7735-1-git-send-email-gbhat@marvell.com>
Ganapathi Bhat <gbhat@marvell.com> wrote:
> From: Swati Kushwaha <swatiuma@marvell.com>
>
> Firmware can send invalid command response, the processing of
> which can attempt to modify unexpected context and cause issues.
> To fix this, driver should check that the command response ID is
> same as the one it downloaded, and ignore processing of invalid
> response.
>
> Signed-off-by: Swati Kushwaha <swatiuma@marvell.com>
> Signed-off-by: Ganapathi Bhat <gbhat@marvell.com>
Patch applied to wireless-drivers-next.git, thanks.
74f202aaae0a mwifiex: ignore processing invalid command response
--
https://patchwork.kernel.org/patch/11010163/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply
* Re: [PATCH] rtlwifi: rtl8192cu: fix error handle when usb probe failed
From: Kalle Valo @ 2019-06-25 4:54 UTC (permalink / raw)
To: pkshih; +Cc: linux-wireless, andreyknvl, Larry.Finger
In-Reply-To: <20190529065730.25951-1-pkshih@realtek.com>
<pkshih@realtek.com> wrote:
> From: Ping-Ke Shih <pkshih@realtek.com>
>
> rtl_usb_probe() must do error handle rtl_deinit_core() only if
> rtl_init_core() is done, otherwise goto error_out2.
>
> | usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
> | rtl_usb: reg 0xf0, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x0
> | rtl8192cu: Chip version 0x10
> | rtl_usb: reg 0xa, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x0
> | rtl_usb: Too few input end points found
> | INFO: trying to register non-static key.
> | the code is fine but needs lockdep annotation.
> | turning off the locking correctness validator.
> | CPU: 0 PID: 12 Comm: kworker/0:1 Not tainted 5.1.0-rc4-319354-g9a33b36 #3
> | Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
> | Google 01/01/2011
> | Workqueue: usb_hub_wq hub_event
> | Call Trace:
> | __dump_stack lib/dump_stack.c:77 [inline]
> | dump_stack+0xe8/0x16e lib/dump_stack.c:113
> | assign_lock_key kernel/locking/lockdep.c:786 [inline]
> | register_lock_class+0x11b8/0x1250 kernel/locking/lockdep.c:1095
> | __lock_acquire+0xfb/0x37c0 kernel/locking/lockdep.c:3582
> | lock_acquire+0x10d/0x2f0 kernel/locking/lockdep.c:4211
> | __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
> | _raw_spin_lock_irqsave+0x44/0x60 kernel/locking/spinlock.c:152
> | rtl_c2hcmd_launcher+0xd1/0x390
> | drivers/net/wireless/realtek/rtlwifi/base.c:2344
> | rtl_deinit_core+0x25/0x2d0 drivers/net/wireless/realtek/rtlwifi/base.c:574
> | rtl_usb_probe.cold+0x861/0xa70
> | drivers/net/wireless/realtek/rtlwifi/usb.c:1093
> | usb_probe_interface+0x31d/0x820 drivers/usb/core/driver.c:361
> | really_probe+0x2da/0xb10 drivers/base/dd.c:509
> | driver_probe_device+0x21d/0x350 drivers/base/dd.c:671
> | __device_attach_driver+0x1d8/0x290 drivers/base/dd.c:778
> | bus_for_each_drv+0x163/0x1e0 drivers/base/bus.c:454
> | __device_attach+0x223/0x3a0 drivers/base/dd.c:844
> | bus_probe_device+0x1f1/0x2a0 drivers/base/bus.c:514
> | device_add+0xad2/0x16e0 drivers/base/core.c:2106
> | usb_set_configuration+0xdf7/0x1740 drivers/usb/core/message.c:2021
> | generic_probe+0xa2/0xda drivers/usb/core/generic.c:210
> | usb_probe_device+0xc0/0x150 drivers/usb/core/driver.c:266
> | really_probe+0x2da/0xb10 drivers/base/dd.c:509
> | driver_probe_device+0x21d/0x350 drivers/base/dd.c:671
> | __device_attach_driver+0x1d8/0x290 drivers/base/dd.c:778
> | bus_for_each_drv+0x163/0x1e0 drivers/base/bus.c:454
> | __device_attach+0x223/0x3a0 drivers/base/dd.c:844
> | bus_probe_device+0x1f1/0x2a0 drivers/base/bus.c:514
> | device_add+0xad2/0x16e0 drivers/base/core.c:2106
> | usb_new_device.cold+0x537/0xccf drivers/usb/core/hub.c:2534
> | hub_port_connect drivers/usb/core/hub.c:5089 [inline]
> | hub_port_connect_change drivers/usb/core/hub.c:5204 [inline]
> | port_event drivers/usb/core/hub.c:5350 [inline]
> | hub_event+0x138e/0x3b00 drivers/usb/core/hub.c:5432
> | process_one_work+0x90f/0x1580 kernel/workqueue.c:2269
> | worker_thread+0x9b/0xe20 kernel/workqueue.c:2415
> | kthread+0x313/0x420 kernel/kthread.c:253
> | ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:352
>
> Reported-by: syzbot+1fcc5ef45175fc774231@syzkaller.appspotmail.com
> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
> Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Patch applied to wireless-drivers-next.git, thanks.
6c0ed66f1a5b rtlwifi: rtl8192cu: fix error handle when usb probe failed
--
https://patchwork.kernel.org/patch/10966133/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply
* Re: [PATCH] rtlwifi: remove redundant assignment to variable badworden
From: Kalle Valo @ 2019-06-25 4:59 UTC (permalink / raw)
To: Colin King
Cc: Ping-Ke Shih, David S . Miller, linux-wireless, netdev,
kernel-janitors, linux-kernel
In-Reply-To: <20190530184044.8479-1-colin.king@canonical.com>
Colin King <colin.king@canonical.com> wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> The variable badworden is assigned with a value that is never read and
> it is re-assigned a new value immediately afterwards. The assignment is
> redundant and can be removed.
>
> Addresses-Coverity: ("Unused value")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Patch applied to wireless-drivers-next.git, thanks.
5315f9d40191 rtlwifi: remove redundant assignment to variable badworden
--
https://patchwork.kernel.org/patch/10969175/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply
* Re: [PATCH] rtlwifi: remove redundant assignment to variable k
From: Kalle Valo @ 2019-06-25 5:00 UTC (permalink / raw)
To: Colin King
Cc: Ping-Ke Shih, David S . Miller, linux-wireless, netdev,
kernel-janitors, linux-kernel
In-Reply-To: <20190531141412.18632-1-colin.king@canonical.com>
Colin King <colin.king@canonical.com> wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> The assignment of 0 to variable k is never read once we break out of
> the loop, so the assignment is redundant and can be removed.
>
> Addresses-Coverity: ("Unused value")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
Patch applied to wireless-drivers-next.git, thanks.
f0822dfc5887 rtlwifi: remove redundant assignment to variable k
--
https://patchwork.kernel.org/patch/10970261/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply
* Re: [PATCH v2 1/2] mt7601u: do not schedule rx_tasklet when the device has been disconnected
From: Kalle Valo @ 2019-06-25 5:01 UTC (permalink / raw)
To: Lorenzo Bianconi; +Cc: kubakici, linux-wireless, lorenzo.bianconi
In-Reply-To: <bfb533c51126ee82843e3d525e55ec5b08adb860.1559906499.git.lorenzo@kernel.org>
Lorenzo Bianconi <lorenzo@kernel.org> wrote:
> Do not schedule rx_tasklet when the usb dongle is disconnected.
> Moreover do not grub rx_lock in mt7601u_kill_rx since usb_poison_urb
> can run concurrently with urb completion and we can unlink urbs from rx
> ring in any order.
> This patch fixes the common kernel warning reported when
> the device is removed.
>
> [ 24.921354] usb 3-14: USB disconnect, device number 7
> [ 24.921593] ------------[ cut here ]------------
> [ 24.921594] RX urb mismatch
> [ 24.921675] WARNING: CPU: 4 PID: 163 at drivers/net/wireless/mediatek/mt7601u/dma.c:200 mt7601u_complete_rx+0xcb/0xd0 [mt7601u]
> [ 24.921769] CPU: 4 PID: 163 Comm: kworker/4:2 Tainted: G OE 4.19.31-041931-generic #201903231635
> [ 24.921770] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./Z97 Extreme4, BIOS P1.30 05/23/2014
> [ 24.921782] Workqueue: usb_hub_wq hub_event
> [ 24.921797] RIP: 0010:mt7601u_complete_rx+0xcb/0xd0 [mt7601u]
> [ 24.921800] RSP: 0018:ffff9bd9cfd03d08 EFLAGS: 00010086
> [ 24.921802] RAX: 0000000000000000 RBX: ffff9bd9bf043540 RCX: 0000000000000006
> [ 24.921803] RDX: 0000000000000007 RSI: 0000000000000096 RDI: ffff9bd9cfd16420
> [ 24.921804] RBP: ffff9bd9cfd03d28 R08: 0000000000000002 R09: 00000000000003a8
> [ 24.921805] R10: 0000002f485fca34 R11: 0000000000000000 R12: ffff9bd9bf043c1c
> [ 24.921806] R13: ffff9bd9c62fa3c0 R14: 0000000000000082 R15: 0000000000000000
> [ 24.921807] FS: 0000000000000000(0000) GS:ffff9bd9cfd00000(0000) knlGS:0000000000000000
> [ 24.921808] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 24.921808] CR2: 00007fb2648b0000 CR3: 0000000142c0a004 CR4: 00000000001606e0
> [ 24.921809] Call Trace:
> [ 24.921812] <IRQ>
> [ 24.921819] __usb_hcd_giveback_urb+0x8b/0x140
> [ 24.921821] usb_hcd_giveback_urb+0xca/0xe0
> [ 24.921828] xhci_giveback_urb_in_irq.isra.42+0x82/0xf0
> [ 24.921834] handle_cmd_completion+0xe02/0x10d0
> [ 24.921837] xhci_irq+0x274/0x4a0
> [ 24.921838] xhci_msi_irq+0x11/0x20
> [ 24.921851] __handle_irq_event_percpu+0x44/0x190
> [ 24.921856] handle_irq_event_percpu+0x32/0x80
> [ 24.921861] handle_irq_event+0x3b/0x5a
> [ 24.921867] handle_edge_irq+0x80/0x190
> [ 24.921874] handle_irq+0x20/0x30
> [ 24.921889] do_IRQ+0x4e/0xe0
> [ 24.921891] common_interrupt+0xf/0xf
> [ 24.921892] </IRQ>
> [ 24.921900] RIP: 0010:usb_hcd_flush_endpoint+0x78/0x180
> [ 24.921354] usb 3-14: USB disconnect, device number 7
>
> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
2 patches applied to wireless-drivers-next.git, thanks.
4079e8ccabc3 mt7601u: do not schedule rx_tasklet when the device has been disconnected
23377c200b2e mt7601u: fix possible memory leak when the device is disconnected
--
https://patchwork.kernel.org/patch/10981545/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox