On Wed, Mar 30, 2022 at 10:44:50PM +0800, chenchacha wrote:
> > @@ -2298,6 +2309,14 @@ static int i_ipmi_request(struct ipmi_user *user,
> > struct ipmi_recv_msg *recv_msg;
> > int rv = 0;
> > + if (user) {
> > + if (atomic_add_return(1, &user->nr_msgs) > max_msgs_per_user) {
> > + atomic_dec(&user->nr_msgs);
> > + rv = -EBUSY;
> > + goto out;
> > + }
> > + }
> > +
> > @@ -2369,6 +2388,8 @@ static int i_ipmi_request(struct ipmi_user *user,
> > rcu_read_unlock();
> > out:
> > + if (rv && user)
> > + atomic_dec(&user->nr_msgs);
> > return rv;
> > }
>
> If the number of msg is greater than the limit, the nr_msgs will be decrease
> twice.
>
> Should it be returned directory?
Oh wait, yeah, I screwed that up. I added the first decrement later,
after I "noticed" it was missing. I should add a comment there.
Thanks.
-corey
>
> --
> Chen Guanqiao
_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer