From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>,
P J P <ppandit@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>,
Markus Armbruster <armbru@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>, Gaoning Pan <pgn@zju.edu.cn>,
QEMU Developers <qemu-devel@nongnu.org>,
Prasad J Pandit <pjp@fedoraproject.org>
Subject: Re: [PATCH v2] net: remove an assert call in eth_get_gso_type
Date: Wed, 21 Oct 2020 08:29:17 +0200 [thread overview]
Message-ID: <7e971323-0b9a-2c32-2e09-705249f3f2de@redhat.com> (raw)
In-Reply-To: <CAFEAcA_Bg12kvGAjg127_XpfeJdj9er-e2VEF9YnkNyVUDQ9OQ@mail.gmail.com>
Hi Peter, Stefan,
On 10/20/20 5:05 PM, Peter Maydell wrote:
> On Tue, 20 Oct 2020 at 15:05, P J P <ppandit@redhat.com> wrote:
>>
>> From: Prasad J Pandit <pjp@fedoraproject.org>
>>
>> eth_get_gso_type() routine returns segmentation offload type based on
>> L3 protocol type. It calls g_assert_not_reached if L3 protocol is
>> unknown, making the following return statement unreachable. Remove the
>> g_assert call, as it maybe triggered by a guest user.
>>
>> Reported-by: Gaoning Pan <pgn@zju.edu.cn>
>> Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
>> ---
>> net/eth.c | 5 ++---
>> 1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> Update v2: add qemu_log()
>> -> https://lists.nongnu.org/archive/html/qemu-devel/2020-10/msg05576.html
>>
>> diff --git a/net/eth.c b/net/eth.c
>> index 0c1d413ee2..fd76e349eb 100644
>> --- a/net/eth.c
>> +++ b/net/eth.c
>> @@ -16,6 +16,7 @@
>> */
>>
>> #include "qemu/osdep.h"
>> +#include "qemu/log.h"
>> #include "net/eth.h"
>> #include "net/checksum.h"
>> #include "net/tap.h"
>> @@ -71,9 +72,7 @@ eth_get_gso_type(uint16_t l3_proto, uint8_t *l3_hdr, uint8_t l4proto)
>> return VIRTIO_NET_HDR_GSO_TCPV6 | ecn_state;
>> }
>> }
>> -
>> - /* Unsupported offload */
>> - g_assert_not_reached();
>> + qemu_log("Probably not GSO frame, unknown L3 protocol: %hd\n", l3_proto);
>
> It's generally not a good idea to use qemu_log() without a
> particular mask, as then it will get printed if the user turns
> on any logging but not otherwise.
>
> If the guest must have done something wrong to get us here:
> use LOG_GUEST_ERROR
> If this is some functionality we ought to implement but have
> not, and so something will now be broken:
> use LOG_UNIMP
> If the fallback for what happens in this situation is fine,
> and maybe it's just suboptimal performance, or an unusual
> case that might be interesting to know about but which
> we're handling within the spec:
> consider a tracepoint instead
During the last 2 years I've been sending patches touching
various QEMU areas, but I never used qemu_log(). I always
used:
- qemu_log_mask(LOG_GUEST_ERROR/LOG_UNIMP, ...
- error_report/warn_report from "qemu/error-report.h"
- error_setg* from "qapi/error.h"
- trace events
$ git grep qemu_log\( | wc -l
661
This function seems used mostly by very old code.
It is declared in "qemu/log-for-trace.h" which looks like
an internal API.
Should we add a checkpatch rule to refuse new uses of qemu_log()?
Regards,
Phil.
next prev parent reply other threads:[~2020-10-21 6:30 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-20 14:00 [PATCH v2] net: remove an assert call in eth_get_gso_type P J P
2020-10-20 14:46 ` Philippe Mathieu-Daudé
2020-10-20 15:05 ` Peter Maydell
2020-10-21 6:12 ` P J P
2020-10-21 6:29 ` Philippe Mathieu-Daudé [this message]
2020-10-21 10:13 ` P J P
2020-10-21 10:28 ` Peter Maydell
2020-10-22 16:13 ` Alexander Bulekov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7e971323-0b9a-2c32-2e09-705249f3f2de@redhat.com \
--to=philmd@redhat.com \
--cc=armbru@redhat.com \
--cc=jasowang@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=pgn@zju.edu.cn \
--cc=pjp@fedoraproject.org \
--cc=ppandit@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).