[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20180511.155316.1868857547116099353.davem@davemloft.net>
Date: Fri, 11 May 2018 15:53:16 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: mrv@...atatu.com
Cc: netdev@...r.kernel.org, kernel@...atatu.com, jhs@...atatu.com,
xiyou.wangcong@...il.com, jiri@...nulli.us,
alexander.duyck@...il.com
Subject: Re: [PATCH v2 net 1/1] net sched actions: fix invalid pointer
dereferencing if skbedit flags missing
From: Roman Mashak <mrv@...atatu.com>
Date: Fri, 11 May 2018 10:55:09 -0400
> When application fails to pass flags in netlink TLV for a new skbedit action,
> the kernel results in the following oops:
...
> The caller calls action's ->init() and passes pointer to "struct tc_action *a",
> which later may be initialized to point at the existing action, otherwise
> "struct tc_action *a" is still invalid, and therefore dereferencing it is an
> error as happens in tcf_idr_release, where refcnt is decremented.
>
> So in case of missing flags tcf_idr_release must be called only for
> existing actions.
>
> v2:
> - prepare patch for net tree
>
> Signed-off-by: Roman Mashak <mrv@...atatu.com>
Applied and queued up for -stable.
Powered by blists - more mailing lists